473,406 Members | 2,620 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

Problem with exec and LD_LIBRARY_PATH

Is there a way to get PHP to define LD_LIBRARY_PATH when using
exec to start an external program?

I wrote an xml validation utility in C++ that links to the Xerces C library.
I linked with the -rpath option, so that I should not have to
manually set the LD_LIBRARY_PATH to find the Xerces shared object.
This works fine from the command line. I can run my tool and it finds
the library without having LD_LIBRARY_PATH set.
(If -rpath is not used when linking an ELF executable,
the contents of the environment variable "LD_RUN_PATH"
will be used if it is defined.)

But when I try to run the tool through PHP using exec()
I get this error:
xml_validate: error while loading shared libraries:
libxerces-c.so.25: cannot open shared object file:
No such file or directory
This is the error I would get from the command line if I
didn't use the -rpath linker option and had not set LD_LIBRARY_PATH.
Does PHP do something that bypasses the run time linker options?
If so then I assume this is for safety, but checking my safe_mode options
I find this:
safe_mode: Off
safe_mode_exec_dir: no value
safe_mode_gid: Off
safe_mode_include_dir: no value

Is there a way to get PHP to define LD_LIBRARY_PATH when using
exec to start an external program?

I'm using PHP 4.3.5.

Any help or advice is appreciated.

Yours,
Noah
Jul 17 '05 #1
1 4029
In article <c9**************************@posting.google.com >,
no**@noah.org (Noah) wrote:
Is there a way to get PHP to define LD_LIBRARY_PATH when using
exec to start an external program?


Maybe you can use <http://nl.php.net/manual/en/function.putenv.php> ?

(I never used this myself so I might be way off.)

JP

--
Sorry, <de*****@cauce.org> is een "spam trap".
E-mail adres is <jpk"at"akamail.com>, waarbij "at" = @.
Jul 17 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Mathieu Drapeau | last post by:
Hi, I would like to do something like below but I lost my arguments passed via an html web page when I reload python within my script: /import os,sys dirName = "/opt/oracle/product/9.2.0/lib"...
15
by: David Bear | last post by:
I've googled for the above and get way too many hits.. I'm looking for an 'easy' way to have the last item in a list returned. I've thought about list but thought there would be a more...
3
by: Christian Eriksson | last post by:
Hi! I'm programming Perl DBI accessing Informix databases. I have a problem on a Solaris machine to use my installed Informix driver (DBD::Informix). I get the following error message: ...
1
by: Christian Eriksson | last post by:
Hi! I have a problem using the environment variable LD_LIBRARY_PATH in my perl script. Everything works fine when I set it at the command prompt and then runs my perl script like this: ...
0
by: Rich Cullingford | last post by:
Hello, I've been trying to automate the installation of a PG 7.3.3 database on a new machine, starting with a tarball containing the 'binaries' for the system (i.e., everything but PGDATA). (The...
1
by: pavelbelousov | last post by:
I have a problem to connect to db2 connect on suse os/390. I've created 2 classes DB_R.java driver type 4. and DB_L.java driver type 2. When I run I have result: Driver type 4 works...
0
by: Brian Cole | last post by:
I can compile and install cx_Oracle fine by following the manta: export ORACLE_HOME=... python setup.py install export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH python >>> import...
1
by: liam_herron | last post by:
I have compiled my boost-enabled C++ module and have it working when I explicity set my LD_LIBRARY_PATH before invoking the python2.4 interpreter. Now I don't want everyone to have to set this...
5
by: Visa Inquirer | last post by:
I need my program to always link to a particular shared library, not the one in LD_LIBRARY_PATH. Is there a way to specify shared library by full path when linking so that when running...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.