php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #53617 Unable to run "make test" after building
Submitted: 2010-12-28 04:27 UTC Modified: 2015-06-09 19:42 UTC
Votes:2
Avg. Score:4.0 ± 1.0
Reproduced:2 of 2 (100.0%)
Same Version:0 (0.0%)
Same OS:1 (50.0%)
From: cvickery at gmail dot com Assigned: cmb (profile)
Status: Duplicate Package: Testing related
PHP Version: 5.3.4 OS: os x 10.5.8
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: cvickery at gmail dot com
New email:
PHP Version: OS:

 

 [2010-12-28 04:27 UTC] cvickery at gmail dot com
Description:
------------
After running configure with '--with-
oci8=instantclient,/opt/oracle/app/oracle/lib' PHP builds, installs, and runs 
successfully (using both apache 2.2.14 and the cli). However, attempting to run 
"make test" in the build directory results in every test failing. tests/run-
tests/test001.out, for example, contains:

dyld: Library not loaded: /b/227/rdbms/lib/libclntsh.dylib.10.1
  Referenced from: /Users/vickery/Downloads/php-5.3.4/sapi/cli/php
  Reason: image not found

But libclntsh.dylib.10.1 is actually located in /opt/oracle/app/oracle/lib
(When starting apache, the DYLD_LIBRARY_PATH environment variable must be set to 
/opt/oracle/app/oracle/lib.)

But having DYLD_LIBRARY_PATH properly set when running "make test" does not 
solve the problem; the tests seem to be run in a separate environment not 
inherited from the command line (?)

Test script:
---------------
This is a build bug, so there is no test script available.

Workaround:

If I add the following statement to run-tests.php at line 1690, the problem goes away:

$env['DYLD_LIBRARY_PATH'] = '/opt/oracle/app/oracle/lib';

Of course, this is not a real fix; it just demonstrates the need for build-test.php to add the value of DYLD_LIBRARY_PATH to the $env variable being passed to system_with_timeout(). On OS X. When configuring with oci8=instantclient,[path]





Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-12-28 04:36 UTC] cvickery at gmail dot com
In a parenthetical note, I mentioned that DYLD_LIBRARY_PATH has to be set for 
apache to launch successfully. But I failed to mention that, of course, it must 
also be set when launching the cli.
 [2011-01-11 20:06 UTC] sixd@php.net
-Status: Open +Status: Feedback
 [2011-01-11 20:06 UTC] sixd@php.net
I've seen a similar thing with PHP's run-tests.php on some Linux shells.
The best solution there is to make sure php.ini's variables_order has "E", for example "EGPCS".  See step 2 on p246 of the Underground PHP & Oracle Manual.

Let us know if this is also a viable workaround.
 [2011-01-11 20:07 UTC] sixd@php.net
-Assigned To: +Assigned To: sixd
 [2011-01-12 02:09 UTC] cvickery at gmail dot com
-Status: Feedback +Status: Assigned
 [2011-01-12 02:09 UTC] cvickery at gmail dot com
That was it!

Also, I was wondering why the make test worked on my deployment system, and see 
that variables_order did include 'E' on that one.

Thanks!
 [2011-01-12 02:17 UTC] sixd@php.net
-Package: OCI8 related +Package: Unknown/Other Function
 [2011-01-12 02:17 UTC] sixd@php.net
Thanks for the confirmation.  This is a run-tests.php issue.
 [2011-01-12 02:17 UTC] sixd@php.net
-Status: Assigned +Status: Open -Assigned To: sixd +Assigned To:
 [2011-09-26 22:51 UTC] tyrael@php.net
-Package: Unknown/Other Function +Package: Testing related
 [2015-06-09 19:42 UTC] cmb@php.net
-Status: Open +Status: Duplicate -Assigned To: +Assigned To: cmb
 [2015-06-09 19:42 UTC] cmb@php.net
This is a duplicate of bug #60981 (actually, it is the other way
round, but the other ticket has a patch attached).
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 05 02:01:30 2024 UTC