天天看點

編譯安裝php之安裝libiconv-1.14.tar.gz出錯解決方法

一、實驗報錯如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>make[2]: Entering directory `/home/chen/tools/libiconv-1.14/srclib'</code>

<code>make[3]: Entering directory `/home/chen/tools/libiconv-1.14'</code>

<code>make[3]: Nothing to be done for `am--refresh'.</code>

<code>make[3]: Leaving directory `/home/chen/tools/libiconv-1.14'</code>

<code>gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../lib  -I../intl -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1   -g -O2 -c progname.c</code>

<code>In file included from progname.c:26:0:</code>

<code>./stdio.h:1010:2: error: invalid preprocessing directive #_GL_WARN_ON_USE</code>

<code>_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");</code>

<code>make[2]: *** [progname.o] Error 1font</code>

<code>make[2]: Leaving directory `/home/chen/tools/libiconv-1.14/srclib'</code>

<code>make[1]: *** [all] Error 2</code>

<code>make[1]: Leaving directory `/home/chen/tools/libiconv-1.14/srclib'</code>

<code>make: *** [all] Error 2</code>

二、解決方法

編輯/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__) &amp;&amp; !defined(__UCLIBC__) &amp;&amp; !__GLIBC_PREREQ(2, 16) _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

#endif

注意:上面為兩個#endif儲存退出,重新編譯。

<a href="http://s3.51cto.com/wyfs02/M00/84/F7/wKiom1eYgnPRIavJAAAs4p0P2_s695.png" target="_blank"></a>

make &amp;&amp; make install 

本文轉自chengong1013 51CTO部落格,原文連結:http://blog.51cto.com/purify/1830780,如需轉載請自行聯系原作者