论坛首页 综合技术论坛

debian 7.1.0 下通过源代码编译安装perl5.8.5报undefined reference to `pow'的错误

浏览 2882 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-07-16   最后修改:2013-07-16
因为需要,不能通过apt-get来安装perl,需要自行通过源代码编译来安装perl。
根据perl的INSTALL文档说明,执行一下步骤:

    ./Configure -Dprefix=/usr/local -Dcc=gcc -des
    make

在make的过程中报错,错误内容如下:
    gcc -L/usr/local/lib -o miniperl \
                miniperlmain.o opmini.o libperl.a
    libperl.a(pp.o): In function `Perl_pp_pow':
    pp.c:(.text+0x2909): undefined reference to `pow'
    libperl.a(pp.o): In function `Perl_pp_modulo':
    pp.c:(.text+0x36bc): undefined reference to `fmod'
    libperl.a(pp.o): In function `Perl_pp_atan2':
    pp.c:(.text+0x7eff): undefined reference to `atan2'
    libperl.a(pp.o): In function `Perl_pp_sin':
    pp.c:(.text+0x7fea): undefined reference to `sin'
    libperl.a(pp.o): In function `Perl_pp_cos':
    pp.c:(.text+0x812a): undefined reference to `cos'
    libperl.a(pp.o): In function `Perl_pp_exp':
    pp.c:(.text+0x840a): undefined reference to `exp'
    libperl.a(pp.o): In function `Perl_pp_log':
    pp.c:(.text+0x8557): undefined reference to `log'
    libperl.a(pp.o): In function `Perl_pp_sqrt':
    pp.c:(.text+0x8800): undefined reference to `sqrt'
    collect2: error: ld returned 1 exit status
    make: *** [miniperl] Error 1
    error when make perl, script exit abnormally!


单独执行:
    gcc -L/usr/local/lib -o miniperl \
                miniperlmain.o opmini.o libperl.a 


也会有以上错误提示。

但是执行:
    gcc -L/usr/local/lib -o miniperl \
                miniperlmain.o opmini.o libperl.a -lm


就能正常编译。

估计是因为gcc链接本地libm.so时,需要增加-lm的导致。
请问如果更改perl源代码的配置项,在哪个文件更改?
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics