Ludovic Courtès writes: > Hello, > > Fis Trivial <[email protected]> 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? >
That would require me to look into OpenCL's implementations. Heterogeneous is interesting to me, I guess it would be a fun thing to do. I will try to hack it once I got the time, unless someone else beat me to it. > HTH! > > Ludo’. Thanks.
