SGI IRIX MIPSpro crashes
Hi, all developers,
I have been trying to port Inkscape to SGI IRIX platform using MIPSpro compiler. It is running now except that some menu entries kill it.
I had asked in the #inkscape channel and got help from MenTaLguY yesterday.
The symptoms: Selecting some menu items will cause Inkscape crash.
These menu entries include
# View\Messages # View\Scripts # View\Icon Preview # Object\Swatches # Object\Transform # Object\Align and Distribute # Object\Grid Arrange # Help\About Memory
MenTaLguY observed that the dialogs behind all but one (Icon Preview) are GTKMM based dialogs. The problem might or might not be related to C++ ABI mismatch.
I then re-built GLibMM, GTKMM, and Inkscape using the same settings. However the problem remains.
So I am sending this email to the list and hope experienced C++ developers can give me more insights.
I have made a page describing the problems at
http://s92957900.onlinehome.us/is_mips/inkscape_mipspro.html
My patch is at
http://s92957900.onlinehome.us/is_mips/inkscape-cvs20051205-mipspro.patch
In the page you can also find the traces from dbx when Inkscape crashed, and other information regarding the environment.
Thank you!
-- Jeremy
I have been trying to port Inkscape to SGI IRIX platform using MIPSpro compiler. It is running now except that some menu entries kill it. [...] I have made a page describing the problems at
http://s92957900.onlinehome.us/is_mips/inkscape_mipspro.html
Your problem might be your compiler, esp. the RTTI emulation which apparently is in the directory /j10/mtibuild/v743m/workarea/v7.4.3m/libC/lang_support/rtti.cxx
This is visible as the last frames of the swatches and aboutbox backtraces, and is caused by a dynamic_cast in the Gtkmm code.
To test the hypothesis, gcc would have to be compiled on your machine.
If I were you I would use gcc anyway, as there are surely more such things to come if you use all those libraries built for a gcc-based environment.
ralf
On Thu, Dec 08, 2005 at 10:53:56AM +0100, Ralf Stephan wrote:
Your problem might be your compiler, esp. the RABI emulation which apparently is in the directory /j10/mtibuild/v743m/workarea/v7.4.3m/libC/lang_support/rtti.cxx
This is visible as the last frames of the swatches and aboutbox backtraces, and is caused by a dynamic_cast in the Gtkmm code.
To test the hypothesis, gcc would have to be compiled on your machine.
If I were you I would use gcc anyway, as there are surely more such things to come if you use all those libraries built for a gcc-based environment.
ralf
ralf, thank you for the suggestion. I do have gcc 3.4 on my machine, which is bootstrapped by gcc 3.3 from freeware.sgi.com. Last time I also tried to use gcc but the build process failed at the last linking step. I suspected that it is because all the prerequisites are built by MIPSpro compiler.
Do you think I need to re-build all the dependencies using gcc? This would be too much and would be the last thing I want to do. You know, there are 30+ packages directly or indirectly required by Inkscape. If it is just C++ packages that are needed, I might give it a try.
BTW, what is the easiest way to disable menu entries (make them gray)? Could anyone point me to the related source files please?
Thank you!
-- Jeremy
---------------------------------------------------------------------------
Do you think I need to re-build all the dependencies using gcc? This would be too much and would be the last thing I want to do. You know,
i fear you are right but...
Your problem might be your compiler, esp. the RABI emulation which
who wrote this? I used the word RTTI (run time type identification)
apparently is in the directory /j10/mtibuild/v743m/workarea/v7.4.3m/libC/lang_support/rtti.cxx
The other way would be to fix this (rtti). Can't you complain to SGI? Maybe this is already known, and you have an old version?
To back up the claim, you could ask the gtkmm folks or bugtracker for similar problems. If true, this could happen everywhere you use dynamic casts in C++ so other packages may be affected, too.
ralf
On Thu, Dec 08, 2005 at 04:44:19PM +0100, Ralf Stephan wrote:
Your problem might be your compiler, esp. the RABI emulation which
who wrote this? I used the word RTTI (run time type identification)
Ah, I am very very sorry. It must be the spell-checker. I must accidently hit the wrong key.
-- Jeremy
---------------------------------------------------------------------------
On Thu, Dec 08, 2005 at 04:44:19PM +0100, Ralf Stephan wrote:
Do you think I need to re-build all the dependencies using gcc? This would be too much and would be the last thing I want to do. You know,
i fear you are right but...
I did static builds for libsigc++, gc, glibmm, gtkmm using GCC, then link Inkscape against these static libs, using GCC too. This gives me a working Inkscape. But this time inkview segfaults everytime. I couldn't figured out why.
Jeremy Y. Meng wrote:
BTW, what is the easiest way to disable menu entries (make them gray)? Could anyone point me to the related source files please?
Answer is probably best expressed in an example:
#include <verbs.h>
Inkscape::Verb * myverb = Inkscape::Verb::getbyid("my.verb.id"); myverb->sensitive(false);
If you only want one document you can do:
myverb->sensitive(mydoc, false);
All the code is in verbs.[h|cpp]
--Ted
participants (3)
-
Jeremy Y. Meng
-
Ralf Stephan
-
Ted Gould