php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #26103 --with-mssql dies in compilation
Submitted: 2003-11-03 19:41 UTC Modified: 2003-11-04 08:21 UTC
From: freebsd at argentproductions dot com Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.3.3 OS: FreeBSD 5.1-RELEASE
Private report: No CVE-ID:
 [2003-11-03 19:41 UTC] freebsd at argentproductions dot com
Description:
------------
After an extensive search that came up with nothing quite like this scenario, I figured I'd post this since its eating up all my time and I have to get this up ASAP.  Any and all comments / suggestions are very welcome!

When building mod_php4 from the FreeBSD port (using PHP 4.3.3 release) I get a compile error (listed in "Actual Result" section).  So far I've had no other trouble with this system, and a previous compilation of 4.3.3 with mssql at one point did succeed, but since then I am not sure what has changed as its been almost two months now since I last compiled mod_php4.  I have tried a number of things to fix this problem, but since I'm using the port management system, changing the actual PHP distribution code is all but impossible.  I need the port management system for version tracking.  An attempt to use 4.3.4RC1 failed with the same exact error.  There is not yet a port for 4.3.4RC3.

Environment is as follows:

FreeBSD 5.1-RELEASE with latest security patches.  

FreeTDS 0.61.2 installed with --prefix=/usr/local --with-tdsver=7.0 --enable-msdblib

Configure Options (note: I'm typing this by hand from the Makefile for the port, so forgive any misspellings I might accidentally do...)

--enable-versioning --enable-memory-limit --with-layout=GNU --with-zlib-dir=/usr --disable-all -- with-pfpro=/usr/local --with-regex=php --enable-bcmath --enable-calendar --with-bz2=/usr --with-curl=/usr/local --with-dom=/usr/local --with-dom-xslt=/usr/local --with-dom-exslt=/usr/local --enable-ftp --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir=/usr/local --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-gettext=/usr/local --with-iconv=/usr/local --with-imap=/usr/local --with-imap-ssl=/usr/local --enable-mbstring --enable-mbregex --with-mcal=/usr/local --with-mcrypt=/usr/local --with-mhash=/usr/local --with-mime-magic=/usr/share/misc/magic.mime --with-mysql=/usr/local --with-openssl=/usr --enable-overload --with-pcre-regex=yes --enable-posix --enable-session --with-mssql=/usr/local --enable-tokenizer --enable-xml --with-expat-dir=/usr/local --with-zlib=yes 



Expected result:
----------------
I expected a clean compile as it has done before (actually, it did it once before using an RC of 4.3.3 (It might have been the release, even).  I am not sure why a recompile all of a sudden causes problems. 

Actual result:
--------------
/bin/sh /usr/ports/www/mod_php4/work/php-4.3.3/libtool --silent --preserve-dup-deps --mode=compile cc  -Imain/ -I/usr/ports/www/mod_php4/work/php-4.3.3/main/ -DPHP_ATOM_INC -I/usr/ports/www/mod_php4/work/php-4.3.3/include -I/usr/ports/www/mod_php4/work/php-4.3.3/main -I/usr/ports/www/mod_php4/work/php-4.3.3 -I/usr/ports/www/mod_php4/work/php-4.3.3/Zend -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/local/include/freetype2 -I/usr/local/include/c-client -I/usr/local/include/mcal -I/usr/local/include/mysql  -I/usr/ports/www/mod_php4/work/php-4.3.3/TSRM  -O -pipe -march=pentium3  -prefer-pic -c main/internal_functions.c -o main/internal_functions.lo
In file included from /usr/local/include/sybfront.h:23,
                 from /usr/local/include/sqlfront.h:23,
                 from /usr/ports/www/mod_php4/work/php-4.3.3/ext/mssql/php_mssql.h:36,
                 from main/internal_functions.c:55:
/usr/local/include/sybdb.h:103: syntax error before numeric constant
/usr/local/include/sybdb.h:150: syntax error before numeric constant
/usr/local/include/sybdb.h:177: syntax error before numeric constant
/usr/local/include/sybdb.h:204: syntax error before numeric constant
/usr/local/include/sybdb.h:210: syntax error before numeric constant
/usr/local/include/sybdb.h:281: syntax error before numeric constant
/usr/local/include/sybdb.h:285: syntax error before numeric constant
/usr/local/include/sybdb.h:339: syntax error before numeric constant
/usr/local/include/sybdb.h:453: syntax error before numeric constant
In file included from /usr/local/include/sybfront.h:23,
                 from /usr/local/include/sqlfront.h:23,
                 from /usr/ports/www/mod_php4/work/php-4.3.3/ext/mssql/php_mssql.h:36,
                 from main/internal_functions.c:55:
/usr/local/include/sybdb.h:20:1: unterminated #ifndef
In file included from /usr/local/include/sqlfront.h:23,
                 from /usr/ports/www/mod_php4/work/php-4.3.3/ext/mssql/php_mssql.h:36,
                 from main/internal_functions.c:55:
/usr/local/include/sybfront.h:20:1: unterminated #ifndef
In file included from /usr/ports/www/mod_php4/work/php-4.3.3/ext/mssql/php_mssql.h:36,
                 from main/internal_functions.c:55:
/usr/local/include/sqlfront.h:20:1: unterminated #ifndef
In file included from main/internal_functions.c:55:
/usr/ports/www/mod_php4/work/php-4.3.3/ext/mssql/php_mssql.h:26:1: unterminated #if
/usr/ports/www/mod_php4/work/php-4.3.3/ext/mssql/php_mssql.h:22:1: unterminated #ifndef
*** Error code 1

Stop in /usr/ports/www/mod_php4/work/php-4.3.3.
*** Error code 1

Stop in /usr/ports/www/mod_php4.
*** Error code 1

Stop in /usr/ports/www/mod_php4.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade27655.0 make
** Fix the problem and try again.
** The following packages were not installed or upgraded (*:skipped / !:failed)
        ! www/mod_php4 (mod_php4-4.3.3,1)       (bad C++ code)


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-11-03 21:27 UTC] freebsd at argentproductions dot com
Okay I've narrowed it down to this configure option:

--with-mime-magic=/usr/share/misc/magic.mime 

If that's in the list it causes --with-mssql to die a horrible death. 

This file is rather large. I can post it if you want but its the standard distro magic.mime file that came with my system AFAICT.  Its just interesting that it would cause --with-mssql to crash. 

Anything I can do to help figure out this problem?  I'm not personally addicted to MIME magic, but I was looking forward to playing with it.  I NEED the other options.

Is this still bogus?

Peace...
 [2003-11-03 23:53 UTC] sniper@php.net
So it compiles with all the other options, as long as you don't enable mime-magic ?

(I hope you remembered to delete config.cache when you tried different options. :)

 [2003-11-04 00:16 UTC] sniper@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php4-STABLE-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-STABLE-latest.zip

I just committed possible fix for this, so please try the snapshot in about 2 hours after you got this mail.

 [2003-11-04 02:34 UTC] freebsd at argentproductions dot com
Actually, I didn't delete the config.cache, but I did a "make clean" in between each time AND I tried it on three different completely clean source trees.  So I'm certain that had nothing to do with it. :)

Now, having just downloaded the file you specified, I can happily say -- your patch worked.  :-D  Looks like its all good now.  Just to be fair, I ran it twice, with a make clean in between, just like the other source tars, and reordered a few of the options to make sure.  Compiled perfectly both times.  Don't know if the actual module is any different, but it *did* compile just fine. 

Unless this spontaneously pops up again when I go to compile and install the FreeBSD port for 4.3.4 (whenever it comes out), I'm happy.  Will your patch make it into the actual 4.3.4 distribution file?

Peace...
 [2003-11-04 08:21 UTC] sniper@php.net
Unfortunately 4.3.4 was released already. This fix will be in PHP 4.3.5.

 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Thu Apr 24 19:01:53 2014 UTC