conda-forge / ctng-compilers-feedstock

A conda-smithy repository for ctng-compilers.
BSD 3-Clause "New" or "Revised" License
12 stars 28 forks source link

`gcc_impl_<target>` contains stuff it probably shouldn't contain? #157

Open h-vetinari opened 3 hours ago

h-vetinari commented 3 hours ago

Looking at the content of gcc_impl_linux-64 (and removing the SOVERSION distinctions), there's a bunch of things in that output that probably shouldn't be there?

x86_64-conda-linux-gnu/lib/libasan.so
x86_64-conda-linux-gnu/lib/libasan_preinit.o
x86_64-conda-linux-gnu/lib/libatomic.so
x86_64-conda-linux-gnu/lib/libgfortran.so       # !!!
x86_64-conda-linux-gnu/lib/libgomp.so           # !!!
x86_64-conda-linux-gnu/lib/libgomp.spec
x86_64-conda-linux-gnu/lib/libhwasan_preinit.o
x86_64-conda-linux-gnu/lib/libitm.so
x86_64-conda-linux-gnu/lib/libitm.spec
x86_64-conda-linux-gnu/lib/liblsan.so
x86_64-conda-linux-gnu/lib/liblsan_preinit.o
x86_64-conda-linux-gnu/lib/libquadmath.so       # ???
x86_64-conda-linux-gnu/lib/libsanitizer.spec
x86_64-conda-linux-gnu/lib/libtsan.so
x86_64-conda-linux-gnu/lib/libtsan_preinit.o
x86_64-conda-linux-gnu/lib/libubsan.so

In particular, libgfortran and libgomp have separate outputs themselves, and libquadmath is also used by gfortran, without ever bringing gcc into the game.

h-vetinari commented 2 hours ago

OK, I guess this works because gfortran_impl depends on gcc_impl https://github.com/conda-forge/ctng-compilers-feedstock/blob/8853ee7c0d15a9a73b35503c384f5894cf38c379/recipe/meta.yaml#L382

And since it's in the target-specific folder, it shouldn't be picked up by accident. Still scratching my head a bit about the layering, but happy to close if there's nothing to do...