| Summary: | dev-util/nemiver-0.6.1 fails to start after gcc update (see comment #11) | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Sven E. <dark> |
| Component: | Current packages | Assignee: | GNOME C++ Bindings Maintainers (OBSOLETE) <gnome-mm+disabled> |
| Status: | RESOLVED TEST-REQUEST | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | emerge --info | ||
|
Description
Sven E.
2008-10-29 04:41:46 UTC
Please run revdep-rebuild from the app-portage/gentoolkit package and reopen this bug if that doesn't fix the issue. If you reopen this bug, then please post your `emerge --info' too. I forgot to mention that my system got revdep-rebuilt of course, redid a revdep: Nothing to rebuild, reemerged nemiver again - Still same results. Emerge info will follow as attachment Created attachment 170250 [details]
emerge --info
you probably need to rebuild gtksourceviewmm and/or gtksourceview. This kind of problem is recurring but I can't point to where I learned that unfortunately and I don't know how it would be possible to make revdep-rebuild or portage fix that. Thnaks, it worked. Since gtksourceview got updated recently I first tried rebuilding gtksourceviewmm, which did the trick. The question is now really, how to handle this properly. I'm betting on an API/ABI break in gtksourceviewmm... and given it's sooo much easier to break ABI with C++ :) I doubt there's much we can do about it. Thanks sigh, I need to learn how to click... sorry for the noise Okay, I just checked the following: echo "_ZThn16_N13gtksourceview10SourceViewD1Ev"|c++filt which yields: non-virtual thunk to gtksourceview::SourceView::~SourceView() Now, what puzzles me is: Why does nemiver ld a DSO, which references one of gtksourceviewmm's thunks and why was the symbol not there before recompiling gtksourceviewmm, when it did not get upgraded? In other words: How can a upgrade to gtksourceview break gtksourceviewmm in such a way, that the exported symbols are different or disappear? gtksourceviewmm's interface should not have changed, imho. Did you change c++ compilers recently? (a gcc upgrade maybe?) Thanks Yes, a gcc upgrade might be the best explanation. If gtksourceviewmm was compiled with a different mangling, then obviously the symbols generated in gtksourceviewmm did differ from the ones generated during linking of nemiver (Though in this case I'd assume the linking fails, but if g++ just created different names from the .h for libworkbench.so than the earlier version did for gtksourceviewmm.so this could explain this behavior). And yes, I upgraded from gcc 4.3.1 to 4.3.2 inbetween I think (not sure though). I checked the gcc changelog but they did not mention anything about changing the name mangling scheme. This seems really arkward, if things like that just change without notice and gcc/ld not checking something like that. During major upgrades 3->4 or something with announced abi changes one would expect problems though. If I got some spare time later on, I will try to verify this (compile gtksourceviemm again with different gcc versions at hand and check on the Symbol names). improper libtool versioning of almost all gnome-mm bindings is although most likely to be part of the problem. Some day (dream), I'll have enough time to look at this myself and see if we can do something about it. Feel free to report your findings on the matter as well. I am not sure if this is still valid today :-/ (In reply to comment #12) > I am not sure if this is still valid today :-/ I would vote for closing this as looks to be no longer valid with updated packages (or, at least, I haven't suffered this problem for a really long time) Closing as I haven't seen this for a really long time on any of the machines I maintain |