#1115: splash image problem in wxgui
-----------------------+----------------------------------------------------
Reporter: kyngchaos | Owner: grass-dev@…
Type: defect | Status: new
Priority: blocker | Milestone: 6.4.0
Component: default | Version: 6.4.0 RCs
Keywords: | Platform: MacOSX
Cpu: OSX/Intel |
-----------------------+----------------------------------------------------
I just noticed a problem starting the wxgui on OS X 10.5 Leopard with
GRASS 6.4rc6. It fails with an invalid image for the splash.
{{{
File "/Applications/GRASS-6.4.app/Contents/MacOS/etc/wxpython/wxgui.py",
line 1819, in <module>
sys.exit(main())
File "/Applications/GRASS-6.4.app/Contents/MacOS/etc/wxpython/wxgui.py",
line 1812, in main
app = GMApp(workspaceFile)
File "/Applications/GRASS-6.4.app/Contents/MacOS/etc/wxpython/wxgui.py",
line 1737, in __init__
wx.App.__init__(self, False)
File
"/Users/Shared/unix/wxpython-leo/lib/python2.5/site-packages/wx-2.8-mac-
unicode/wx/_core.py",
line 7978, in __init__
File
"/Users/Shared/unix/wxpython-leo/lib/python2.5/site-packages/wx-2.8-mac-
unicode/wx/_core.py",
line 7552, in _BootstrapApp
File "/Applications/GRASS-6.4.app/Contents/MacOS/etc/wxpython/wxgui.py",
line 1748, in OnInit
introBmp = introImage.ConvertToBitmap()
File
"/Users/Shared/unix/wxpython-leo/lib/python2.5/site-packages/wx-2.8-mac-
unicode/wx/_core.py",
line 3369, in ConvertToBitmap
wx._core.PyAssertionError: C++ assertion "image.Ok()" failed at
../src/mac/carbon/bitmap.cpp(1286) in wxBitmap(): invalid image
}}}
It works on OS X 10.6 Snow Leopard. Same wxpython version on both,
2.8.10.1. But, python 2.5 on Leopard and 2.6 on Snow.
I tried that before submitting the bug, and the path is correct.
... just tried something else - disable the splash to skip it. Now I get
the start of the GUI tool/layer window, then a crash in wx with an invalid
context. Looks like I may have a bad build of wxpython. I'll try
rebuilding it...
OK, something happened in the wxpython build. Same process I always use.
The only difference I could see after the rebuild was in wx-config, where
in the non-working one ldlibs_core had a -lpng flag (which should be my
libpng build), and in the new working one ldlibs_core is missing libpng,
but ldlibs_base has a -lwxpngd.
My working Snow leopard Python 2.6-based wxpython uses my libpng. Maybe
the source of the problem is my Leopard libpng...
Just a followup - I think I know what happened. I had originally built
wxpython using libpng 1.3. Then I updated to libpng 1.4 (and trashed
1.3). libpng 1.4 replaces png_check_sig() with png_sig_cmp(). Without
png_check_sig(), the old wxpython build fails. A new build used the
internal libpng because 2.8.10 checks for png_check_sig().
2.8.11 checks for png_sig_cmp(). I had problems in June with 2.8.11 and
the new ctypes stuff. Hopefully it's fixed now...