473,698 Members | 2,551 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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_PAT H"
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_inclu de_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 4049
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
1129
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" paths = os.environ.get("LD_LIBRARY_PATH", "").split(os.pathsep) if dirName not in paths: paths.insert(0, dirName) os.environ = os.pathsep.join(paths)
15
3641
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 gracefull way.
3
7195
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: install_driver(Informix) failed: Can't load '/usr/perl5/5.6.1/site_perl/sun4-solaris/auto/DBD/Informix/Informix.so' for module DBD::Informix: ld.so.1: /usr/bin/perl: fatal: libifsql.so: open failed: No such file or directory at
1
9253
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: presto1@S0222035> echo $LD_LIBRARY_PATH /SSW/informix/sdk2.50/lib:/SSW/informix/sdk2.50/lib/esql presto1@S0222035> ldd /usr/perl5/5.6.1/site_perl/sun4-solaris/auto/DBD/Informix.so
0
3110
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 idea is to avoid distributing, compiling and cleaning up a full source distro.) I can get the initdb to work correctly, and the postmaster starts, but my attempt in install plpgsql into the database fails with: #...
1
2121
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 fine. Driver type 2 does
0
1869
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 cx_Oracle My issue is the LD_LIBRARY_PATH. Is there a way to compile cx_Oracle, or any Python extension for that matter so that it's not required to set LD_LIBRARY_PATH? Is there a way I can make distutils do this for
1
1988
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 environment variable so I would like to devise a way that the module can load itself. My attempt was to create a module folder with the following __init__.py: -=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= import...
5
3777
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 LD_LIBRARY_PATH is ignored?
0
8609
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9169
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
8899
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8871
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7738
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6528
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4371
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
2335
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2007
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.