ID: 41870 Updated by: [EMAIL PROTECTED] Reported By: roman dot vanicek at gmail dot com -Status: Open +Status: Closed Bug Type: PDO related Operating System: Ubuntu Linux 6.06 PHP Version: 5.2.3 New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2007-07-03 09:59:39] roman dot vanicek at gmail dot com I propose this patch: --- /bkp/config.m4 2007-07-03 09:31:27.000000000 +0200 +++ config.m4 2007-07-03 11:49:31.000000000 +0200 @@ -89,7 +89,7 @@ pdo_odbc_def_lib="`echo $PHP_PDO_ODBC | cut -d, -f3`" pdo_odbc_def_ldflags="`echo $PHP_PDO_ODBC | cut -d, -f4`" pdo_odbc_def_cflags="`echo $PHP_PDO_ODBC | cut -d, -f5`" - pdo_odbc_flavour="$pdo_odbc_flavour ($pdo_odbc_def_lib)" + pdo_odbc_flavour="$pdo_odbc_flavour-$pdo_odbc_def_lib" ;; *) ------------------------------------------------------------------------ [2007-07-03 09:41:01] roman dot vanicek at gmail dot com Sorry, your patch does not work. It seems that comma is a problem for the constant PDO_ODBC_TYPE. The result is like this. /bin/sh /root/build/php/php-5.2.3/libtool --silent --preserve-dup-deps --mode=compile gcc -I/root/build/php/php-5.2.3/ext -I/usr/include -DPDO_ODBC_TYPE=\"generic, iodbc\" -Iext/pdo_odbc/ -I/root/build/php/php-5.2.3/ext/pdo_odbc/ -DPHP_ATOM_INC -I/root/build/php/php-5.2.3/include -I/root/build/php/php-5.2.3/main -I/root/build/php/php-5.2.3 -I/usr/include/libxml2 -I/root/build/php/php-5.2.3/ext/date/lib -I/root/build/php/php-5.2.3/TSRM -I/root/build/php/php-5.2.3/Zend -I/usr/include -g -O2 -c /root/build/php/php-5.2.3/ext/pdo_odbc/pdo_odbc.c -o ext/pdo_odbc/pdo_odbc.lo gcc: iodbc": No such file or directory /root/build/php/php-5.2.3/ext/pdo_odbc/pdo_odbc.c: In function 'zm_info_pdo_odbc': /root/build/php/php-5.2.3/ext/pdo_odbc/pdo_odbc.c:162: error: missing terminating " character /root/build/php/php-5.2.3/ext/pdo_odbc/pdo_odbc.c:162: error: syntax error before string constant make: *** [ext/pdo_odbc/pdo_odbc.lo] Error 1 I have tried various updates to ext/pdo_odbc/config.m4, but it seems that the file is cached somewhere and it is very difficult to get the changes appear in Makefile. Any advice is appreciated. But as I have stated earlier, "generic-iodbc" works (no commas,spaces,parantheses). ------------------------------------------------------------------------ [2007-07-03 06:49:16] [EMAIL PROTECTED] Try this patch please: http://dev.daylessday.org/diff/bug41870.diff (don't forget to run ./buildconf after applying it) ------------------------------------------------------------------------ [2007-07-02 11:10:17] roman dot vanicek at gmail dot com Sorry for a small detail, the error appears during the compilation and not the linking - i was a bit confused seeing libtool at the beginning of the line. Apart from this, everything holds true. ------------------------------------------------------------------------ [2007-07-02 09:43:19] roman dot vanicek at gmail dot com Description: ------------ I want to compile PHP with PDO_ODBC against iODBC. Configure settings: --with-pdo-odbc=generic,/usr,iodbc Configure works fine, compilation too but during the linking phase, i am getting this error: /bin/sh: -c: line 0: syntax error near unexpected token `(' The problem is in the Makfile generated by configure. The parantheses probably need to be quoted (or not used at all). If I change these parameters (3 times in the Makefile) -DPDO_ODBC_TYPE=\"generic (iodbc)\" manually to -DPDO_ODBC_TYPE=\"generic-iodbc\" then it works like a charm :-) Probably it would be best to fix the code that generates the Makefile without parantheses ("generic","generic-iodbc" works, on the other hand "generic - iodbc","generic iodbc" does not work). Reproduce code: --------------- ./configure --with-pdo-odbc=generic,/usr,iodbc make Expected result: ---------------- Build complete. Actual result: -------------- /bin/sh /root/build/php/php-5.2.3/libtool --silent --preserve-dup-deps --mode=compile gcc -I/root/build/php/php-5.2.3/ext -I/usr/include -DPDO_ODBC_TYPE=\"generic (iodbc)\" -Iext/pdo_odbc/ -I/root/build/php/php-5.2.3/ext/pdo_odbc/ -DPHP_ATOM_INC -I/root/build/php/php-5.2.3/include -I/root/build/php/php-5.2.3/main -I/root/build/php/php-5.2.3 -I/usr/include/libxml2 -I/root/build/php/php-5.2.3/ext/date/lib -I/usr/include/freetype2 -I/root/build/php/php-5.2.3/ext/mbstring/oniguruma -I/root/build/php/php-5.2.3/ext/mbstring/libmbfl -I/root/build/php/php-5.2.3/ext/mbstring/libmbfl/mbfl -I/usr/local/lib/oracli/sdk/include -I/root/build/bin/freetds/include -I/root/build/php/php-5.2.3/TSRM -I/root/build/php/php-5.2.3/Zend -I/usr/include -g -O2 -c /root/build/php/php-5.2.3/ext/pdo_odbc/pdo_odbc.c -o ext/pdo_odbc/pdo_odbc.lo /bin/sh: -c: line 0: syntax error near unexpected token `(' /bin/sh: -c: line 0: `/bin/sh /root/build/php/php-5.2.3/libtool --silent --preserve-dup-deps --mode=compile gcc -I/root/build/php/php-5.2.3/ext -I/usr/include -DPDO_ODBC_TYPE=\"generic (iodbc)\" -Iext/pdo_odbc/ -I/root/build/php/php-5.2.3/ext/pdo_odbc/ -DPHP_ATOM_INC -I/root/build/php/php-5.2.3/include -I/root/build/php/php-5.2.3/main -I/root/build/php/php-5.2.3 -I/usr/include/libxml2 -I/root/build/php/php-5.2.3/ext/date/lib -I/usr/include/freetype2 -I/root/build/php/php-5.2.3/ext/mbstring/oniguruma -I/root/build/php/php-5.2.3/ext/mbstring/libmbfl -I/root/build/php/php-5.2.3/ext/mbstring/libmbfl/mbfl -I/usr/local/lib/oracli/sdk/include -I/root/build/bin/freetds/include -I/root/build/php/php-5.2.3/TSRM -I/root/build/php/php-5.2.3/Zend -I/usr/include -g -O2 -c /root/build/php/php-5.2.3/ext/pdo_odbc/pdo_odbc.c -o ext/pdo_odbc/pdo_odbc.lo ' make: *** [ext/pdo_odbc/pdo_odbc.lo] Error 2 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41870&edit=1