Havard Eidnes <he%NetBSD.org@localhost> writes: > I can of course do as indicated above and remove libstdc++.so > version 6, 7 and 8 from /usr/lib, remove any binary packages > which lists any of those libstdc++.so's as REQUIRED (yes, there > were some), and re-start the entire bulk build. I would say there are two separable problems: programs built with base system compilers that existed in previous netbsd versions. If a library, this is a misconfiguration. what happens with a fresh build of all of pkgsrc on a given netbsd version and you might as well patrol for /usr/lib/libstdc++.so.N for N being old, and rebuild those, to take the first issue off the table. > I am however not entirely convinced that will sort out this > problem properly either. The reason is that e.g. in the main R > package, ${PREFIX}/lib/R/library/grDevices/libs/cairo.so gets > installed, and via a dynamic dependency via libpangocairo-1.0.so, > libpangoft2-1.0.so, libharfbuzz.so and then libgraphite2.so, the > latter has a dynamic libstdcc++.so.9 dependency which is found in > /usr/lib, since libgraphite2.so is most probably built with the > in-tree c++ compiler. > > Once I've removed /usr/lib/libstdc++.so.7, whenever the R module > mentioned earlier is loaded, you can end up with two different major > versions of libstdc++.so dynamically loaded due to the divergent major > shared library version numbering scheme between pkgsrc gcc and in-tree > gcc. That sounds to me like a recipe for disaster, but what do I know > -- is some trick used so that this isn't really a problem? Or will > symbols now without warning or error resolve to just one of them? Or > will you get a dynamic linker error message when the latter is > attempted loaded? This is indeed a mess and IMHO the only sane paths are one of 1) build new gcc from pkgsrc eg gcc10 set pkgsrc USE_GCC=10 [pkg_admin set rebuild=YES * pkg_rolling-replace] or [do gcc before building anything] 2) switch to clang 3) build a gcc in a second prefix and configure pkgsrc to use that 4) switch to current and hope that gcc is good enough
Attachment:
signature.asc
Description: PGP signature