On Thu, 20 May 2010 00:10:51 -0700 (PDT), Kel Solaar
<[email protected]> wrote:
> Hello,
> 
> I'm building my app with PyInstaller on Ubuntu 10.04 with PyQt 4.7.2,
> then I try to run it on an openSUSE 11.1 and get this error message :
> Traceback (most recent call last):
>   File "<string>", line 65, in <module>
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 436, in
> importHook
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 495, in
> doimport
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 297, in
> getmod
>   File "/home/kelsolaar/Softwares/pyinstaller/archive.py", line 468,
> in getmod
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 109, in
> getmod
> ImportError: ./PyQt4.QtGui.so: undefined symbol:
> _ZN15QSessionManager16staticMetaObjectE

This is weird. It looks like it is not using the correct libQtGui4.so
module, for some reason. Did PyInstaller bundle the correct one with your
application? 

> I tried compiling Qt and PyQt staticly but I get a different error :
> 
> Traceback (most recent call
> last):
>   File "<string>", line 14, in
> <module>
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 436, in
> importHook
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 495, in
> doimport
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 297, in
> getmod
>   File "/home/kelsolaar/Softwares/pyinstaller/archive.py", line 468,
> in getmod
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 109, in
> getmod
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 436, in
> importHook
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 495, in
> doimport
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 297, in
> getmod
>   File "/home/kelsolaar/Softwares/pyinstaller/archive.py", line 468,
> in getmod
>   File "/home/kelsolaar/Softwares/pyinstaller/iu.py", line 109, in
> getmod
> ImportError: ./libc.so.6: version `GLIBC_2.11' not found (required
> by ./libpng12.so.0)

These problems boil down to Linux not having a stable ABI. I suggest to
build your application on the oldest Linux distribution you want to
support, so that it gets linked with the oldest GLIBC and you will be
luckier with binary compatibility problems. This painful process is not as
bad as it sounds thanks to virtual machines; you can keep a VM around with
Ubuntu 8.10 (or whatever) and build your application there; you will
obviously need to compile modern versions of qt and pyqt in it, but that
just usually works.  

Another possible solution is to use a Qt4 version compiled for LSB. There
is no official support for this, but the guys workin on Arora
(http://arorabrowser.blogspot.com/) know how to do it. They even ship a
binary version with their browser, so you might try grabbing that one as a
quick test (though I do not know if that LGPL version is fine with you).

Alas, there is nothing PyInstaller itself can do to solve these issues, as
far as I can tell. 
-- 
Giovanni Bajo   ::  [email protected]
Develer S.r.l.  ::  http://www.develer.com

My Blog: http://giovanni.bajo.it

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