Edit report at https://bugs.php.net/bug.php?id=62971&edit=1

 ID:                 62971
 User updated by:    mamfelt at gmail dot com
 Reported by:        mamfelt at gmail dot com
 Summary:            cannot get ./configure and make to both complete -
                     one or the other fails
 Status:             Open
 Type:               Bug
 Package:            Compile Failure
 Operating System:   AIX
 PHP Version:        5.4.6
 Block user comment: N
 Private report:     N

 New Comment:

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.


Previous Comments:
------------------------------------------------------------------------
[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] paj...@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.

------------------------------------------------------------------------
[2012-08-30 06:03:33] mamfelt at gmail dot com

FYI: I understand why the 5.2.17 ./configure complained - no intent on sqlite3, 
was just sqlite "back then".

>From below you can see the version of sqlite I have pre-loaded is 3.6.22

root@x104:[/data/prj]find . -name sqlite3.c -ls
733476 4419 -rw-r-----  1 michael   staff      4524415 Aug 15 19:05 
./php-5.3.16/ext/sqlite3/libsqlite/sqlite3.c
733446   66 -rw-r-----  1 michael   staff        67532 Aug 15 19:05 
./php-5.3.16/ext/sqlite3/sqlite3.c
292548 4419 -rw-r--r--  1 michael   nobody     4524464 Aug  9  2011 
./php-5.3.8/ext/sqlite3/libsqlite/sqlite3.c
292518   63 -rw-r--r--  1 michael   nobody       63743 Aug 10  2011 
./php-5.3.8/ext/sqlite3/sqlite3.c
741218 4419 -rw-r--r--  1 michael   staff      4524426 Aug 15 06:26 
./php-5.4.6/ext/sqlite3/libsqlite/sqlite3.c
741176   66 -rw-r--r--  1 michael   staff        67221 Aug 15 06:26 
./php-5.4.6/ext/sqlite3/sqlite3.c
102500 4419 -rw-------  1 michael   staff      4524415 Jun 13 10:18 
./php-5.3.14/ext/sqlite3/libsqlite/sqlite3.c
102438   66 -rw-------  1 michael   staff        67501 Jun 13 10:18 
./php-5.3.14/ext/sqlite3/sqlite3.c
329718 4419 -rw-------  1 michael   staff      4524415 Jun 13 06:54 
./php-5.4.4/ext/sqlite3/libsqlite/sqlite3.c
704810   66 -rw-------  1 michael   staff        67153 Jun 13 06:54 
./php-5.4.4/ext/sqlite3/sqlite3.c
426064 3782 -rw-r--r--  1 michael   nobody     3872493 Jan  5  2010 
./sqlite-3.6.22/sqlite3.c

root@x104:[/data/prj]find . -name sqlite.c -ls 
637193   83 -rw-r--r--  1 michael   nobody       84573 Apr 28  2010 
./php-5.2.17/ext/sqlite/sqlite.c
756929   95 -rw-r-----  1 michael   staff        96718 Aug 15 19:05 
./php-5.3.16/ext/sqlite/sqlite.c
553336   95 -rw-r--r--  1 michael   nobody       96804 Jan  1  2011 
./php-5.3.8/ext/sqlite/sqlite.c
119415   95 -rw-------  1 michael   staff        96712 Jun 13 10:18 
./php-5.3.14/ext/sqlite/sqlite.c

root@x104:[/data/prj]lslpp -L | grep sql
  aixtools.sqlite.rte       3.6.22.0    C     F    sqlite version 3.6.22 

I hope this provides sufficient detail to determine a next step/question. 
Thanks!

p.s. php-5.3.14 and php-5.3.16 also complain about the --without-sqlite3=DIR 
(and also with --without-sqlite=DIR)

root@x104:[/data/prj/php-5.3.16]./configure --prefix=/opt --sysconfdir=/etc 
--mandir=/usr/share/man  --without-sqlite3=/opt
configure: error: sqlite3=/opt: invalid package name
root@x104:[/data/prj/php-5.3.16]./configure --prefix=/opt --sysconfdir=/etc 
--mandir=/usr/share/man  --without-sqlite=/opt 
configure: error: sqlite=/opt: invalid package name

------------------------------------------------------------------------
[2012-08-30 05:45:33] mamfelt at gmail dot com

with php 5.2.7:
# ./configure --prefix=/opt --sysconfdir=/etc --mandir=/usr/share/man  
--with-sqlite3=/opt

configure finishes with:
Thank you for using PHP.

Notice: Following unknown configure options were used:

--with-sqlite3=/opt

Check './configure --help' for available options

make completes successfully - however, ext/sqlite was also compiled without 
fatal errors. Considering the error message (--with-sqlite3 unknown) - not 
surprising.

------------------------------------------------------------------------


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

Reply via email to