|
|

楼主 |
发表于 2005-12-16 10:04:57
|
显示全部楼层
到达 Perl发现一些问题
这些补丁
http://www.linuxfromscratch.org/ ... 7-regex_ssp-1.patch
http://www.linuxfromscratch.org/ ... -5.8.7-libc-1.patch
需要打,但 libc的这个最好手动修改一下。。
它和当前的 5.8.7无法正确对应。。起码我的是这样
--------------------
GCC 4.2 下编译perl的时候可能会出现错误。。。我的就不幸出现错误了
提示GCC bug的,这里我采用的解决方法是 去掉 -O项目,只增加 -fforce-mem
(regcomp.c)
--------------------
中途出错后我采用单独编译方法
cc -DPERL_CORE -c -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -fno-stack-protector regcomp.c -pipe -march=pentium4 -mfpmath=sse,387 -fomit-frame-pointer -mmmx -msse -msse2 -fforce-addr
---------------------
。。不过还是卡在perl上了
现在提示
- lfs:/mnt/lfs/sources/perl-5.8.7$ cc -o miniperl miniperlmain.o opmini.o libperl.a
- libperl.a(pp.o): In function `Perl_pp_pow':pp.c:(.text+0x3c24): undefined reference to `pow'
- libperl.a(pp.o): In function `Perl_pp_modulo':pp.c:(.text+0x4b68): undefined reference to `floor':pp.c:(.text+0x4b94): undefined reference to `floor':pp.c:(.text+0x4c04): undefined reference to `fmod'
- libperl.a(pp.o): In function `Perl_pp_atan2':pp.c:(.text+0xc45c): undefined reference to `atan2'
- libperl.a(pp.o): In function `Perl_pp_sin':pp.c:(.text+0xc60f): undefined reference to `sin'
- libperl.a(pp.o): In function `Perl_pp_cos':pp.c:(.text+0xc809): undefined reference to `cos'
- libperl.a(pp.o): In function `Perl_pp_exp':pp.c:(.text+0xcc5d): undefined reference to `exp'
- libperl.a(pp.o): In function `Perl_pp_log':pp.c:(.text+0xce8b): undefined reference to `log'
- libperl.a(pp.o): In function `Perl_pp_sqrt':pp.c:(.text+0xd0d5): undefined reference to `sqrt'
- libperl.a(pp.o): In function `Perl_pp_int':pp.c:(.text+0xd4af): undefined reference to `floor':pp.c:(.text+0xd554): undefined reference to `ceil'libperl.a(pp_pack.o): In function `S_pack_rec':pp_pack.c:(.text+0x5ef3): undefined reference to `floor':pp_pack.c:(.text+0x5f21): undefined reference to `floor'
- collect2: ld returned 1 exit status
- lfs:/mnt/lfs/sources/perl-5.8.7$
复制代码
我想着应该是缺少那个库?还是别的什么/。。。反正现在就是不知道怎么办好了
:(
------------
通过郁闷才能发奋。。。
去perl.com下载了 5.9.2
不增加任何补丁
全部手动设置选项,
./Configure -Dprefix=/tools
这样才通过。。。注意:这里我关掉了 -O的优化,那个regcomp.c无法用-O优化编译(GCC CVS 4.2)
再就是。。。我竟然选择错了
编译成动态库。。本来想编译为静态的。。
------------------
关于specs部分我采用了
-specs=file的方法,感觉还不错
很方便 |
|