[Nix-dev] stdenv-linux depending on bootstrap-tools in stdenv-updates

Lluís Batlle i Rossell viriketo at gmail.com
Wed Aug 4 00:29:14 CEST 2010


Hello,

in stdenv-updates we have had, since the usage of ppl in the main gcc, a
dependency of gcc on libstdc++ (that is, the c++ runtime library available at
bootstrap tools). This makes all to hold the bootstrap-tools in the system.

I could link statically ppl, gmpxx and cloog-ppl to gcc, but gcc keeps on
linking to libtsdc++ (because the c++ code in ppl,. needs it), so this now has
three solutions:
- Switch the gcc's libstdc++ dynamic dependency to that just built using a
  patchelf trick. This may work or not depending on how close the libstdc++ of
  the bootstrap tools is to to that of the new gcc.
- Link libstdc++.a instead of libstdc++.so. I read in a blog post that this
  disallows further "dlopen" of shared objects with c++. As I have some interest
  in dragonegg, I think this option would disable the usage of gcc plugins.
- Build a middle new gcc, and then we apply the trick of switching the libstdc++
  with patchelf as in the 1st solution, but in this case we would have for
  certain the same libstdc++ versions.

What do you think?

Regards,
Lluís.



More information about the nix-dev mailing list