[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Building php4 from source with dpkg-buildpackage, errors in cgi-build generated Makefile(s) - libtool not used for cc



Hi,

Main question: Should I post the contents below as a bug report ?

 

I am new to Debian (but have had some unix experience in the past)

Need to patch php4 ext/mssql/php_mssql.c in order to call stored procedures from MS SQL

(For recipy & reason for this: see http://www.devarticles.com/c/a/PHP/Executing-Microsoft-SQL-Server-Stored-Procedure-from-PHP-on-Linux ).

 

 I use “apt-get source php4”, “apt-get build-dep php4“ and dpkg-buildpackage to build.
There are several obstacles that are easely overcome while running dpkg-buildpackage in the source php4-4.4.4 dir, these are listed as minor bugs under * below.
However, it all stops when the cgi-build dir comes to the linking stage with the message:

libtool: link: `ext/openssl/openssl.lo' is not a valid libtool object

openssl.lo,  because it is the first file in the link list – all .lo files under cgi-build/ext are empty. This is not the case with apache-build and apache2-build extension, linking here works.

The cause of this is that the generated Makefile compile statement in cgi-build differs from apache(2)-build’s Makefile:

Example from apache(2)’s (working):

/bin/sh /usr/local/src/php4-4.4.4/apache2-build/libtool --silent --preserve-dup-deps --mode=compile gcc -I/usr/local/src/php4-4.4.4/ext/bcmath/libbcmath/src -Iext/bcmath/ -I/usr/local/src/php4-4.4.4/ext/bcmath/ -DPHP_ATOM_INC -I/usr/local/src/php4-4.4.4/apache2-build/include -I/usr/local/src/php4-4.4.4/apache2-build/main -I/usr/local/src/php4-4.4.4 -I/usr/local/src/php4-4.4.4/ext/mbstring/mbregex -I/usr/local/src/php4-4.4.4/ext/mbstring/libmbfl -I/usr/local/src/php4-4.4.4/ext/mbstring/libmbfl/mbfl -I/usr/local/src/php4-4.4.4/apache2-build/TSRM -I/usr/local/src/php4-4.4.4/apache2-build/Zend -I/usr/local/src/php4-4.4.4/main -I/usr/local/src/php4-4.4.4/Zend -I/usr/local/src/php4-4.4.4/TSRM -I/usr/local/src/php4-4.4.4/apache2-build/    -O2 -Wall -fsigned-char -fno-strict-aliasing -gstabs  -prefer-pic -c /usr/local/src/php4-4.4.4/ext/bcmath/libbcmath/src/compare.c -o ext/bcmath/libbcmath/src/compare.lo

 

Example from cgi-build (not working):

gcc  -Iext/standard/ -I/usr/local/src/php4-4.4.4/ext/standard/ -DPHP_ATOM_INC -I/usr/local/src/php4-4.4.4/cgi-build/include -I/usr/local/src/php4-4.4.4/cgi-build/main -I/usr/local/src/php4-4.4.4 -I/usr/local/src/php4-4.4.4/ext/mbstring/mbregex -I/usr/local/src/php4-4.4.4/ext/mbstring/libmbfl -I/usr/local/src/php4-4.4.4/ext/mbstring/libmbfl/mbfl -I/usr/local/src/php4-4.4.4/cgi-build/TSRM -I/usr/local/src/php4-4.4.4/cgi-build/Zend -I/usr/local/src/php4-4.4.4/main -I/usr/local/src/php4-4.4.4/Zend -I/usr/local/src/php4-4.4.4/TSRM -I/usr/local/src/php4-4.4.4/cgi-build/    -O2 -Wall -fsigned-char -fno-strict-aliasing -gstabs  -c /usr/local/src/php4-4.4.4/ext/standard/array.c -o ext/standard/array.o  && echo > ext/standard/array.lo

 

 It is obviuos why from these examples that the problem is that the Makefile for cgi-build is not correctly generated and probably easy if one knows where to fix it ( I have not found where). A workaround I will try is to edit the Makefile, but the root cause here:

Should probably be adressed as a bug in the php source package at the Debian bug page?, Which is the reason I post this here.

Also if there are any other solutions, please let me know.

It would also be an idea to fix the php_mssql  bug in php ( I know this is not the address for that – the article in the link is from 2003….)

 

*: other “bugs”:

1) All config.* files are deleted (cleaned away) and reported missing initially. Solution: re-install these and go on, flag dpkg-buildpackage with –nc hereafter

2) libtool not found in the xxx-build dirs when these are compiled. Solution: link in /usr/bin/libtool

 

 

Gunnar Skogen

 

 Laycan Solutions AS

 


Reply to: