-
Notifications
You must be signed in to change notification settings - Fork 826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cairo crash on OSX due to floating point/divide by zero when rendering map with labels to PDF/PS #387
Comments
[springmeyer] see also #392 |
[springmeyer] {{{ Interval Since Last Report: 8468 sec Date/Time: 2009-07-19 10:48:39.770 -0700 Exception Type: EXC_ARITHMETIC (SIGFPE) Thread 0 Crashed: }}} |
[springmeyer] Closing as invalid. I'm now pretty convinced that this only occurs when compiling pycairo with XCode (for reasons unknown) on osx, and is not a Mapnik or Cairo issue. |
[artem] I just compiled on 10.6.1 (x86_64) : {{{ from source and I'm getting 'Floating point error' . Sorry, re-opening :) |
[springmeyer] ruh roh :) |
[artem] OK, it turned out that _cairo.so was linked to /usr/X11/lib/libcairo.2.dylib and not /usr/local/lib/libcairo.2.dylib. I'm closing this one again. Dane, could you check your setup ? |
[springmeyer] Artem, thanks so much for that hint. It has taken me a few days work, but I've now fully rebuilt my XCode/Framework build system to use all shared dylib's for cairo dependencies. After finishing making sure that both the Mapnik C++ lib, the python bindings, and pycairo were linked to dylib's, I still experienced the same exact crashes, but I saw that libsigc++ might be involved (whereas before both it and cairomm where not showing up in the backtrace). These problems still persisted even after playing around with getting the exact same compiler flags to build pycairo as the official makefiles use (which I thought might have been the problem, particularly the '-undefined dynamic' flags that allow runtime search for libs). But I stuck with compile time linking so I could be sure the libraries that were being used. Still the crashes. Then I removed some temporary directories of staged libraries (in /opt/local) and when doing '>>> import mapnik' I then finally saw dynamic linking errors for libsigc++ and libfreetype. It seems that I was linking to symlinks that did not exist and the python dylib was falling back to find other libraries without error (I thought this would only happen when using '-undefined dynamic'???). So, when removed these duplicate libs in /opt/local I saw that it was looking for 'libsigc-2.0' (not in /opt/local, actually in the right place within the Mapnik Framework) and not finding 'libsigc-2.0.0'. Holy Lessons learned:
|
NOTE: this is only happening with pycairo compiled using XCode (part of my Mapnik binary/framework installer project).
Also:
Run:
{{{
python cairo_test.py
}}}
Crash output: http://dpaste.de/gYst/
The text was updated successfully, but these errors were encountered: