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> "$@" -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list