Справочная информация:не найдена для архитектуры x86_64, macOS Sierra
Да, я знаю, что это очень легко, используя Brew! Уже тест и работает!
Сейчас я экспериментирую с MacOS Sierra и установка HTTPd-2.4.25.tar.gz позволяет OpenSSL.
У меня нет опыта работы с Xcode!
$ openssl version
OpenSSL 1.1.0c 10 Nov 2016
$
$ which openssl
/usr/bin/openssl
$
$ cd /etc/ServerWeb/httpd
$ sudo ./configure --prefix=/usr/local/ServerWeb/httpd --enable-deflate --enable-so --enable-expires --enable-headers --enable-rewrite --with-apr=/etc/ServerWeb/httpd/srclib/apr --with-apr-util=/etc/ServerWeb/httpd/srclib/apr-util -with-pcre=/etc/pcre --with-z=/usr/include/zlib --enable-ssl --with-ssl=/etc/openssl
Когда я выполняю:
$ sudo make
Я получаю эту ошибку!
/etc/ServerWeb/httpd/srclib/apr/build-1/libtool --silent --mode=compile gcc -I/etc/openssl/include -g -O2 -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -DDARWIN_10 \
-I. -I/private/etc/httpd-2.4.25/os/unix -I/private/etc/httpd-2.4.25/include -I/etc/ServerWeb/httpd/srclib/apr/include/apr-1 -I/private/etc/apr-util-1.5.4/include -I/usr/local/Cellar/pcre/8.39/include -I/private/etc/httpd-2.4.25/modules/aaa -I/private/etc/httpd-2.4.25/modules/cache -I/private/etc/httpd-2.4.25/modules/core -I/private/etc/httpd-2.4.25/modules/database -I/private/etc/httpd-2.4.25/modules/filters -I/private/etc/httpd-2.4.25/modules/ldap -I/private/etc/httpd-2.4.25/modules/loggers -I/private/etc/httpd-2.4.25/modules/lua -I/private/etc/httpd-2.4.25/modules/proxy -I/private/etc/httpd-2.4.25/modules/session -I/private/etc/httpd-2.4.25/modules/ssl -I/private/etc/httpd-2.4.25/modules/test -I/private/etc/httpd-2.4.25/server -I/private/etc/httpd-2.4.25/modules/arch/unix -I/private/etc/httpd-2.4.25/modules/dav/main -I/private/etc/httpd-2.4.25/modules/generators -I/private/etc/httpd-2.4.25/modules/mappers -prefer-non-pic -static -c ab.c && touch ab.lo
ab.c:2398:28: warning: implicit declaration of function 'SSLv2_client_method' is invalid in C99 [-Wimplicit-function-declaration]
meth = SSLv2_client_method();
^
ab.c:2398:26: warning: incompatible integer to pointer conversion assigning to 'const SSL_METHOD *' (aka 'const struct ssl_method_st *') from 'int' [-Wint-conversion]
meth = SSLv2_client_method();
^~~~~~~~~~~~~~~~~~~~~~
ab.c:2412:28: warning: 'TLSv1_1_client_method' is deprecated [-Wdeprecated-declarations]
meth = TLSv1_1_client_method();
^
/etc/openssl/include/openssl/ssl.h:1604:45: note: 'TLSv1_1_client_method' has been explicitly marked deprecated here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void)) /* TLSv1.1 */
^
ab.c:2414:28: warning: 'TLSv1_2_client_method' is deprecated [-Wdeprecated-declarations]
meth = TLSv1_2_client_method();
^
/etc/openssl/include/openssl/ssl.h:1610:45: note: 'TLSv1_2_client_method' has been explicitly marked deprecated here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void)) /* TLSv1.2 */
^
ab.c:2417:28: warning: 'TLSv1_client_method' is deprecated [-Wdeprecated-declarations]
meth = TLSv1_client_method();
^
/etc/openssl/include/openssl/ssl.h:1598:45: note: 'TLSv1_client_method' has been explicitly marked deprecated here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void)) /* TLSv1.0 */
^
ab.c:2468:5: warning: implicit declaration of function 'CRYPTO_malloc_init' is invalid in C99 [-Wimplicit-function-declaration]
CRYPTO_malloc_init();
^
6 warnings generated.
/etc/ServerWeb/httpd/srclib/apr/build-1/libtool --silent --mode=link gcc -g -O2 -L/etc/openssl/lib -lssl -lcrypto -lpthread \
-o ab ab.lo /private/etc/apr-util-1.5.4/libaprutil-1.la -lexpat -liconv /etc/ServerWeb/httpd/srclib/apr/lib/libapr-1.la -lpthread
Undefined symbols for architecture x86_64:
"_CRYPTO_malloc_init", referenced from:
_main in ab.o
"_SSLv2_client_method", referenced from:
_main in ab.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [ab] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
jb-MacBook:httpd jb$
В соответствии с этим:
Error when compiling some simple c++ code
ld: symbols not found for architecture x86_64, clang: linker command failed
ld: symbol(s) not found for architecture x86_64 (libusb)
Я уже unterstood ... Мне нужно изменить gcc
по c++
или clang
по clang++
или аналогичный.
Но я не использую xcode
приложение, только терминал:
sudo ./configure ...
sudo make
sudo make install
Где необходимо изменить его?
Как?
Возможно, мне нужно отредактировать какой-либо файл, Какой файл (ы)?
Как выяснить?
Спасибо!