#22273 [Fbk]: Cannot load libphp4.so into server: Unresolved external
ID: 22273 Updated by: [EMAIL PROTECTED] Reported By: germano60 at yahoo dot it Status: Feedback Bug Type: Apache2 related Operating System: HP-UX 11.00 PHP Version: 4.3.2-dev New Comment: And another thing to try: GCC 2.95.3 (the latest versions of anything aren't always the best ones :) Previous Comments: [2003-02-24 04:03:57] [EMAIL PROTECTED] Could you try this with using Apache 1.3.27 instead? (I'd like to be sure it's stricly apache2 related) [2003-02-24 03:59:14] germano60 at yahoo dot it I tried but yet nope. I got this additional message during make, at linking phase: *** Warning: linker path does not have real file for library -lgcc. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because I did check the linker path looking for a file starting *** with libgcc and none of the candidates passed a file format test *** using a file magic. Last file checked: /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/libgcc.a *** Warning: libtool could not satisfy all declared inter-library *** dependencies of module libphp4. Therefore, libtool will create *** a static module, that should work as long as the dlopening *** application is linked with the -dlopen flag. Additionally, make install returned the following message (I added the to highlight a possible critical point): Installing PHP CLI binary:/usr/local/bin/ Installing PHP CLI man page: /usr/local/man/man1/ Installing PHP SAPI module /usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' libphp4.la /usr/local/apache2/modules /usr/local/apache2/build/libtool --mode=install cp libphp4.la /usr/local/apache2/modules/ cp .libs/libphp4.lai /usr/local/apache2/modules/libphp4.la cp .libs/libphp4.a /usr/local/apache2/modules/libphp4.a ranlib /usr/local/apache2/modules/libphp4.a chmod 644 /usr/local/apache2/modules/libphp4.a libtool: install: warning: remember to run `libtool --finish /opt/php4-STABLE-200302190830/libs' Warning! dlname not found in /usr/local/apache2/modules/libphp4.la. Assuming installing a .so rather than a libtool archive. chmod 755 /usr/local/apache2/modules/libphp4.so [activating module `php4' in /usr/local/apache2/conf/httpd.conf] Installing shared extensions: [ ... I skip this, everything regular ... ] [2003-02-23 05:34:53] [EMAIL PROTECTED] Can you try adding this to your configure line: --enable-libgcc [2003-02-19 22:58:23] [EMAIL PROTECTED] Just noticed there's some HPUX related note in the httpd.conf about not running it as 'nobody'..I guess you know this too? [2003-02-19 22:57:32] [EMAIL PROTECTED] Simple 'bt full' output would have been enough.. :) Anyway, does it do the same if you run it with 'httpd -X' ? (provide that backtrace, and just the bt output) (gdb) run -X crash? (gdb) bt full (and to be absolutely sure this is php bug, I assume that apache works fine without PHP in httpd.conf? :) 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 http://bugs.php.net/22273 -- Edit this bug report at http://bugs.php.net/?id=22273edit=1
#22273 [Fbk]: Cannot load libphp4.so into server: Unresolved external
ID: 22273 Updated by: [EMAIL PROTECTED] Reported By: germano60 at yahoo dot it Status: Feedback Bug Type: Apache2 related Operating System: HP-UX 11.00 PHP Version: 4.3.0 New Comment: Just noticed there's some HPUX related note in the httpd.conf about not running it as 'nobody'..I guess you know this too? Previous Comments: [2003-02-19 22:57:32] [EMAIL PROTECTED] Simple 'bt full' output would have been enough.. :) Anyway, does it do the same if you run it with 'httpd -X' ? (provide that backtrace, and just the bt output) (gdb) run -X crash? (gdb) bt full (and to be absolutely sure this is php bug, I assume that apache works fine without PHP in httpd.conf? :) [2003-02-19 12:06:21] germano60 at yahoo dot it Here you are the trace I got with gdb (long). My comments are highlighted with // Hope this can help. Apparently, the apr_filepath_merge() method invoked by load_module() fails during the strlen() evaluation. Very odd, also because the parameters with the module name and the relative path for libphp4.so are correct until that point. Here you have the gdb trace: 0x0006631c in execute_now ( \ cmd_line=0x40068fb8 LoadModule, \ args=0x7f7f158b php4_modulemodules/libphp4.so, \ parms=0x7f7f1340, \ p=0x0, \ ptemp=0x40063480, \ sub_tree=0x7f7f3640, \ parent=0x0) at config.c:1343 // Contents of *args: (gdb) x/sg 0x7f7f158b 0x7f7f158b: php4_modulemodules/libphp4.so // Contents of *parms: (gdb) x/xw 0x7f7f1340 0x7f7f1340: 0x // Contents of *p (looks like a NULL pointer): (gdb) x/xw 0x0 0x0:Error accessing memory address 0x0: Invalid argument. // Contents of *ptemp: (gdb) x/xw 0x40063480 0x40063480 end+305600:0x400292b0 // Contents of **subtree (looks like a NULL pointer): (gdb) x/xw 0x7f7f3640 0x7f7f3640: 0x // Contents of *parent (looks like a NULL pointer): (gdb) x/xw 0x0 0x0:Error accessing memory address 0x0: Invalid argument. (gdb) si 1351return invoke_cmd(cmd, parms, sub_tree, args); // skip all the routine call steps of the kind // (gdb) si // 0x000663xx 1343if (!(cmd = ap_find_command_in_modules(cmd_line, mod))) { // // Test on the first argument (gdb) si invoke_cmd (cmd=0x40068fb8, parms=0x40001000, mconfig=0x7f7f3584, args=0x0) at config.c:698 698 { // Skip some code // Final invoke after parsing the complete LoadModule directive (gdb) s invoke_cmd (cmd=0x40008cd4, parms=0x7f7f1340, mconfig=0x7f7f3640, args=0x7f7f15b0 ) at config.c:735 735 if (*w == '\0' || *w2 == '\0' || *args != 0) (gdb) si 733 w2 = ap_getword_conf(parms-pool, args); (gdb) si 735 if (*w == '\0' || *w2 == '\0' || *args != 0) (gdb) si 0x00064bf8 735 if (*w == '\0' || *w2 == '\0' || *args != 0) (gdb) si 0x00064bfc 735 if (*w == '\0' || *w2 == '\0' || *args != 0) (gdb) si 0x00064c00 735 if (*w == '\0' || *w2 == '\0' || *args != 0) (gdb) si 0x00064c04 735 if (*w == '\0' || *w2 == '\0' || *args != 0) (gdb) si 0x00064c08 735 if (*w == '\0' || *w2 == '\0' || *args != 0) (gdb) si 0x00064c0c 735 if (*w == '\0' || *w2 == '\0' || *args != 0) // Value of parameters at this point: (gdb) info scope config.c:735 Scope for config.c:735: Symbol cmd is an argument in register $r4, length 4. Symbol parms is an argument in register $r3, length 4. Symbol mconfig is an argument in register $r8, length 4. Symbol args is an argument at stack/frame offset -48, length 4. Symbol w is a local variable in register $r5, length 4. Symbol w2 is a local variable in register $r7, length 4. Symbol w3 is a local variable in register $ret0, length 4. Symbol errmsg is a local variable in register $ret0, length 4. (gdb) info registers flags: 2941 sr5: d25cc00 r1: 40015458 sr6: 47df000 rp:64bef sr7: 47df000 r3: parms 7f7f1340 cr0: 10bb9c8 r4: cmd 40008cd4 cr8: 10bf r5: w 40069010 cr9: 809 r6: 40001000 ccr: 2050f8 r7: w2 40069020 cr12: 10 r8: mconfig 7f7f3640 cr13:af43c r9: 7f7f1340 cr24:43ff7 r10: 40063480 cr25: 718740 r11: 400098cc cr26: c600 r12: 7f7f3580 mpsfu_high: 4001b810 r13:
#22273 [Fbk]: Cannot load libphp4.so into server: Unresolved external
ID: 22273 Updated by: [EMAIL PROTECTED] Reported By: germano60 at yahoo dot it Status: Feedback Bug Type: Apache2 related Operating System: HP-UX 11.00 PHP Version: 4.3.0 New Comment: The latest snapshot should fix the crypt issue.. Try this configure line: ./configure --disable-all --with-mysql --with-pcre-regex --with-apxs2=/usr/local/apache2/bin/apxs (--disable-all disables every 'by-default' extension) Previous Comments: [2003-02-18 11:53:22] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip [2003-02-18 09:12:56] germano60 at yahoo dot it Hello I already looked in the support resources and in the bug lists but could not find a suitable clue. I compiled apache and php then when I tried to start the web server, but this is the error message I got: Syntax error on line 233 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp4.so into server: Unresolved external The error line did not return any further indications about which external did not resolve. Configuration: hp-ux 11.00 php 4.3.0 apache 2.0.44 gcc 3.2 Apache was generated with: ./configure \ --prefix=/usr/local/apache2 \ --enable-so Php4.3.0 was configured with: ./configure \ --with-mysql \ --with-apxs2=/usr/local/apache2/bin/apxs I modified the configure script for PHP by replacing invokes of -lcrypt with -lc and of -ltermcap with -lcurses to get libphp4.so generated by php's make install under the hp-ux 11 platform. php's make and make install succeeded. DSO modules were installed in the Apache2's default location /usr/local/apache2/modules and this is also where PHP's make install stored the library libphp4.so. In httpd.conf I added the following line: LoadModule php4_module modules/libphp4.so I'm not sure whether this is really a bug or due to my minimal configuration - I tried some of the hints I found in the support/bugs but without success. Thanks in advance. Germano Gasparini - germano60 at yahoo dot it -- Edit this bug report at http://bugs.php.net/?id=22273edit=1