Ticket #3572 (assigned defect)

Opened 7 months ago

Last modified 3 weeks ago

microserver: dynamic-load: Can't find library libphp-std_u-3.0c.so

Reported by: leniviy Assigned to: weyrick (accepted)
Priority: immediate Milestone:
Component: Microserver Version:
Severity: block Keywords:
Cc:

Description

LD_LIBRARY_PATH=/usr/local/lib PCC_CONF=/usr/local/etc/pcc.conf /usr/local/lib/libphp-std_u-3.0c.so and /usr/local/etc/pcc.conf exist. I didn't edit pcc.conf. There's a string in it: (library "./" "/usr/local/lib")

[root@VMLinux wtorrent]# ./myapp -p 8080
<br /><b>Fatal error:</b> Extension libphp-std_u-3.0c.so didn't load because:
dynamic-load: Can't find library libphp-std_u-3.0c.so
You may wish to remove this extension from /usr/local/etc/pcc.conf if it exists. in unknown on line 0<br />

if I copy libphp-std_u-3.0c.so the same directory where myapp it starts. But in browser I get this error:

Fatal error: Unable to identify class or object: SQLiteDatabase in lib/cls/Web.cls.php on line 47
Stack trace:
File index.php line 29: getClass(ListT)
File lib/cls/Web.cls.php line 96: __construct
File cls/rtorrent.cls.php line 40: __construct

snapshot 20080412 configure params were: --prefix=/usr/local --with-fcgi --with-sockets --with-pcre --with-xml --with-sqlite3

Change History

04/14/08 07:17:07 changed by weyrick

  • owner changed from anonymous to weyrick.
  • status changed from new to assigned.

For the first problem: please run it with "-d 2" and paste the output. The second problem isn't a bug per se: we don't support the OO interface to the sqlite extension, only the procedural. The PDO sqlite classes are available, but not very well tested at this point.

04/14/08 08:21:20 changed by leniviy

[root@VMLinux pcc]# ./myapp -d 2 -p 8080
>>>   loading compiled library libmyapp_u-3.0c.so [myapp]
>>>  Running file: /mhttpd_startup.inc, webapp-lib: myapp, index-file: 
>>>  loading 'web-libs' libraries from pcc.conf: (php-std)
>>>   loading compiled library libphp-std_u-3.0c.so [php-std]


<br /><b>Fatal error:</b> Can't find library in unknown on line 0<br />
<pre>--- Bigloo Stack:

</pre>

[] Running http server on http://localhost:8080/

04/14/08 09:34:05 changed by weyrick

Well, that's a different error altogether. Is this with libphp-std_u.so in the same directory or not?

04/14/08 09:42:03 changed by leniviy

it's in /usr/local/lib

04/14/08 09:55:15 changed by weyrick

ok, then it is loading libphp-std_u.so according to your output. So, I'm not sure what the bug is here anymore.

04/15/08 04:00:14 changed by leniviy

maybe this will give you a hint (-d 1):

[root@VMLinux myapp]# ./myapp -d 1 -p 8080
>>>  Running file: /mhttpd_startup.inc, webapp-lib: myapp, index-file: 
>>>  loading 'web-libs' libraries from pcc.conf: (php-std)
>>>  LD_LIBRARY_PATH is: /usr/local/lib
>>>  dynamic-load-path is: (/opt/roadsend/pcc/ ./ /opt/roadsend/pcc/libs /root/bin /usr/bin /usr/sbin /bin /sbin /usr/local/bin /usr/local/sbin /usr/kerberos/bin /usr/kerberos/sbin /usr/lib/qt-3.3/bin .)

<br /><b>Fatal error:</b> Extension libphp-std_u-3.0c.so didn't load because:
dynamic-load: Can't find library libphp-std_u-3.0c.so
You may wish to remove this extension from /usr/local/etc/pcc.conf if it exists. in unknown on line 0<br />
[] Running http server on http://localhost:8080/
[] server shutdown

04/15/08 07:08:43 changed by weyrick

The dynamic-load-path doesn't show /usr/local/lib ... are you sure it's in pcc.conf, and that the line it's on does not begin with a semi-colon? This is probably an annoying configuration issue rather than a bug. Perhaps we could add a mode that would verify library paths and available extensions to help solve issues like this.

04/15/08 08:06:05 changed by leniviy

maybe microserver doesn't find pcc.conf? I put garbage to pcc.conf. It affected pcc and fcgi, but it made no difference to microserver.

[root@VMLinux pcc]# pcc --microserver myapp index.php 
*** ERROR:error-handler:
/usr/local/etc/pcc.conf: Malformed configuration directive: a -- error-handler
[root@VMLinux pcc]# ./myapp.fcgi 
*** ERROR:error-handler:
/usr/local/etc/pcc.conf: Malformed configuration directive: a -- error-handler
[root@VMLinux pcc]# ./myapp -d 1 -p 8080
>>>  Running file: /mhttpd_startup.inc, webapp-lib: myapp, index-file: 
>>>  loading 'web-libs' libraries from pcc.conf: (php-std)
>>>  LD_LIBRARY_PATH is: /usr/local/lib
>>>  dynamic-load-path is: (/opt/roadsend/pcc/ ./ /opt/roadsend/pcc/libs /root/bin /usr/bin /usr/sbin /bin /sbin /usr/local/bin /usr/local/sbin /usr/kerberos/bin /usr/kerberos/sbin /usr/lib/qt-3.3/bin .)


<br /><b>Fatal error:</b> Extension libphp-std_u-3.0c.so didn't load because:
dynamic-load: Can't find library libphp-std_u-3.0c.so
You may wish to remove this extension from /usr/local/etc/pcc.conf if it exists. in unknown on line 0<br />
[] Running http server on http://localhost:8080/

04/15/08 08:33:21 changed by weyrick

yeah, that could be. libphp-std_u-3.0c.so should be linked to the executable, though. do you see it in the list when you run "ldd <bin name>"?

04/15/08 08:41:02 changed by leniviy

libphp-std_u-3.0c.so => /usr/local/lib/libphp-std_u-3.0c.so (0x0032c000)

04/17/08 13:35:09 changed by weyrick

i've added the lib dir generated via configure into the default-lib-path. i believe we might also ened to add it to the micro stub though. that patch is forthcoming

04/23/08 09:18:22 changed by weyrick

  • milestone set to 2.9.7.

10/29/08 09:47:11 changed by

  • milestone deleted.

Milestone 2.9.7 deleted