[cfe-dev] cross compiling with 6.0.0 not finding gcc paths

Manoj Gupta via cfe-dev cfe-dev at lists.llvm.org
Wed Apr 18 10:44:17 PDT 2018


Does it help to pass the following to the clang command line:
--gcc-toolchain=/home/repo/jdx/wr8-baytrail_64/buildbox/usr/lib64 ?

On Wed, Apr 18, 2018 at 7:52 AM Miller Henry via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

>
>
>
>
> I’m building for an embedded system, this is working fine with gcc 5.2.0,
> but I’ve become interested in clang.  In 3.9.1 everything builds fine (once
> I fixed the real bugs – thank you to everyone who wrote useful warnings).
> I’m interested in trying clang 6.0.0, and there things don’t build.
>
>
>
> The first error I get is is from cmake:
>
>     [2/2] Linking C executable cmTC_03cd5
>
> FAILED: cmTC_03cd5
>
>     : && /opt/jdx/tools//usr/local/share/icecc/bin//clang
> --sysroot=/home/user/repo/jdx/wr8-baytrail_64/buildbox
> -fno-omit-frame-pointer -gsplit-dwarf -fdiagnostics-color=always
> --target=x86_64-wrs-linux
> --sysroot=/home/repo/jdx/wr8-baytrail_64/buildbox -rdynamic -O2
> -L/home/repo/jdx/wr8-baytrail_64/buildbox/usr/local/lib -Wl,--gdb-index
> -lrt -lpthread -Wl,--disable-new-dtags
> CMakeFiles/cmTC_03cd5.dir/testCCompiler.c.o  -o cmTC_03cd5   && :
>
> /opt/jdx/tools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/x86_64-wrs-linux/x86_64-wrs-linux-ld:
> error: cannot open crtbegin.o: No such file or directory
>
> /opt/jdx/tools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/x86_64-wrs-linux/x86_64-wrs-linux-ld:
> error: cannot open crtend.o: No such file or directory
>
>
> /opt/jdx/tools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/x86_64-wrs-linux/x86_64-wrs-linux-ld:
> error: cannot find -lgcc
>
>
> /opt/jdx/tools/sysroots/x86_64-wrlinuxsdk-linux/usr/bin/x86_64-wrs-linux/x86_64-wrs-linux-ld:
> error: cannot find -lgcc
>
>     clang-6.0: error: linker command failed with exit code 1 (use -v to
> see invocation)
>
>
>
> crtbegin.o is in
> /home/repo/jdx/wr8-baytrail_64/buildbox/usr/lib64/x86_64-wrs-linux/5.2.0/crtbegin.o
> When I copy the missing files to
> /home/repo/jdx/wr8-baytrail_64/buildbox/usr/lib64 cmake passes and but the
> build fails on unable to find <string> and <vector>, I started to add
> include paths for jdx/wr8-baytrail_64/buildbox/usr/include/c++/5.2.0/ and
> that gets farther.  However it is time to stop hacking the wrong way and
> fix the real problem. I suspect the problem is related to clang not
> understanding my --target option and thus not asking gcc for the paths to
> the missing files, but I don’t really know how to make this work.
>
>
>
> A search finds
> https://stackoverflow.com/questions/4160262/clang-linker-problem, but it
> isn’t helpful because the code in that area has changed so much.
>
>
>
> My host is x86-64 linux.  The target OS is x86_64 embedded linux (the
> sysroot is NOT compatible with the host libraries)
>
>
>
> Can someone give me a hint about where I should look to make this work. I
> can change either the command line arguments or the clang source code but
> I’m not clear on where the right place to look is.
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180418/419aa359/attachment.html>


More information about the cfe-dev mailing list