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
