Bug 1034584

Summary: Fail to install packages to zend apps (both zend-5.6 and 6.1) due to "Unable to load dynamic library" error
Product: OpenShift Online Reporter: Zhe Wang <zhewang>
Component: ImageAssignee: Vojtech Vitek <vvitek>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 2.xCC: david.l, hripps, vvitek, xtian
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-30 00:50:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Zhe Wang 2013-11-26 07:16:01 UTC
Description of problem:
It always fails to install packages to a zend-6.1 or 5.6 app, due to the error of "ERROR: The default config file is not a valid config file or is corrupted."

Version-Release number of selected component (if applicable):
vvitek-Zend-QE-preserve

How reproducible:
always

Steps to Reproduce:
1. create a zend-6.1 or 5.6 app

2. modify deplist.tet to install a package, for example, Validate-0.8.4
cat "channel://pear.php.net/Validate" > deplist.txt

3. push the change and trigger the installation

Actual results:
The installation fails with the errors below:

remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/bz2.so' - /usr/lib64/php/modules/bz2.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/calendar.so' - /usr/lib64/php/modules/calendar.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ctype.so' - /usr/lib64/php/modules/ctype.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/exif.so' - /usr/lib64/php/modules/exif.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ftp.so' - /usr/lib64/php/modules/ftp.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/gettext.so' - /usr/lib64/php/modules/gettext.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/intl.so' - /usr/lib64/php/modules/intl.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/ldap.so' - /usr/lib64/php/modules/ldap.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_mysql.so' - /usr/lib64/php/modules/pdo_mysql.so: undefined symbol: php_pdo_register_driver in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_pgsql.so' - /usr/lib64/php/modules/pdo_pgsql.so: undefined symbol: php_pdo_register_driver in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pgsql.so' - /usr/lib64/php/modules/pgsql.so: undefined symbol: lo_import_with_oid in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/sockets.so' - /usr/lib64/php/modules/sockets.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/tokenizer.so' - /usr/lib64/php/modules/tokenizer.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/xsl.so' - /usr/lib64/php/modules/xsl.so: undefined symbol: dom_node_class_entry in Unknown on line 0
remote: ERROR: The default config file is not a valid config file or is corrupted.
remote: An error occurred executing 'gear postreceive' (exit code: 1)

Expected results:
It should be successful to install packages to zend-6.1 apps.

Additional info:

Comment 1 Vojtech Vitek 2013-11-26 16:35:39 UTC
Could be related to bug 1025275.

Comment 2 David Lowes - Zend 2013-12-01 14:55:44 UTC
The specific errors you are seeing indicate that LD_LIBRARY_PATH is not set properly in the gear.  For version 5.6 it should point to /usr/local/zend/lib .
For 6.1 it should point to: /usr/local/zend-server-6-php-5.4/lib . Vojtech fixed this issue in one of the recent updates. Please re-test this issue.

Comment 3 David Lowes - Zend 2013-12-01 16:12:50 UTC
I've created an update to the Zend Server cartridge that will fix the problem for 6.1 apps.

Comment 4 David Lowes - Zend 2013-12-01 16:16:19 UTC
Another note: In our cartridge I configured the default stability of pecl/pear to "stable". This means that if you want to install beta or unstable packages you have to specify the full version number.

So To test properly modify step two in the issue description:


2. modify deplist.txt to install a package, for example, Validate-0.8.5
cat "channel://pear.php.net/Validate-0.8.5" > deplist.txt

Comment 5 David Lowes - Zend 2013-12-01 16:18:13 UTC
Also in this case you should remove the "hot_deploy" marker before pushing (this is one of the rare cases in which you should restart the app).

Comment 6 David Lowes - Zend 2013-12-01 18:01:02 UTC
Actually "Validate" or any other pecl/pear module that only contains php files and does not compile binary extensions can work with hot_deploy.

Comment 7 Zhe Wang 2013-12-02 08:02:49 UTC
Hi, David & Vojtech,

Thanks for your work. Although the warnings still exist when installing packages for zend apps (5.6 or 6.1), the installation actually succeeds after your fix:

....
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/zend/lib/php/20100525/sockets.so' - /usr/local/zend/lib/php/20100525/sockets.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/zend/lib/php/20100525/tidy.so' - /usr/local/zend/lib/php/20100525/tidy.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/zend/lib/php/20100525/tokenizer.so' - /usr/local/zend/lib/php/20100525/tokenizer.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/zend/lib/php/20100525/xsl.so' - /usr/local/zend/lib/php/20100525/xsl.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/zend/lib/php/20100525/zip.so' - /usr/local/zend/lib/php/20100525/zip.so: cannot open shared object file: No such file or directory in Unknown on line 0
remote: Failed to download pear/Net_IDNA within preferred state "stable", latest release is version 0.8.1, stability "beta", use "channel://pear.php.net/Net_IDNA-0.8.1" to install
remote: pear/Validate can optionally use package "pear/Net_IDNA" (version >= 0.7.1)
remote: downloading Validate-0.8.5.tgz ...
remote: Starting to download Validate-0.8.5.tgz (21,668 bytes)
remote: ........done: 21,668 bytes
remote: downloading Date-1.4.7.tgz ...
remote: Starting to download Date-1.4.7.tgz (55,754 bytes)
remote: ...done: 55,754 bytes
remote: install ok: channel://pear.php.net/Validate-0.8.5
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
remote: install ok: channel://pear.php.net/Date-1.4.7
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
remote: Preparing build for deployment
remote: Deployment id is aee40da0
remote: Activating deployment
remote: Not starting cartridge zend because hot deploy is enabled
remote: Result: success
remote: Activation status: success
....

Would you please move the bug to ON_QA, then I will verify it literally.

Thanks,
Zhe Wang

Comment 8 Zhe Wang 2013-12-02 09:35:17 UTC
Verify the bug according to comment#7.