On Tuesday 11 October 2005 12:26 pm, you wrote: [ ... trimmed ... ] > > stacktrace: > > (gdb) where > > #0 0x00002aaaadd93786 in std::__default_alloc_template<true, > > 0>::allocate(unsigned long) () > > from /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/libstdc++.so.5 > > #1 0x00002aaaadd98567 in std::string::_Rep::_S_create(unsigned long, > > std::allocator<char> const&) () > > from /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/libstdc++.so.5 > > #2 0x00002aaaadd992f9 in std::string& std::string::_M_replace_safe<char > > const*>(__gnu_cxx::__normal_iterator<char*, std::string>, > > __gnu_cxx::__normal_iterator<char*, std::string>, char const*, char > > const*) () > > from /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/libstdc++.so.5 > > #3 0x00002aaaadd960d3 in std::string::string(char const*, > > std::allocator<char> const&) () > > from /usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/libstdc++.so.5 > > #4 0x0000000000725a6e in qstrtostr(QString const&) > > ([EMAIL PROTECTED]) at rosestrings.cpp:36 > > [...] > > This is strange, and somewhat wrong. Your Rosegarden executable is linked > against libstdc+++.so.5 instead of the newer library. This means that you > have something wrong with the development environment. If you use this > commnand: > $ locate libstdc++.so > You will see that it is a symlink to the real library binary, wich has a > name like libstdc++.so.5.0.0; this symlink is used by the ld linker only > (it is not needed at runtime). > > There is a good explanation about the dynamic linking, sonames and ld > behavior, here: > http://wiki.linuxquestions.org/wiki/Library-related_Commands_and_Files > > I don't know which is the way in Gentoo, but you should have the matching > headers and the symlink pointing to the new libstdc++ library. > > The segmentation fault is due to a call in qstrtostr() (rosestrings.cpp:36) > trying to convert an empty QString to a std::string. The STL allocator for > the string receives 0 as length argument, and segfaults. I don't know why. > This works here. It may be a problem with the old libstdc++ version, or a > 64 bit problem. We could include a workaround but, I'm not sure if it is > worth. I would prefer to wait until your development environment is fixed. > > Regards, > Pedro Hi, sorry I have been so busy as to not even be thinking about music the last few days, including a really fun root canal on Tuesday that I can just chew on again on Saturday. I thought you might find this interesting from the end of a compile... /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libstdc++.so.5, needed by /usr/qt/3/lib/libqt-mt.so, may conflict with libstdc++.so.6
Now I'm trying to remember when I last built Qt. I suspect it may have been prior to converting to multilib. It looks to me like there are Qt calls going to libstdc++.so.5 and KDE calls going to libstdc++.so.6 and it seems it is a very isolated call as most things work well except Rosegarden. I'm emerging the latest qt now. I suspect this is not a 64 bit problem per se, but a library linking issue that came up in the process of converting a 64 bit setup. You may find this info useful. I'll confirm after reloading everything but I suspect this is the problem and hopefully this build will fix it. -- Eric Laffoon Project Lead - kdewebdev module ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
