I am having trouble configuring my SDK to use the meta-clang compiler-rt
component properly.
How do I configure my build so meta-clang brings in compiler-rt and generates
the libclang_rt.binutils-x86_64.a library I require?
When I attempt to build in "compiler-rt" component I get the CMAKE Error shown
below.
No matter how I try, for example:
TOOLCHAIN_TARGET_TASK_append = "compiler-rt-static-dev compiler-rt-dev"
Or:
SDK_EXTRA_TOOLS = " \
nativesdk-cmake \
nativesdk-clang \
nativesdk-compiler-rt \
"
I get the "cmake" error described below.
(1) What Is this the correct method to add this components to my SDK ?
(2) I do not understand how to resolve this , all are yocto based components,
the only llvm components are pulled in by meta-clang, what am I expected to
edit to resolve ?, and how ? Can someone explain to me what this error is
attempting to convey, and what I am doing wrong ?
(3) Is it correct to expect the cmake and clang components to work together
under yocto?
(4) I do not want the tools built into my kernel just the SDK for development,
Is there better way to do what I want to do here ?
Note: My target and host systems are both x86-64...
And, yes, the "-rtlib-libgcc" works for my basic test code and bypasses
requiring compiler-rt, but I would like to understand what is going on below
and be able to build correctly...
Synopsis of issue:
-----------------------
When I build my SDK, I setup the following:
SDKMACHINE = "x86_64"
SDKIMAGE_FEATURES_append = " staticdev-pkgs"
TOOLCHAIN_HOST_TASK_append = "${SDK_EXTRA_TOOLS}"
SDK_EXTRA_TOOLS = " \
nativesdk-cmake \
nativesdk-clang \
"
require conf/distro/include/yocto-uninative.inc
INHERIT += "uninative"
My SDK builds and installs without issue...
Running a very basic example produces the following issue:
09:22 smonsees@yix490016 ~/yocto/test>make hello x86_64-poky-linux-clang -m64
-march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 -mlittle-endian
--sysroot=/disk0/scratch/smonsees/yocto/testSDK/sysroots/corei7-64-poky-linux
-O2 -pipe -g -feliminate-unused-debug-types -ansi -c hello.c
x86_64-poky-linux-clang -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2
-mlittle-endian
--sysroot=/disk0/scratch/smonsees/yocto/testSDK/sysroots/corei7-64-poky-linux
-O2 -pipe -g -feliminate-unused-debug-types -ansi hello.o -o hello
clang-5.0: warning: argument unused during compilation: '-ansi'
[-Wunused-command-line-argument]
/disk0/scratch/smonsees/yocto/testSDK/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/x86_64-poky-linux-ld:
cannot find
/disk0/scratch/smonsees/yocto/testSDK/sysroots/corei7-64-poky-linux/usr/lib/clang/5.0.1/lib/linux/libclang_rt.builtins-x86_64.a:
No such file or directory
clang-5.0: error: linker command failed with exit code 1 (use -v to see
invocation)
make: *** [hello] Error 1
09:22 smonsees@yix490016 ~/yocto/test>
The file in question does not exist on my system.
If I add "nativesdk-compiler-rt" like so:
SDK_EXTRA_TOOLS = " \
nativesdk-cmake \
nativesdk-clang \
nativesdk-compiler-rt \
"
I get the following error:
Log data follows:
| DEBUG: Executing shell function do_configure
| -- The C compiler identification is GNU 7.3.0
| -- The CXX compiler identification is GNU 7.3.0
| -- The ASM compiler identification is GNU
| -- Found assembler:
| /disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/s
| bcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler
| -rt/5.0.1+gitAUTOINC+4b38c4038a-r0/recipe-sysroot-native/usr/bin/x86_6
| 4-pokysdk-linux/x86_64-pokysdk-linux-gcc
| -- Check for working C compiler:
| /disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/s
| bcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler
| -rt/5.0.1+gitAUTOINC+4b38c4038a-r0/recipe-sysroot-native/usr/bin/x86_6
| 4-pokysdk-linux/x86_64-pokysdk-linux-gcc
| -- Check for working C compiler:
| /disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/s
| bcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler
| -rt/5.0.1+gitAUTOINC+4b38c4038a-r0/recipe-sysroot-native/usr/bin/x86_6
| 4-pokysdk-linux/x86_64-pokysdk-linux-gcc -- works
| -- Detecting C compiler ABI info
| -- Detecting C compiler ABI info - done
| -- Detecting C compile features
| -- Detecting C compile features - done
| -- Check for working CXX compiler:
| /disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/s
| bcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler
| -rt/5.0.1+gitAUTOINC+4b38c4038a-r0/recipe-sysroot-native/usr/bin/x86_6
| 4-pokysdk-linux/x86_64-pokysdk-linux-g++
| -- Check for working CXX compiler:
| /disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/s
| bcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler
| -rt/5.0.1+gitAUTOINC+4b38c4038a-r0/recipe-sysroot-native/usr/bin/x86_6
| 4-pokysdk-linux/x86_64-pokysdk-linux-g++ -- works
| -- Detecting CXX compiler ABI info
| -- Detecting CXX compiler ABI info - done
| -- Detecting CXX compile features
| -- Detecting CXX compile features - done
| -- Looking for unwind.h
| -- Looking for unwind.h - found
| CMake Error at CMakeLists.txt:38 (find_package):
| By not providing "FindLLVM.cmake" in CMAKE_MODULE_PATH this project has
| asked CMake to find a package configuration file provided by "LLVM", but
| CMake did not find one.
|
| Could not find a package configuration file provided by "LLVM" with any of
| the following names:
|
| LLVMConfig.cmake
| llvm-config.cmake
|
| Add the installation prefix of "LLVM" to CMAKE_PREFIX_PATH or set
| "LLVM_DIR" to a directory containing one of the above files. If "LLVM"
| provides a separate development package or SDK, be sure it has been
| installed.
|
|
| -- Configuring incomplete, errors occurred!
| See also
"/disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/sbcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler-rt/5.0.1+gitAUTOINC+4b38c4038a-r0/build/CMakeFiles/CMakeOutput.log".
| WARNING:
/disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/sbcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler-rt/5.0.1+gitAUTOINC+4b38c4038a-r0/temp/run.do_configure.25988:1
exit 1 from 'cmake $oecmake_sitefile
/disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/sbcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler-rt/5.0.1+gitAUTOINC+4b38c4038a-r0/git
-DCMAKE_INSTALL_PREFIX:PATH=/opt/limws/2.4.1/sysroots/x86_64-pokysdk-linux/usr
-DCMAKE_INSTALL_BINDIR:PATH=bin -DCMAKE_INSTALL_SBINDIR:PATH=bin
-DCMAKE_INSTALL_LIBEXECDIR:PATH=libexec
-DCMAKE_INSTALL_SYSCONFDIR:PATH=/opt/limws/2.4.1/sysroots/x86_64-pokysdk-linux/etc
-DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=../com
-DCMAKE_INSTALL_LOCALSTATEDIR:PATH=/opt/limws/2.4.1/sysroots/x86_64-pokysdk-linux/var
-DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_INSTALL_INCLUDEDIR:PATH=include
-DCMAKE_INSTALL_DATAROOTDIR:PATH=share -DCMAKE_INSTALL_SO_NO_EXE=0
-DCMAKE_TOOLCHAIN_FILE=/disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/sbcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler-rt/5.0.1+gitAUTOINC+4b38c4038a-r0/toolchain.cmake
-DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1
-DCOMPILER_RT_STANDALONE_BUILD=ON
-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=x86_64-pokysdk-linux
-DCOMPILER_RT_BUILD_XRAY=OFF -G Ninja ${PACKAGECONFIG_CONFARGS}
-DLLVM_TABLEGEN=/disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/sbcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler-rt/5.0.1+gitAUTOINC+4b38c4038a-r0/recipe-sysroot-native/usr/bin/llvm-tblgen
-DCLANG_TABLEGEN=/disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/sbcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler-rt/5.0.1+gitAUTOINC+4b38c4038a-r0/recipe-sysroot-native/usr/bin/clang-tblgen
-Wno-dev'
| ERROR: Function failed: do_configure (log file is located at
| /disk0/scratch/smonsees/yocto/workspace_2/meta-bae/meta-limws/builds/s
| bcb-default/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-compiler
| -rt/5.0.1+gitAUTOINC+4b38c4038a-r0/temp/log.do_configure.25988)
ERROR: Task
(virtual:nativesdk:/disk0/scratch/smonsees/yocto/workspace_2/poky/../meta-clang/recipes-devtools/clang/compiler-rt_git.bb:do_configure)
failed with exit code '1'
NOTE: Tasks Summary: Attempted 5382 tasks of which 5341 didn't need to be rerun
and 1 failed.
Thanks,
Steve
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#50344): https://lists.yoctoproject.org/g/yocto/message/50344
Mute This Topic: https://lists.yoctoproject.org/mt/76393119/21656
Mute #sdk: https://lists.yoctoproject.org/g/yocto+yocto/mutehashtag/sdk
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-