Bug #67186 [Asn]: PHP 5.6.0beta2 fails to compile when compiling mysqli extension with libmysql

From: Date: Tue, 06 May 2014 10:16:13 +0000
Subject: Bug #67186 [Asn]: PHP 5.6.0beta2 fails to compile when compiling mysqli extension with libmysql
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-185662@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67186&edit=1 ID: 67186 Updated by: andrey@php.net Reported by: andy at webtatic dot com Summary: PHP 5.6.0beta2 fails to compile when compiling mysqli extension with libmysql Status: Assigned Type: Bug Package: MySQLi related Operating System: all PHP Version: 5.6.0beta2 Assigned To: mysql Block user comment: N Private report: N New Comment: Could you try trunk or 5.6 head? Andrey Previous Comments: ------------------------------------------------------------------------ [2014-05-05 19:10:20] andy at webtatic dot com Sorry I mean Adam not Alex :) ------------------------------------------------------------------------ [2014-05-05 19:07:46] andy at webtatic dot com I think in the very least one of the following is done 1) Removing the MYSQLI_STORE_RESULT_OFS constant (which it being a typo, isn't used), and implementing the ALIAS constant the same way Alex changed the COPY_DATA one or 2) Replacing the change with my solution Otherwise, having two competing implementations of both constants may be confusing. ------------------------------------------------------------------------ [2014-05-05 17:55:53] aharvey@php.net In theory, my commit (linked above) should fix this, but as Andy says, there may be a simpler solution. Friendly people of the MySQL team, what would you prefer? I was aiming to match the other places MYSQLI_STORE_RESULT_COPY_DATA was used, but if #define 0 is an option, that might be cleaner. ------------------------------------------------------------------------ [2014-05-03 07:31:22] andy at webtatic dot com I see someone has already implemented a fix (although more complex solution that doesn't match the way MYSQLI_ASYNC is done) https://github.com/php/php-src/commit/06a03bbfa60bedb3f30bb2908449fc30d54f848e ------------------------------------------------------------------------ [2014-05-03 07:13:20] andy at webtatic dot com Description: ------------ Due to the way the new fetching mode for mysqlnd was added, it fails to compile the extension with libmysql. The reason is because of a typo in the non-mysqlnd constant definition #define MYSQLI_STORE_RESULT_OFS 0 This should be #define MYSQLI_STORE_RESULT_COPY_DATA 0 The constant is used outside of a #ifdef MYSQLI_USE_MYSQLN, and setting it to 0 appears to be the correct way to use it from looking at how MYSQLI_ASYNC works Test script: --------------- ./configure --with-mysqli=shared,/usr/lib64/mysql/mysql_config make Expected result: ---------------- Successful compilation Actual result: -------------- ext/mysqli/mysqli_nonapi.c: In function 'zif_mysqli_query': ext/mysqli/mysqli_nonapi.c:578: error: 'MYSQLI_STORE_RESULT_COPY_DATA' undeclared (first use in this function) ext/mysqli/mysqli_nonapi.c:578: error: (Each undeclared identifier is reported only once ext/mysqli/mysqli_nonapi.c:578: error: for each function it appears in.) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=67186&edit=1

« previous php.bugs (#185662) next »