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’.

Reply via email to