Неопределенное построение символов Модуль WWW :: Curl :: Easy Perl в AIX 5.3 - PullRequest
0 голосов
/ 07 июля 2010

Я пытаюсь установить модуль WWW :: Curl :: Easy Perl в AIX 5.3.У меня установлен curl (из источника) в / usr / local.При попытке построить модуль Perl, я получаю следующее:

$ perl Makefile.PL
Found curl.h in /usr/local/include/curl/curl.h
Building curlopt-constants.c for your libcurl version
Building Easy.pm constants for your libcurl version
Note (probably harmless): No library found for -lcurl
Writing Makefile for WWW::Curl

Я думаю, что ошибка "вероятно безвредна" не так уж безопасна.

$ make
Skip blib/lib/WWW/Curl/Form.pm (unchanged)
Skip blib/lib/WWW/Curl.pm (unchanged)
Skip blib/lib/WWW/Curl/Multi.pm (unchanged)
Skip blib/lib/WWW/Curl/Easy.pm (unchanged)
        cc_r -c  -I/usr/local/include  -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -q32 -D_LARGE_FILES -qlonglong -O    -DVERSION=\"3.02\"  -DXS_VERSION=\"3.02\"  "-I/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE"   Curl.c
"Curl.xs", line 681.36: 1506-280 (W) Function argument assignment between types "unsigned long*" and "int*" is not allowed.
Running Mkbootstrap for WWW::Curl ()
        chmod 644 Curl.bs
        rm -f blib/arch/auto/WWW/Curl/Curl.so
        ld  -bhalt:4 -bM:SRE -bI:/usr/opt/perl5/lib/5.8.2/aix-thread-multi/CORE/perl.exp -bE:Curl.exp -bnoentry -lpthreads -lc_r Curl.o  -o blib/arch/auto/WWW/Curl/Curl.so              
ld: 0711-317 ERROR: Undefined symbol: .curl_global_init
ld: 0711-317 ERROR: Undefined symbol: .curl_multi_perform
ld: 0711-317 ERROR: Undefined symbol: .curl_multi_fdset
ld: 0711-317 ERROR: Undefined symbol: .curl_multi_remove_handle
ld: 0711-317 ERROR: Undefined symbol: .curl_multi_add_handle
ld: 0711-317 ERROR: Undefined symbol: .curl_global_cleanup
ld: 0711-317 ERROR: Undefined symbol: .curl_easy_getinfo
ld: 0711-317 ERROR: Undefined symbol: .curl_easy_perform
ld: 0711-317 ERROR: Undefined symbol: .curl_slist_free_all
ld: 0711-317 ERROR: Undefined symbol: .curl_slist_append
ld: 0711-317 ERROR: Undefined symbol: .curl_easy_setopt
ld: 0711-317 ERROR: Undefined symbol: .curl_version
ld: 0711-317 ERROR: Undefined symbol: .curl_multi_cleanup
ld: 0711-317 ERROR: Undefined symbol: .curl_multi_init
ld: 0711-317 ERROR: Undefined symbol: .curl_easy_cleanup
ld: 0711-317 ERROR: Undefined symbol: .curl_easy_duphandle
ld: 0711-317 ERROR: Undefined symbol: .curl_easy_init
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: The error code from the last command is 8.


Stop.

Я подозреваю, что этодовольно простая вещь для тех, кто знаком с компиляторами и компоновщиками Си.Цени любую помощь.

1 Ответ

0 голосов
/ 08 июля 2010

Похоже, что аргументы компоновщика для libcurl отсутствуют в строке ld. Это вывод curl-config --libs и должен выглядеть примерно так: -L/opt/local/lib -lcurl. Убедитесь, что существует /opt/local/lib/libcurl.so (где /opt/local/lib - это то, что следует после -L).

Возможно, у вас есть заголовки libcurl, но нет разделяемой библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...