PipelineFX Forum
Qube! => Developer Customization => Topic started by: mgway on July 25, 2011, 07:44:24 PM
-
I have made some customizations to the GUI (notably, modifying the right click menu and adding additional options to the Administration menu) and would like to bundle it as a Mac app/Windows exe. However, when I try to run the setup.py script provided by the sticky at the top of this forum, I get the following error:
error: could not create '/private/tmp/api/python/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone': File name too long
If you look closely, the path is simply the string "/app/collect/qb/gui/build/bdist.macosx-10.6-universal/python2.6-semi_standalone" repeated 10 times. My guess is that the build script is going awry and tries to include files in the build directory forever.
Running the GUI from the command line (i.e., python qube.py in the GUI directory) works properly.
Details:
MBP running OSX 10.6.6
Python 2.6 (with VERSIONER_PYTHON_PREFER_32_BIT=yes, because py2app doesn't run in 64-bit mode)
Files copied to /tmp, build/ and dist/ directories deleted prior to each build.
-
I seem to have jumped the gun in reporting that problem, as I figured the solution out myself a few moments later. Apparently QBDIR can't be a parent folder of where you're building the GUI from. That is, I had QBDIR=/tmp while the GUI was being built from "/tmp/api/python/qb/gui". When I changed QBDIR to /Applications/pfx/qube, it built properly.
Sadly, now I'm having runtime errors:
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] <_FuncPtr object at 0x1005cbbb0>
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] Traceback (most recent call last):
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] File "/tmp/api/python/qb/gui/dist/qube.app/Contents/Resources/__boot__.py", line 153, in <module>
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] _argv_emulation()
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] File "/tmp/api/python/qb/gui/dist/qube.app/Contents/Resources/__boot__.py", line 151, in _argv_emulation
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] _get_argvemulator().mainloop()
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] File "/tmp/api/python/qb/gui/dist/qube.app/Contents/Resources/__boot__.py", line 75, in mainloop
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] stoptime = Evt.TickCount() + timeout
7/25/11 3:51:10 PM [0x0-0x40040].org.pythonmac.unspecified.qube[555] AttributeError: 'module' object has no attribute 'TickCount'
7/25/11 3:51:10 PM qube[555] qube Error
-
Good catch. The build process definitely looks at QBDIR. Glad to hear you got it running.
-
Good catch. The build process definitely looks at QBDIR. Glad to hear you got it running.
Sort of. The runtime errors kill the program before anything appears on screen.
Shooting from the hip I'd guess that it's some issue with wxPython not being included by py2app correctly.
Any thoughts?
-
I used PathTooDeep. And was very pleased with its performance. Long Path Tool is awesome to get rid on your long path files. Good luck!