[BUG]: EDG does not link to libfmt
dangelog opened this issue · comments
Describe the bug
When using libfmt on CE with the EDG frontend, the program compiles, but the linker complains about the library not being found:
Could not execute the program
Compiler returned: 2
Compiler stderr
library "fmtd" does not exist in the specified library directories
C++ prelinker: error: command line error
/opt/compiler-explorer/gcc-13.2.0/bin/../lib/gcc/x86_64-linux-gnu/13.2.0/../../../../x86_64-linux-gnu/bin/ld: cannot find -lfmtd: No such file or directory
collect2: error: ld returned 1 exit status
Steps to reproduce
- Visit CE
- Select an EDG-GNU compiler
- Add libfmt 10.2.1 to the libraries
- Add an executor for the compiler
- Build anything
Expected behavior
It should be able to link+run when using libfmt.
Reproduction link
https://gcc.godbolt.org/z/jEj46YW5h
Screenshots
Not applicable
Operating System
No response
Browser version
No response
Clang (reflection) also seems to have the same problem, while Clang 18 / GCC 13 are fine. Is it just a stale cache somewhere?
No, the EDG is not recognized as a working compiler by cmake https://conan.compiler-explorer.com/getlogging/20240331133436
The compiler seems to not support -Wl,rpath
compiler-explorer/lib/compilers/edg.ts
Line 37 in f710f31
We can probably work around that
I have fixed the rpath issue, but a new issue has popped up that I can't fix.
https://conan.compiler-explorer.com/getlogging/20240412030928