ID: 20229
Comment by: idave@idave.it
Reported By: idave@idave.it
Status: Feedback
Bug Type: Compile Failure
Operating System: RedHat Linux 8.0
PHP Version: 4CVS-2002-11-03
New Comment:
Sorry... I didn't understand what you are saying. I've tried with gcc3
- same error, so it can't be a product of 'using gcc2 on RedHat 8'.
Is PHP compatible with gcc3?
Please help me. I'm not a C programmer so I can't understand if the gcc
command I've just typed in my terminal is right or wrong. It's not so
obvious for me.
I've tried with the following command
[root@idave libmysql]# /usr/local/gcc2/bin/gcc -E
-I/root/build/php4/ext/mysql/
-I/root/build/php4/ext/mysql/ -DPHP_ATOM_INC -I/root/build/php4/main
-I/root/build/php4 -I/root/build/php4/Zend -I/usr/local/ssl/include
-I/usr/local/include/libxml2 -I/usr/local/include/freetype2
-I/usr/local/gd/include -I/usr/local/pgsql/include
-I/root/build/php4/ext/xml/expat -DLINUX=22 -DMOD_SSL=EAPI
-I/root/build/php4/TSRM -I/usr/local/mysql/include -g -O2 -prefer-pic
-c /root/build/php4/ext/mysql/php_mysql.c -o php_mysql.out
gcc: unrecognized option `-prefer-pic'
/root/build/php4/ext/mysql/php_mysql.c:56: mysql.h: No such file or
directory
[root@idave libmysql]#
Trying "pushd / && locate mysql.h %% popd" returns:
/root/build/courier-imap-1.6.0.20021025/authlib/authmysql.h
/root/build/courier-imap-1.6.0.20021025/authlib/README.authmysql.html
/root/build/vpopmail-5.2.1/vmysql.h
/root/build/php4/ext/dbx/dbx_mysql.h
/root/build/php4/ext/mysql/libmysql/mysql.h
/root/build/php4/ext/mysql/php_mysql.h
/root/build/mysql-4.0.4-beta/include/mysql.h
/root/build/mysql-4.0.4-beta/innobase/include/row0mysql.h
/root/build/php-4.3.0pre2/ext/dbx/dbx_mysql.h
/root/build/php-4.3.0pre2/ext/mysql/libmysql/mysql.h
/root/build/php-4.3.0pre2/ext/mysql/php_mysql.h
/root/build/php-4.2.3/ext/dbx/dbx_mysql.h
/root/build/php-4.2.3/ext/mysql/libmysql/mysql.h
/root/build/php-4.2.3/ext/mysql/php_mysql.h
/root/build/mysql-3.23.53/include/mysql.h
/root/build/mysql-3.23.53/innobase/include/row0mysql.h
/usr/share/apps/quanta/doc/php/ref.mysql.html
/usr/local/mysql/include/mysql/mysql.h
So I've tried:
[root@idave libmysql]# /usr/local/gcc2/bin/gcc -E
-I/root/build/php4/ext/mysql/
-I/root/build/php4/ext/mysql/ -DPHP_ATOM_INC -I/root/build/php4/main
-I/root/build/php4 -I/root/build/php4/Zend -I/usr/local/ssl/include
-I/usr/local/include/libxml2 -I/usr/local/include/freetype2
-I/usr/local/gd/include -I/usr/local/pgsql/include
-I/root/build/php4/ext/xml/expat -DLINUX=22 -DMOD_SSL=EAPI
-I/root/build/php4/TSRM -I/usr/local/mysql/include/mysql -g -O2
-prefer-pic -c /root/build/php4/ext/mysql/php_mysql.c -o php_mysql.out
gcc: unrecognized option `-prefer-pic'
[root@idave libmysql]#
and then the command "grep -10 'For AIX string library'
./php_mysql.out" hadn't any output.
Previous Comments:
------------------------------------------------------------------------
[2002-11-05 10:18:47] msopacua@php.net
Ok, there are obviously characters missing
(-I/root/build/php4/inclmain).
The trick is, to get the line that fails, than strip -prefer-pic and
add -E after gcc and change the output file to php_mysql.out by adding
that to -o.
That calls the pre-processor on the file named after -c and resolves
all pre-processor macro's and includes.
If you have an issue with your terminal, please use the 'script(1)'
command, to capture all output from the make process to a file.
Since RedHat, comes with a stock gcc3 and you're trying to use gcc2,
there's some conflict with headers going on, that creates buggy
preprocessor macro's and/or defines.
That's why we're asking you to do this - it can be a local issue, or it
can be a product of 'using gcc2 on RedHat 8'.
------------------------------------------------------------------------
[2002-11-05 09:01:40] idave@idave.it
[root@idave php4]# /usr/local/gcc2/bin/gcc -E
-I/root/build/php4/ext/mysql/ -I/root/build/php4/ext/mysql/
-DPHP_ATOM_INC -I/root/build/php4/inclmain -I/root/build/php4
-I/root/build/php4/Zend -I/usr/local/ssl/include
-I/usr/local/include/libxml2 -I/usr/local/include/freetype2
-I/usr/local/gd/include -I/usr/local/pgsql/include
-I/root/build/php4/ext/xml/expat -DLINUX=22 -DMOD_SSL=EAPI
-I/root/build/php4/TSRM -g -O2 -prefer-pic -c
/root/build/php4/ext/mysql/php_mysql.c -o php_mysql.out
gcc: unrecognized option `-prefer-pic'
/root/build/php4/ext/mysql/php_mysql.c:32: php.h: No such file or
directory
/root/build/php4/ext/mysql/php_mysql.c:33: php_globals.h: No such file
or directory
[root@idave php4]#
[root@idave php4]# grep -10 'For AIX string library' ./php_mysql.out
grep: ./php_mysql.out: No such file or directory
[root@idave php4]#
------------------------------------------------------------------------
[2002-11-03 17:40:45] msopacua@php.net
I guess we're missing some characters, because:
-c /root/build/php4/ext/mysql/l/php_mysql.lo
Doesn't add up.
IIC:
try this line:
/usr/local/gcc2/bin/gcc -E
-I/root/build/phIext/mysql/ -I/root/build/php4/ext/mysql/
-DPHP_ATOM_INC -I/root/build/php4/inclmain -I/root/build/php4
-I/root/build/php4/Zend -I/usr/local/ssl/include
-I/usr/cal/include/libxml2
-I/usr/local/include/freetype2 -I/usr/local/gd/include
-I/us/usr/local/pgsql/include -I/root/build/php4/ext/xml/expat
-DLINUX=22
-DMOD_SSL=EAPI -I/root/build/php4/TSRM -g -O2 -prefer-pic -c
/root/build/php4/ext/mysql/libmysql/php_mysql.c -o php_mysql.out
Please adjust the missing characters.
then try:
grep -10 'For AIX string library' ./php_mysql.out
If that has any output, please paste it here.
------------------------------------------------------------------------
[2002-11-03 11:07:54] idave@idave.it
Got php from CVS, following the instructions found @
http://php.net/anoncvs, with the right versions of autoconf,
automake
and libtool.
Configured with these arguments:
CC=/usr/local/gcc2/bin/gcc CXX=/usr/local/gcc2/bin/g++ sh configure
--disable-debug
--with-bz2=/usr/local --with-curl=/usr/local --with-dom=/usr/local
--with-png-dir=/usr/local --with-gd=/usr/local/gd
--enable-gd-native-ttf --with-gdbm=/usr/local --with-gmp=/usr/local
--with-jpeg-dir=/usr/local --with-xml --with-zlib=/usr/local
--enable-exif --enable-ftp --enable-magic-quotes --enable-sockets
--enable-sysvsem --enable-sysvshm --enable-discard-path
--enable-trans-sid --enable-wddx --with-kerberos --with-mysql
--enable-bcmath --enable-shmop --enable-versioning --enable-calendar
--enable-dbx --enable-dio --enable-mbstring --enable-mbstr-enc-trans
--with-apxs=/usr/local/apache/bin/apxs --with-freetype-dir=/usr/local
--with-mhash=/usr/local --with-mcal=/usr/local/mcal
--with-pgsql=/usr/local/pgsql --with-openssl=shared,/usr/local/ssl
--with-mysql
(CC=/usr/local/gcc2/bin/gcc is GCC 2.95.3)
Once configured, I type "make" and all goes ok, but once it arrives to
the mysql module...
/bin/sh libtool --silent --mode=compile /usr/local/gcc2/bin/gcc
-I/root/build/phIext/mysql/ -I/root/build/php4/ext/mysql/
-DPHP_ATOM_INC -I/root/build/php4/inclmain -I/root/build/php4
-I/root/build/php4/Zend -I/usr/local/ssl/include
-I/usr/cal/include/libxml2 -I/usr/local/include/freetype2
-I/usr/local/gd/include -I/us/usr/local/pgsql/include
-I/root/build/php4/ext/xml/expat -DLINUX=22 -DMOD_SSL=EAPI
-I/root/build/php4/TSRM -g -O2 -prefer-pic -c
/root/build/php4/ext/mysql/l/php_mysql.lo
/bin/sh libtool --silent --mode=compile /usr/local/gcc2/bin/gcc
-I/root/build/phIext/mysql/ -I/root/build/php4/ext/mysql/
-DPHP_ATOM_INC -I/root/build/php4/inclmain -I/root/build/php4
-I/root/build/php4/Zend -I/usr/local/ssl/include
-I/usr/cal/include/libxml2 -I/usr/local/include/freetype2
-I/usr/local/gd/include -I/us/usr/local/pgsql/include
-I/root/build/php4/ext/xml/expat -DLINUX=22 -DMOD_SSL=EAPI
-I/root/build/php4/TSRM -g -O2 -prefer-pic -c
/root/build/php4/ext/mysql/ext/mysql/libmysql/libmysql.lo
In file included from
/root/build/php4/ext/mysql/libmysql/libmysql.c:4:
/root/build/php4/ext/mysql/libmysql/global.h:136: parse error
In file included from
/root/build/php4/ext/mysql/libmysql/libmysql.c:4:
/root/build/php4/ext/mysql/libmysql/global.h:505: parse error
In file included from
/root/build/php4/ext/mysql/libmysql/libmysql.c:11:
/root/build/php4/ext/mysql/libmysql/m_string.h:208: parse error
make: *** [ext/mysql/libmysql/libmysql.lo] Error 1
I tried configuring with the following options:
1) --with-mysql=shared,/usr/local/mysql
2) --with-mysql=/usr/local/mysql
Nothing changed.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=20229&edit=1