Summary: | sys-devel/gcc-config: LDPATH of current gcc version appears before newest available | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Scott 'me22' McMurray <me22> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | dflogeras2, haubi, jlec, levertond, lpmichalik, Martin.vGagern, mgorny, pva, qjim, sam, SebastianLuther |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=893534 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 168884 | ||
Bug Blocks: |
Description
Scott 'me22' McMurray
2009-12-20 19:28:53 UTC
Most prbably, they will pick up the new version now. There are other gcc env variables, that could help you. i fixed this mostly in the past (cant find the bug), but guess i missed a spot (In reply to comment #2) > i fixed this mostly in the past (cant find the bug), but guess i missed a spot > I'm not entirely certain that the active one being first is the bug -- it might be necessary for the not-explicitly-versioned gcc binary to get the correct library version. It's possible that what I really want is for the g++-4.4.2 binary to know to use a specific directory, rather than look at the LDPATH. Thanks for looking into it. *** Bug 330067 has been marked as a duplicate of this bug. *** *** Bug 340517 has been marked as a duplicate of this bug. *** *** Bug 355419 has been marked as a duplicate of this bug. *** Mike, do you have any ideas on how to fix this? *** Bug 398349 has been marked as a duplicate of this bug. *** *** Bug 402169 has been marked as a duplicate of this bug. *** We should really focus on this one because it is almost a blocker for almost any, non-statically linked C++ programs in Gentoo. Users don't really like when a lot of stuff stops working because they switched gcc version like we allowed them to. And the number of C++ components in system is growing. There's no point in pretending C++ does not exist and pointing users to ugly solutions like gobject or vala. eix is the most common Gentoo tool requiring C++. The gold linker makes it useless to switch gcc at the moment because you won't be able to link compiled executables anymore. And some of the mesa drivers require LLVM which gets broken by gcc switch too. Is there a way to force the compiler to use the libraries that correspond with its version rather than rely on LDPATH? Then we could just sort LDPATH in descending order to keep runtime from breaking while preventing new builds with older GCCs linking against newer libraries, (In reply to comment #10) random C++ rants don't belong here. we couldn't care less. (In reply to comment #11) during the linking process, gcc itself takes care of making sure the right libs are linked against (via -L to its internal paths) so the symbol versioning and such should do the right thing. however, it doesn't implicitly include -rpath flags, so the runtime linker (ldso) will use the ld.so.conf search paths. by & large this should be correct because shared libraries are *supposed* to be backwards compatible (hence they have the same SONAME). the only way around this is to use -rpath to gcc's internal libraries, and that's a lot worse general solution. i've changed gcc-config-1.5.1 to not prefer active profile's ldpath over all others. the downside to this is if you are keeping your active gcc tied to the stable (such as 4.5.x) but install a newer one for playing around (such as 4.6.x or 4.7.x), the runtime shared libraries will come from those (possibly unstable) versions. people can't have it both ways. (In reply to comment #12) > (In reply to comment #10) > > random C++ rants don't belong here. we couldn't care less. Then please drop the maintainership of relevant packages. There's no point in maintaining stuff you don't care about, is there? As long as you can set your gcc to a stable version, rebuild world, and then uninstall the unstable version without breaking anything I'm happy. Thanks for taking care of it. (In reply to comment #13) i have no idea wtf you're talking about. take your crap somewhere else. *** Bug 372271 has been marked as a duplicate of this bug. *** *** Bug 437100 has been marked as a duplicate of this bug. *** |