编译安装php之安装libiconv-1.14.tar.gz出错解决方法

一、实验报错如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
make[2]: Entering directory `/home/chen/tools/libiconv-1.14/srclib'
make[3]: Entering directory `/home/chen/tools/libiconv-1.14'
make[3]: Nothing to be done for `am--refresh'.
make[3]: Leaving directory `/home/chen/tools/libiconv-1.14'
gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../lib  -I../intl -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1   -g -O2 -c progname.c
In file included from progname.c:26:0:
./stdio.h:1010:2: error: invalid preprocessing directive #_GL_WARN_ON_USE
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
make[2]: *** [progname.o] Error 1font
make[2]: Leaving directory `/home/chen/tools/libiconv-1.14/srclib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/chen/tools/libiconv-1.14/srclib'
make: *** [all] Error 2

二、解决方法

编辑/home/chen/tools/libiconv-1.14/srclib下的stdio.in.h,找到如下代码:

_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

注意:上面为两个#endif保存退出,重新编译。

编译安装php之安装libiconv-1.14.tar.gz出错解决方法

make && make install 




本文转自chengong1013 51CTO博客,原文链接:http://blog.51cto.com/purify/1830780,如需转载请自行联系原作者

上一篇:maven编译时出现读取XXX时出错invalid LOC header (bad signature)


下一篇:Solaris 10源码安装编译出错的一种处理办法