Система FreeBSD 4.10.
Захотел поставить новый spamassasin из портов, он потребовал perl5.8.
Перл новый стянулся, но компилироваться не хочет.
Выдает ошибки при компиляции:===> Building for perl-5.8.6_2
LD_LIBRARY_PATH=/usr/ports/lang/perl5.8/work/perl-5.8.6 cc -Wl,-E -L/usr/local/lib -o miniperl miniperlmai
n.o opmini.o -L. -lperl -lm -lcrypt -lutil
miniperlmain.o: In function `main':
miniperlmain.o(.text+0x1d): undefined reference to `PL_use_safe_putenv'
>>skiped
Потом идут ошибки:
opmini.o: In function `S_gv_ename':
opmini.o(.text+0x3f): undefined reference to `Perl_sv_2pv_flags'
>>skipedПробовал компилить старый перл тот что в usr/ports/lang/perl5 результат тотже.
Спамассасин не из портов поставился без проблем, но все таки может кто то скажет в чем причина того что перл не хочет ставиться?
perl -v в студию /etc/make.conf туда же
>perl -v в студию /etc/make.conf туда же[13:10:31]serg@soft(/)# perl -v
This is perl, version 5.005_03 built for i386-freebsd
в /etc/make.conf пусто
обнови порты, а - ИМХО - лучше вообще систему обновить польностью.
После этого поставь из портов новый
>обнови порты, а - ИМХО - лучше вообще систему обновить польностью.
>После этого поставь из портов новый
Да порты и сорцы постоянно обновляются.
А вот то build world никак руки не доходят.
Может в этом и проблемы..
Решение проблемы было найдено после длительных поисков в инете.
Нужно в каталоге где находятся распакованные исходники (works) выполнить make clean, rm config.sh.
Затем сделать вручную ./Configure -Dusenm -d и потом make, make install.
Все ставится нормально.
Другими словами надо указать чотбы компилятор использовал nm.Языком оригинала:
If linking miniperlcc -o miniperl ... miniperlmain.o opmini.o perl.o ... -lm -lc ...
causes error like this
ld: 0711-317 ERROR: Undefined symbol: .aintl
ld: 0711-317 ERROR: Undefined symbol: .copysignl
ld: 0711-317 ERROR: Undefined symbol: .syscall
ld: 0711-317 ERROR: Undefined symbol: .eaccess
ld: 0711-317 ERROR: Undefined symbol: .setresuid
ld: 0711-317 ERROR: Undefined symbol: .setresgid
ld: 0711-317 ERROR: Undefined symbol: .setproctitle
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.you could retry with
make realclean
rm config.sh
./Configure -Dusenm ...which makes Configure to use the "nm" tool when scanning for library
symbols, which usually is not done in AIX.Related to this, you probably should not use the "-r" option of Config-
ure in AIX, because that affects of how the "nm" tool is used.
Конечно FreeBSD это не AIX но судя по всему порблемы у них юывают общие. И решения поболем тоже.