Сборка Curl из исходного кода на AIX сталкивается с проблемой

Я столкнулся с ошибкой ниже при попытке собрать libcurl curl-7.61.0 на платформе AIX.

uname -a
AIX test-aix6 1 6 00C95C354C00

Сначала я создал openssl openssl-1.1.0h, используя следующие шаги.

./config --prefix=/home/openssl/openssl-1.1.0h
make 
make install

Это строится нормально. Затем я попытался собрать libcurl, как показано ниже.

./configure --prefix=/home/curl-7.61.0 --with-ssl=/home/openssl/openssl-1.1.0h/

Но когда я запускаю команду ниже из каталога /home/curl-7.61.0

make -bnoquiet

тогда я получаю ошибки ниже

xlC_r -DHAVE_CONFIG_H   -I../include -I../lib -I../src -I../lib -I../src   -qthreaded -qnoansialias -qhalt=e -O2 -I/home/openssl/openssl-1.1.0h//include -I/home/openssl/openssl-1.1.0h//include/openssl   -c -o ../lib/curl-curl_ctype.o `test -f '../lib/curl_ctype.c' || echo './'`../lib/curl_ctype.c
make[2]: *** No rule to make target `../lib/libcurl.la', needed by `curl'.  Stop.
make[2]: Leaving directory `/home/curl-7.61.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/curl-7.61.0/src'
make: *** [all-recursive] Error 1

Я даже пытался добавить каталог openssl lib в LD_LIBRARY_PATH, а также в LIBPATH, но все равно безуспешно.

Любые указатели, где я ошибаюсь?


person Community    schedule 18.08.2018    source источник
comment
Перед этим могут быть другие сообщения об ошибках. Попробуйте make -C lib libcurl.la   -  person Lorinczy Zsigmond    schedule 18.08.2018
comment
Если я выполню эту команду, она создаст libcurl.la OK. Но опять же, если я выполню команду make, я столкнусь с той же ошибкой, что и выше.   -  person    schedule 18.08.2018
comment
Обычно это помогает сузить его, если вы вызываете make V=1 и проверяете всю командную строку. Что-то у вас там странно не так...   -  person Daniel Stenberg    schedule 18.08.2018
comment
Должны быть другие сообщения, которые вы не процитировали: простая компиляция не требует никаких файлов .la   -  person Lorinczy Zsigmond    schedule 18.08.2018
comment
echo CC ../lib/curl-curl_ctype.o;source='../lib/curl_ctype.c' object='../lib/curl-curl_ctype.o' libtool=no \ DEPDIR=.deps depmode=xlc /bin/sh ../depcomp \ cc -qlanglvl=extc89 -DHAVE_CONFIG_H -I../include -I../lib -I../src -I../lib -I../src -qthreaded -qnoansialias -qhalt=e -O2 -pthread -c -o ../lib/curl-curl_ctype.o test -f '../lib/curl_ctype.c' || echo './'../lib/curl_ctype.c make[2]: *** Нет правила для создания цели ../lib/libcurl.la', needed by curl'. Останавливаться. make[2]: Выход из каталога `/home/curl-7.61.0/src' make[1]: *** [all-recursive] Ошибка 1   -  person    schedule 18.08.2018
comment
@Lorinczy Zsigmond - я просмотрел весь журнал компиляции, и это единственное появление сообщения об ошибке (как указано выше). Еще 1 наблюдение - поиск libcurl.la в каталоге curl не находит такого файла. Однако выдача make -C lib libcurl.la проходит успешно   -  person    schedule 18.08.2018
comment
Затем просто отредактируйте исходный вопрос и процитируйте полный вывод этих команд: 1. make -C lib V=1 libcurl.la 2. make -C src V=1 curl   -  person Lorinczy Zsigmond    schedule 19.08.2018
comment
make -C lib V=1 libcurl.la теперь приводит к следующим сообщениям: ld: 0711-317 ОШИБКА: неопределенный символ: .EVP_MD_CTX_new ld: 0711-317 ОШИБКА: неопределенный символ: .EVP_MD_CTX_free ld: 0711-317 ОШИБКА: неопределенный символ: . OpenSSL_version_num ld: 0711-317 ОШИБКА: неопределенный символ: .X509_get0_notBefore ld: 0711-317 ОШИБКА: неопределенный символ: .X509_get0_notAfter ld: 0711-317 ОШИБКА: неопределенный символ: .X509_get_X509_PUBKEY ld: 0711-317 Undefined symbol:OP_ENSsk. : 0711-317 ОШИБКА: неопределенный символ: .OPENSSL_sk_value ld: 0711-317 ОШИБКА: неопределенный символ: .X509_get_version   -  person    schedule 19.08.2018
comment
undef symbols list ld: 0711-317 ERROR: Undefined symbol: .EVP_MD_CTX_new .EVP_MD_CTX_free .OpenSSL_version_num .X509_get0_notBefore .X509_get0_notAfter .X509_get_X509_PUBKEY .OPENSSL_sk_num .OPENSSL_sk_value .X509_get_version .X509_get0_extensions .EVP_PKEY_id .EVP_PKEY_get0_DSA .DSA_get0_pqg .DSA_get0_key .EVP_PKEY_get0_DH .DH_get0_pqg .DH_get0_key .EVP_PKEY_get0_RSA . RSA_get0_key .X509_get0_signature .SSL_get0_alpn_selected .TLS_client_method .SSL_CTX_set_options .SSL_CTX_set_alpn_protos .SSL_CTX_set_next_proto_select_cb .ASN1_STRING_get0_data .OPENSSL_sk_pop_free   -  person    schedule 19.08.2018
comment
@Lorinczy Zsigmond - я добавил список неопределенных символов в свои предыдущие 2 комментария, которые видны при использовании команды make -C lib V=1 libcurl.la   -  person    schedule 19.08.2018
comment
Теперь, пожалуйста, отредактируйте исходный вопрос и укажите полный вывод [или хотя бы первые 20 строк] этой команды: make -C lib V=1 libcurl.la   -  person Lorinczy Zsigmond    schedule 19.08.2018


Ответы (1)


Вам нужен curl, связанный с точной версией SSL? Если вам просто нужен завиток, я бы не рекомендовал создавать его самостоятельно. Создавать что-то на AIX всегда болезненно. Вы можете легко установить curl с RPM с www.perzl.org (не забудьте установить все зависимости)

person Ivan G    schedule 16.10.2018