Op 2005-03-31, Joal Heagney schreef <[EMAIL PROTECTED]>:
Joal Heagney wrote:
Roman Yakovenko wrote:
Thanks for help. But it is not exactly solution I am looking for. I would like to do it from python script. For example
update_env() #<- this function will change LD_LIBRARY_PATH import extension_that_depends_on_shared_library
Roman
On Mar 31, 2005 9:35 AM, John Abel <[EMAIL PROTECTED]> wrote:
With Solaris 8+ you would use the command crle, with Linux (RedHat/SuSE/Mandrake) you need to add the relevant directories /etc/ld.so.conf and run ldconfig. I've not got a Debian box to hand, so I can't say if it matches, but that should give you a pointer.
I think I should have permissions to do it. (more over users of my scripts should have permissions )
Yep. Unfortunatly if you don't have access to the /etc/ld.so.conf file, the only option left is your wrapper script idea. (By the way, have you actually tested to see if setting the LD_LIBRARY_PATH actually works? If not, you're really up the creek.)
If the script is in shell, you could use something like:
(Dotted lines denote start and end of script, not actual script content) ----------------------------------------------------------- #!/bin/sh if ! echo ${LD_LIBRARY_PATH} | /bin/fgrep -q "/path/to/your/library" then export LD_LIBRARY_PATH=$oldpath":/path/to/your/library" fi <wrapped program> $* -----------------------------------------------------------
This will check to see if your library path is in the LD_LIBRARY_PATH, set it if it's not, and then run your wrapped program, passing it the arguments that the wrapper script was called by.
Joal
Aaaarrrrggghhhh. Too long since I've programmed in script. Plus it doesn't help changing your mind about implementation halfway through. The script should read something like this:
----------------------------------------------------------- #!/bin/sh if ! echo ${LD_LIBRARY_PATH} | /bin/fgrep -q "/path/to/your/library" then export LD_LIBRARY_PATH=$LD_LIBRARY_PATH":/path/to/your/library" fi <wrapped program> $* -----------------------------------------------------------
And you should change that last line to:
<wrapped program> "$@"
Ah yes, because we want the arguments passed in as seperate words, not as a whole string.
Serves me right for testing this out as:
#!/bin/sh echo $*
:)
Joal -- http://mail.python.org/mailman/listinfo/python-list