zoukankan      html  css  js  c++  java
  • PHP无法编译undefined reference to `libiconv_open

    ./configure --prefix=/usr/local/php52

    make时提示:
    .....................................................
    ext/iconv/.libs/iconv.o(.text+0x1738): In function `zif_iconv_mime_encode':
    /usr/src/php-5.2.0/ext/iconv/iconv.c:1017: undefined reference to `libiconv_open'
    ext/iconv/.libs/iconv.o(.text+0x1756):/usr/src/php-5.2.0/ext/iconv/iconv.c:1031: undefined reference to `libiconv_open'
    ext/iconv/.libs/iconv.o(.text+0x1993):/usr/src/php-5.2.0/ext/iconv/iconv.c:1290: undefined reference to `libiconv_close'
    ext/iconv/.libs/iconv.o(.text+0x19ad):/usr/src/php-5.2.0/ext/iconv/iconv.c:1293: undefined reference to `libiconv_close'
    ext/iconv/.libs/iconv.o(.text+0x1b01):/usr/src/php-5.2.0/ext/iconv/iconv.c:1102: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x1b33):/usr/src/php-5.2.0/ext/iconv/iconv.c:1134: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x1b5e):/usr/src/php-5.2.0/ext/iconv/iconv.c:1150: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x1e10):/usr/src/php-5.2.0/ext/iconv/iconv.c:1202: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x1e3c):/usr/src/php-5.2.0/ext/iconv/iconv.c:1233: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x207f):/usr/src/php-5.2.0/ext/iconv/iconv.c:1277: more undefined references to `libiconv' follow
    ext/iconv/.libs/iconv.o(.text+0x2c08): In function `php_iconv_stream_filter_dtor':
    /usr/src/php-5.2.0/ext/iconv/iconv.c:2393: undefined reference to `libiconv_close'
    ext/iconv/.libs/iconv.o(.text+0x2cf2): In function `php_iconv_stream_filter_append_bucket':
    /usr/src/php-5.2.0/ext/iconv/iconv.c:2543: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x2d34):/usr/src/php-5.2.0/ext/iconv/iconv.c:2543: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x2de7):/usr/src/php-5.2.0/ext/iconv/iconv.c:2465: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x30e2): In function `php_iconv_stream_filter_factory_create':
    /usr/src/php-5.2.0/ext/iconv/iconv.c:2419: undefined reference to `libiconv_open'
    collect2: ld returned 1 exit status
    make: *** [sapi/cli/php] Error 1

    解决方法:

    #wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
    #tar -zxvf libiconv-1.13.1.tar.gz
    #cd libiconv-1.13.1
    # ./configure --prefix=/usr/local/libiconv
    # make
    # make install

    方法一:法为去除iconv模块也能正常编译php,如下:
    編輯 Makefile 大約 77 行左右的地方:
    EXTRA_LIBS = ..... -lcrypt
    在最後加上 -liconv,例如:
    EXTRA_LIBS = ..... -lcrypt -liconv

    再检查php,指定 iconv的位置  --with-iconv=/usr/local/libiconv
    #./configure --prefix=/usr/local/php52 --with-iconv=/usr/local/libiconv
    #make
    #make install

    再运行make就可以了。

    最后一种方法:

    #make ZEND_EXTRA_LIBS='-liconv'
    #make install

  • 相关阅读:
    Jquery判断数组中是否包含某个元素$.inArray()的用法
    localStorage,sessionStorage,cookie使用场景和区别
    解决发送邮件在本地测试成功,在腾讯服务器上测试失败的问题
    phpStudy安装教程
    使用phpStudy运行伊人集项目
    使用phpStudyy运行tipask
    linux sudo命令
    PHP 判断数组是否为空的5大方法
    校验两次密码一致的js代码
    一个漂亮的php验证码类
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/5451467.html
Copyright © 2011-2022 走看看