Bug #62971 [Opn->Csd]: cannot get ./configure and make to both complete - one or the other fails

From: Date: Tue, 24 Nov 2015 22:22:53 +0000
Subject: Bug #62971 [Opn->Csd]: cannot get ./configure and make to both complete - one or the other fails
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-197401@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=62971&edit=1 ID: 62971 Updated by: kaplan@php.net Reported by: mamfelt at gmail dot com Summary: cannot get ./configure and make to both complete - one or the other fails -Status: Open +Status: Closed Type: Bug Package: Compile Failure Operating System: AIX PHP Version: 5.4.6 -Assigned To: +Assigned To: kaplan Block user comment: N Private report: N New Comment: Fixed for 5.6 and 7.0 branches. See bug #61751 (SAPI build problem on AIX: Undefined symbol: php_register_internal_extensions). Previous Comments: ------------------------------------------------------------------------ [2012-12-26 14:06:54] mamfelt at gmail dot com Please close this BR. I have listed too many issues for this to ever resolve cleanly. Hence, I shall start smaller, more clear bugs to address issues that are still active. re: the C++ comments "issue" causing the sqlite3 compile confusion - I am now adding a flag to recognize C++ style comments. IMHO, if not done already, the code will be cleaner if the ONE file (or maybe two) with C++ comments is patched to remove the C++ comments. ------------------------------------------------------------------------ [2012-08-30 13:36:51] mamfelt at gmail dot com Update: After correcting the comments to /* */ (will use compiler flag in the future) I ran make and it completed with an error for both 5.3.16 and 5.4.6 5.3.16 /cli/php_cli.lo sapi/cli/php_cli_readline.lo main/internal_functions_cli.lo -lrt -liconv -lsqlite3 -lrt -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -o sapi/cli/php ld: 0711-317 ERROR: Undefined symbol: .sqlite3_column_table_name ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. make: *** [sapi/cli/php] Error 8 5.4.6 i/cli/php_cli_server.lo -lrt -liconv -lsqlite3 -lrt -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -o sapi/cli/php ld: 0711-319 WARNING: Exported symbol not defined: php_register_internal_extensions ld: 0711-317 ERROR: Undefined symbol: php_register_internal_extensions ld: 0711-317 ERROR: Undefined symbol: .sqlite3_column_table_name ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. make: *** [sapi/cli/php] Error 8 === After performing a 'make distclean' on both I reran configure with no extra statement re: sqlite3, i.e. for both 5.3.16 and 5.4.6 # ./configure --prefix=/opt --sysconfdir=/etc --mandir=/usr/share/man configure and make for 5.3.16 complete as expected configure completes, but make fails for 5.4.6 -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -lxml2 -liconv -lm -o sapi/cli/php ld: 0711-319 WARNING: Exported symbol not defined: php_register_internal_extensions ld: 0711-317 ERROR: Undefined symbol: php_register_internal_extensions ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. make: *** [sapi/cli/php] Error 8 root@x104:[/data/prj/php-5.4.6] -- maybe for this (ERROR: Undefined symbol: php_register_internal_extensions) -- I should submit a new bug - please advise. ------------------------------------------------------------------------ [2012-08-30 11:47:06] mamfelt at gmail dot com p.s. I have peeked at ext/sqlite3/sqlite3.c and the only issue is this is the one place in PHP code that is using // comments rather than /* comments */ The AIX compiler can recognize // comments - however, may I interject that this is the ONLY file in PHP that seems to be using them. Maybe /* comment */ is the norm in PHP and this could be adjusted. Not a bug! just not consistent. My questions regarding the behavior of --with-sqlite3 is still open. Thank you for your consideration. ------------------------------------------------------------------------ [2012-08-30 11:38:53] mamfelt at gmail dot com reply to pajoye My first example is: # ./configure --prefix=/opt --sysconfdir=/etc --mandir=/usr/share/man --with-sqlite3=/opt configure completes correctly, but make fails (also version 5.3.16 - tested today, and 5.3.14 from memory.) Right now I am try to 'not' comment on the reason for a syntax error in the embedded sqlite3. That is not exciting to me right now (maybe later). Right now I am focusing on getting a minimum build complete so I can move on to the packaging scripts to create an installp file. Then I shall try to make a "maximum" capability - i.e., as many as I get to build - version of php. If I understand your comment the --help text should be read as: --without-sqlite3 || --with-sqlite3=DIR Second question: If I use the --with-sqlite3=DIR option should make still be trying to build (and I assume link) the embedded version? From your comments I would think not. ------------------------------------------------------------------------ [2012-08-30 08:01:30] pajoye@php.net sqlite3 is enabled by default, use --without-sqlite3 only if you do not want it. PHP also includes libsqlite as well as part of the distribution, so you do not have to install or use the system one. However you can still do it by using: --with-sqlite3=/usr for example. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=62971 -- Edit this bug report at https://bugs.php.net/bug.php?id=62971&edit=1

« previous php.bugs (#197401) next »