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

Reply via email to