Hello,

We are trying to better comply with the LGPL by moving only those 
particular shared libraries out of a onefile type installation into the 
onedir location. However, the LD_LIBRARY_PATH setting in the Linux 
bootloader only references the tempdir location, so this fails to find the 
onedir shared libraries (which are located in homedir). Meanwhile, other 
paths like PYTHONPATH are set to look in both tempdir and homedir, so I 
think it makes sense that LD_LIBRARY_PATH also look first in tempdir and 
then in homedir. To change this, I used the attached patch and have also 
added it to the tracker. 

Does this make sense? Is it generally useful? 

Michael Mysinger
SeaChange Pharmaceuticals 

-- 
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyinstaller?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


--- source/linux/utils.c	2012-08-08 11:57:45.000000000 -0700
+++ /opt/pyinstaller/pyinstaller-2.0/source/linux/utils.c	2013-01-16 18:51:25.273291934 -0800
@@ -119,6 +119,7 @@
 int set_environment(const ARCHIVE_STATUS *status)
 {
     int rc = 0;
+    char ld_path[2 * _MAX_PATH + 2];
 
 #ifdef __APPLE__
     /* On Mac OS X we do not use environment variables DYLD_LIBRARY_PATH
@@ -149,7 +150,10 @@
 #else
     /* Set library path to temppath. This is only for onefile mode.*/
     if (status->temppath[0] != '\0') {
-        rc = set_dynamic_library_path(status->temppath);
+        strcpy(ld_path, status->temppath);
+        strcat(ld_path, ":");
+        strcat(ld_path, status->homepath); 
+        rc = set_dynamic_library_path(ld_path);
     }
     /* Set library path to homepath. This is for default onedir mode.*/
     else {

Reply via email to