GNOME Bugzilla – Bug 90033
Crashes when doing anything
Last modified: 2004-12-22 21:47:04 UTC
I compiled and installed gtkmm and required libraries with GCC 3.0.1; when executing any program using it (including the "just a window" example), the program crashes with SIGSEGV or SIGILL, trying to execute stack contents.
Created attachment 10307 [details] Problem Details (lib versions, stacktrace etc.)
You said: - I compiled all libs that involve C++ code with GCC 3.0.1, including gtkmm. The rest were built with GCC 2.95.3. Linking 3.0.1 stuff with 2.95.3 C libraries is no problem, but 3.0.1 C++ code cannot be linked against 2.95.3 C++ libraries because of different name mangling. This however results in link-time errors, not run-time errors. It's actually important for me to use GCC 3.0 or higher, because the programs I'm planning to use gtkmm with contain constructs that earlier GCC versions do not support. - Some simple tests with the GCC 3.0.1 version of SigC++ worked (I modified the "hello_world" and "signals" examples to work with sigc++-1.2; the official tests are also not yet suitable for sigc++-1.2 and I didn't use them) I'm not 100% convinced that there's no ABI breakage with C libraries with different compilers. By the way, it's not name mangling that's the only problem with different C++ compilers. I don't understand what you mean about libsigc++. You changed the libsigc++ 1.2 examples to work with libsigc++ 1.0? Please try rebuilding the latest tarballs of libsigc++ 1.2 and gtkmm 1.3.
That tarball is out now. Please test.
I installed sigc++ 1.1.13 and gtkmm 1.3.19, and also fixed use of glib (gcc 2.95.3 version was loaded, as I found out with 'info sharedlibrary'). The crash is gone! So it was either incompatibility between 3.0.1 and 2.95.3 libraries, or it was a bug and is fixed now (dunno). Thanks a lot!