Home:ALL Converter>How to escape spaces in library path appended to LD_PRELOAD?

How to escape spaces in library path appended to LD_PRELOAD?

Ask Time:2012-04-09T19:37:54         Author:Dan

Json Formatter

I'm having a problem with LD_PRELOAD on Linux. I'm trying to load a library existing in a directory with spaces in its name, right before launching my application:

> export LD_PRELOAD='/home/myuser/MyApp\ Test/lib/mylib.so'

However, the path is not being taken properly. It gets split where the space exists, so it tries to preload these:

ERROR: ...: object '/home/myuser/MyApp' from LD_PRELOAD cannot be preloaded: ignored
ERROR: ...: object 'Test/lib/mylib.so' from LD_PRELOAD cannot be preloaded: ignored

I'm already escaping the space in 'MyApp Test'. What is the correct way to pass such path?

Edit: exporting without the escaped space as suggested, renders the same results:

export LD_PRELOAD='/home/myuser/MyApp Test/lib/mylib.so'

As well as (no quotes, just escaped space):

export LD_PRELOAD=/home/myuser/MyApp\ Test/lib/mylib.so

Author:Dan,eproduced under the CC 4.0 BY-SA copyright license with a link to the original source and this disclaimer.
Link to original article:https://stackoverflow.com/questions/10072609/how-to-escape-spaces-in-library-path-appended-to-ld-preload
je4d :

The dynamic loader is probably just doing a naive split on spaces, in which case it's impossible to get it to treat the space as part of your path.\n\nYou can work around it by creating a symlink to the library you want to preload that doesn't contain any spaces.\n\nEdit:\n\nconfirmed by http://ubuntuforums.org/showthread.php?t=1142062\n\n\n As other variables like PATH or LD_LIBRARY_PATH, this variable may\n contain list of library names separated by colons. But... for\n compatibility with legacy systems it is possible to separate\n LD_PRELOAD elements by spaces. And older systems did not understand\n escaping so it turns out it is impossible to put full library paths\n into LD_PRELOAD if they contain spaces.\n",
2012-04-09T12:42:22
yy