Hello, Fis Trivial <ybbs.da...@hotmail.com> skribis:
> I tried to use ld in guix pure environment, tested with bintuils, > gcc-toolchain, ld-wrapper, and none of them work. > > Take the following trivial snippy (not opencl related) as an example: > > // main.c > #include <math.h> > > int main() > { > log1p(32); > } > > > To build it, one would do something similar to `ld -lm main.o` after > compilation. But I got an error saying "ld: cannot find -lm". You would need to use ld-wrapper, not ld, so that ld-wrapper sets the RUNPATH appropriately. But this won’t fix the problem above. The problem above is that glibc is not in the search path. To fix that, a simple fix would be to add a wrapper atop ld-wrapper (!) that would add “-L /gnu/store/…-glibc/lib”. Perhaps there are more elegant ways to achieve it though. How is ld invoked? Would it work to add that -L flag directly in the code that invokes ld? HTH! Ludo’.