Не удалось установить Perl CPAN-модули на Solaris 10 - PullRequest
0 голосов
/ 22 февраля 2012

Я использую Solaris 10 .

Я скачал и установил perl из sunfreeware .

Когда я пытаюсьчтобы выполнить команду CPAN, я получил следующую ошибку.

# perl -MCPAN -e shell
Now you need to choose your CPAN mirror sites.  You can let me
pick mirrors for you, you can select them from a list or you
can enter them by hand.

Would you like me to automatically choose the best CPAN mirror
sites for you? (This means connecting to the Internet and could
take a couple minutes) [yes]

Trying to fetch a mirror list from the Internet
  LWP not available
  LWP not available
Fetching with Net::FTP:
ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY
ld.so.1: perl: fatal: relocation error: file /usr/local/lib/perl5/5.12.3/i86pc-solaris/auto/Socket/Socket.so: symbol inet_aton: referenced symbol not found
Killed
#

ldd , похоже, нет проблем

# ldd /usr/local/lib/perl5/5.12.3/i86pc-solaris/auto/Socket/Socket.so
        libc.so.1 =>     /lib/libc.so.1
        libm.so.2 =>     /lib/libm.so.2

Есть идеи, что мне не хватает?

1 Ответ

1 голос
/ 22 февраля 2012

Чтобы избежать ручной перекомпиляции всего, настроить CPAN make_arg с LIBS=-lresolv и mbuild_arg с --config libs=-lresolv.(Это добавляет библиотеку глобально для всех запусков компиляции дистрибутива Perl.) Затем введите команду CPAN recompile.Я не проверял это.Сначала поэкспериментируйте с резервной системой, и если что-то пойдет не так, вы сможете восстановить дерево Perl.

Если вы полагаете, что только дистрибутиву Socket нужен параметр extra libs, то лучше перекомпилировать его вручную:

$ cpan
cpan> look Socket
Socket$ perl Makefile.PL LIBS=-lresolv ; make ; make test
Socket$ sudo make install
...