GNU bug report logs -
#32773
clang: missing default include paths for C++
Previous Next
Full log
Message #29 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello David,
This patch is a real progress, thank you! However, I still have a
linking error when compiling a trivial test program with clang:
mathieu <at> elbruz ~/guix [env]$ ./pre-inst-env guix environment --ad-hoc clang --pure
mathieu <at> elbruz ~/guix [env]$ clang ~/tmp/t.cpp
clang-8: error: unable to execute command: Executable "ld" doesn't exist!
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
This is because the linker provided by "binutils" is not accessible. I
guess we need to make something analog to make-gcc-toolchain.
WDYT?
Mathieu
David Truby writes:
> ---
> gnu/packages/llvm.scm | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
> index 33fb53d65e..0a7efe980f 100644
> --- a/gnu/packages/llvm.scm
> +++ b/gnu/packages/llvm.scm
> @@ -202,6 +202,7 @@ compiler. In LLVM this library is called \"compiler-rt\".")
> (lambda* (#:key inputs #:allow-other-keys)
> (let ((libc (assoc-ref inputs "libc"))
> (compiler-rt (assoc-ref inputs "clang-runtime"))
> + (gcc (assoc-ref inputs "gcc"))
> (version
> (string->number
> ,(version-major (package-version clang-runtime)))))
> @@ -218,6 +219,10 @@ compiler. In LLVM this library is called \"compiler-rt\".")
> (("(^[[:blank:]]+LibDir = ).*" _ declaration)
> (string-append declaration "\"" libc "/lib\";\n"))
>
> + ;; Make clang look for libstdc++ in the right location
> + (("LibStdCXXIncludePathCandidates\\[\\] = \\{")
> + (string-append "LibStdCXXIncludePathCandidates[] = { \"" gcc "/include/c++\","))
> +
> ;; Make sure libc's libdir is on the search path, to
> ;; allow crt1.o & co. to be found.
> (("@GLIBC_LIBDIR@")
This bug report was last modified 5 years and 242 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.