The wrapper is just a short shell script, and isn't absolutely necessary UNLESS you also other python scripts that don't use the UCS2 python.
The wrapper is something like:
Code:
#!/bin/sh
export LD_PRELOAD=</usr/local/lib.. list of libraries>
exec </usr/local/bin/<progname>
The main advantage the "LD_PRELOAD" has is that it specifies a path to load libraries from before it uses the normal system provided libraries.
The advantage of using the wrapper is that you don't necessarily want LD_PRELOAD turned on everywhere as that can cause problems running python scripts that don't use those libraries...
The only reason the "exec" command is there is just to chain directly to the executable you want. When the command terminates the LD_PRELOAD is no longer defined.
You can look in the man page for ld.so for more details. You may even be able to use LD_LIBRARY_PATH (which only needs the directory name). The reason I'm not certain of that is that it will mix other library searches as well which may confuse things. LD_PRELOAD explicitly designates the libraries to be loaded before looking in the normal places.