ID: 33813 Updated by: [EMAIL PROTECTED] Reported By: dseg at shield dot jp -Status: Assigned +Status: Closed Bug Type: Compile Failure Operating System: LINUX PHP Version: 5.1.0b3 Assigned To: yohgaki 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: ------------------------------------------------------------------------ [2005-07-22 04:57:48] dseg at shield dot jp Patch for this bug: --- ext/pgsql/config.m4.orig 2005-05-30 08:16:43.000000000 +0900 +++ ext/pgsql/config.m4 2005-07-22 09:33:47.000000000 +0900 @@ -88,6 +88,7 @@ AC_CHECK_LIB(pq, PQputCopyEnd,AC_DEFINE(HAVE_PQPUTCOPYEND,1,[PostgreSQL 7.4 or later])) AC_CHECK_LIB(pq, PQgetCopyData,AC_DEFINE(HAVE_PQGETCOPYDATA,1,[PostgreSQL 7.4 or later])) AC_CHECK_LIB(pq, PQsetErrorVerbosity,AC_DEFINE(HAVE_PQSETERRORVERBOSITY,1,[PostgreSQL 7.4 or later])) + AC_CHECK_LIB(pq, PQfreemem,AC_DEFINE(HAVE_PQFREEMEM,1,[PostgreSQL 7.4 or later])) AC_CHECK_LIB(pq, pg_encoding_to_char,AC_DEFINE(HAVE_PGSQL_WITH_MULTIBYTE_SUPPORT,1,[Whether libpq is compiled with --enable-multibyte])) LIBS=$old_LIBS LDFLAGS=$old_LDFLAGS --- ext/pgsql/pgsql.c.orig 2005-07-08 09:40:32.000000000 +0900 +++ ext/pgsql/pgsql.c 2005-07-21 13:21:52.000000000 +0900 @@ -3598,10 +3598,17 @@ #if HAVE_PQUNESCAPEBYTEA tmp = (char *)PQunescapeBytea((unsigned char*)from, &to_len); to = estrndup(tmp, to_len); - PQfreemem(tmp); #else to = (char *)php_pgsql_unescape_bytea((unsigned char*)from, &to_len); #endif + if(tmp) { +#if HAVE_PQFREEMEM + PQfreemem(tmp); +#else + efree(tmp); +#endif + } + if (!to) { RETURN_FALSE; } ------------------------------------------------------------------------ [2005-07-22 04:28:04] dseg at shield dot jp Description: ------------ PHP-5.1.0b3 won't build with PostgreSQL < 7.4. The reason for this is that the ext/pgsql/pgsql.c use the PQfreemem function which is only available in PostgreSQL 7.4 or later. Reproduce code: --------------- configure --with-pgsql Expected result: ---------------- It should build Actual result: -------------- ext/pgsql/.libs/pgsql.o: In function `zif_pg_unescape_bytea': ext/pgsql/.libs/pgsql.o(.text+0x3c2c): undefined reference to `PQfreemem' collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33813&edit=1