-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.17.0: cmake fails on using system installed llvm/clang #126
Comments
@kloczek, as mentioned in the readme file, the intrinsics package requires |
All LLVM projects are installing own cmake modules in standard cmake directory which is $(libdir)/cmake [tkloczko@pers-jacek x86_64]$ rpm -ql llvm | grep cmake
/usr/lib64/cmake/llvm
/usr/lib64/cmake/llvm/AddLLVM.cmake
/usr/lib64/cmake/llvm/AddOCaml.cmake
/usr/lib64/cmake/llvm/AddSphinxTarget.cmake
/usr/lib64/cmake/llvm/CheckAtomic.cmake
/usr/lib64/cmake/llvm/CheckCompilerVersion.cmake
/usr/lib64/cmake/llvm/CheckProblematicConfigurations.cmake
/usr/lib64/cmake/llvm/ChooseMSVCCRT.cmake
/usr/lib64/cmake/llvm/CoverageReport.cmake
/usr/lib64/cmake/llvm/CrossCompile.cmake
/usr/lib64/cmake/llvm/DetermineGCCCompatible.cmake
/usr/lib64/cmake/llvm/FindFFI.cmake
/usr/lib64/cmake/llvm/FindLibEdit.cmake
/usr/lib64/cmake/llvm/FindLibpfm.cmake
/usr/lib64/cmake/llvm/FindOCaml.cmake
/usr/lib64/cmake/llvm/FindSphinx.cmake
/usr/lib64/cmake/llvm/FindTerminfo.cmake
/usr/lib64/cmake/llvm/FindZ3.cmake
/usr/lib64/cmake/llvm/Findzstd.cmake
/usr/lib64/cmake/llvm/GenerateVersionFromVCS.cmake
/usr/lib64/cmake/llvm/GetErrcMessages.cmake
/usr/lib64/cmake/llvm/GetLibraryName.cmake
/usr/lib64/cmake/llvm/HandleLLVMOptions.cmake
/usr/lib64/cmake/llvm/HandleLLVMStdlib.cmake
/usr/lib64/cmake/llvm/LLVM-Build.cmake
/usr/lib64/cmake/llvm/LLVM-Config.cmake
/usr/lib64/cmake/llvm/LLVMCheckLinkerFlag.cmake
/usr/lib64/cmake/llvm/LLVMConfig.cmake
/usr/lib64/cmake/llvm/LLVMConfigExtensions.cmake
/usr/lib64/cmake/llvm/LLVMConfigVersion.cmake
/usr/lib64/cmake/llvm/LLVMDistributionSupport.cmake
/usr/lib64/cmake/llvm/LLVMExports-relwithdebinfo.cmake
/usr/lib64/cmake/llvm/LLVMExports.cmake
/usr/lib64/cmake/llvm/LLVMExternalProjectUtils.cmake
/usr/lib64/cmake/llvm/LLVMInstallSymlink.cmake
/usr/lib64/cmake/llvm/LLVMProcessSources.cmake
/usr/lib64/cmake/llvm/SetTargetTriple.cmake
/usr/lib64/cmake/llvm/TableGen.cmake
/usr/lib64/cmake/llvm/TensorFlowCompile.cmake
/usr/lib64/cmake/llvm/UseLibtool.cmake
/usr/lib64/cmake/llvm/VersionFromVCS.cmake
/usr/lib64/cmake/llvm/llvm-driver-template.cpp.in .. so instead looking for the llvm cmake module in exact directory all what should be done is just In other words all those lines can be removed and replaced by probably |
@kloczek, at least on some distros the LLVM files are installed into
We cannot hardcode any pre-defined LLVM paths in our CMakeLists.txt, because these paths are distro-dependent and LLVM version dependent. Indeed we cannot know which particular version of LLVM are you going to build vc-intrinsics package against. So, could you please build the package as it's described in the readme file? |
I'm talking about default setup during build LLVM. |
Any update? |
@kloczek, we don't plan to use the CMAKE_MODULE_PATH. The proper way is to define |
I'm not using $CMAKE_MODULE_PATH env variable. |
The VC intrinsics library doesn't require LLVM source code. It just requires something like |
cmake currently do not fails because some cmake modules are missing. + /usr/bin/cmake -B x86_64-redhat-linux-gnu -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_EXPORT_COMPILE_COMMANDS=ON -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D ENABLE_BSYMBOLICFUNCTIONS=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc -S .
CMake Error at CMakeLists.txt:17 (get_filename_component):
get_filename_component unknown component BASE_DIR |
@kloczek, that's expected. You run cmake incorrectly. You have to pass the |
And tat is odd because all other projects are assuming that those files will be installed in standard cmake module path. |
Looks like vc-intrinsics wants to have an access to llvm source tree 🤔
The text was updated successfully, but these errors were encountered: