首页 > 代码库 > iconv 编译不通过问题
iconv 编译不通过问题
升级Debian到wheezy后重新编译php。在编译libiconv时出错(话说俺居然没有找到这货的二进制包 )
./stdio.h:1010:1: error: ‘gets‘ undeclared here (not in a function)
下面报
make[2]: *** [progname.o] Error 1make[2]: *** Waiting for unfinished jobs....make[2]: Leaving directory `/opt/sources/libiconv-1.14/srclib‘make[1]: *** [all] Error 2make[1]: Leaving directory `/opt/sources/libiconv-1.14/srclib‘make: *** [all] Error 2
Google搜了好久终于找到一篇文章《libiconv gets undeclared》真是雪中送炭啊。
wget -c http://www.itkb.ro/userfiles/file/libiconv-glibc-2.16.patch.gzcd libiconv-1.14/srclibpatch -p1 stdio.in.h
俺运行patch后好久都没有反应 最后人肉修改
这个补丁的内容如下
--- srclib/stdio.in.h.orig 2011-08-07 16:42:06.000000000 +0300+++ srclib/stdio.in.h 2013-01-10 15:53:03.000000000 +0200@@ -695,7 +695,9 @@ /* It is very rare that the developer ever has full control of stdin, so any use of gets warrants an unconditional warning. Assume it is always declared, since it is required by C89. */-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");+#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");+#endif #endif
iconv 编译不通过问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。