I've gotten a little further along by hacking into "iu.py" to make a
DirOwner also check inside "lib/".  But, there are three embedded
modules in every pyinstaller created archive: iu, struct, and
archive.  Struct requires a shared object, it is not pure python (i'm
guessing).  So, I have to have _struct.so sitting in the same dir as
the binary because _struct.so is required to open any CArchives.  I
don't think there's a way around this right now, but my resulting
directory looks like this:

dist/
      lib/
      libpython2.5.so.1.0*
      media/
      PROG
      _struct.so

(where PROG is the binary executable and lib/ contains 55 .so files
and media is program specific resources)

Not bad.  I think that's good enough for now.  BTW, adding the env
_MEIPASS2=./lib solves all my problems, even searching for _struct.so,
but I can't seem to compile that behavior into the C code.


On Jan 9, 10:47 am, "[email protected]" <[email protected]>
wrote:
> I'm trying to make my "dist" directory cleaner by moving all .so files
> into a "lib/" subdir.  I modified the spec file to prepend "lib/" in
> front of a.binaries[:][0].  The collect function puts the .so files in
> their proper place in the dist directory, but the resulting binary
> cannot find them.
>
> I know that this probably isn't the way to move the libraries around,
> but someone must have wanted a cleaner distribution directory.  Is
> there anyway to make the end binary search "lib/*" for .sos?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/PyInstaller?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to