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
-~----------~----~----~----~------~----~------~--~---