Fabrizio Milo <[EMAIL PROTECTED]> wrote:

> after doing
>> python Make.py
>
> I edited the file "Makefile" changing this two lines:
>
> CC=gcc -pthread -static
> CONFIG_ARGS='--disable-shared'
>
>> make
>
> After rebuilding my application I got:
>
> $ ./app
> mod is NULL - archiveTraceback (most recent call last):
>   File "/home/user/app/pyinstaller/archive.py", line 42, in ?
>     import struct
> ImportError: /tmp/_MEI31791/struct.so: undefined symbol: PyString_Type

That's weird. Try building a directory distribution rather than a single
file distribution. Then, double-check that PyInstaller copied the correct
struct.so into the distribution directory. In other words, it should be the
struct.so used by the version of Python you're packaging with, and not
another struct.so (how many do you have? Maybe one for each different Python
version).

If PyInstaller picks the right struct.so, I can't understand why it doesn't
work. You could double-check with 'nm' which .so exports the symbol
PyString_Type and why it isn't picked up. If PyInstaller picks the wrong
struct.so, there is probably a bug in the way it follows dependencies. Maybe
Python itself is built with rpath or something.

I'll need more information to help you. Basically, you'll have to
investigate a little further and find out what is exactly wrong. After that,
we can work on a fix.

> Any suggestion?
>
> btw. How is generated the Makefile?
> I read 'generated by freeze.py ' but I did not found that file

It's generated by source/linux/Make.py. It's kind of obsolete right now,
we're planning to move to using distutils for PyInstaller's distribution,
but we haven't found time to work on that yet.

Thanks for the report!
-- 
Giovanni Bajo

_______________________________________________
PyInstaller mailing list
[email protected]
http://lists.hpcf.upr.edu/mailman/listinfo/pyinstaller

Reply via email to