Where is ITKConfig.cmake on Fedora? - cmake

My program uses
FIND_PACKAGE(ITK REQUIRED)
it gives me the error message
Could not find a package configuration file provided by "ITK" with any of
the following names:
ITKConfig.cmake
itk-config.cmake
I've installed the packages itk and itk-devel but none of them has any CMake module. The module from CMake itself is deprecated.
I am using Fedora 23 and CMake 3.4.1
edit:
After downloading ITK 4.9.1 and trying to build it with
cmake ../
I get the following error:
Performing Test C_HAS_WARNING-Wformat=2
Performing Test C_HAS_WARNING-Wformat=2 - Success
Performing Test CXX_HAS_WARNING-Wformat=2
Performing Test CXX_HAS_WARNING-Wformat=2 - Success
CMake Error at CMakeLists.txt:243 (include):
include could not find load file:
/home/.../InsightToolkit/InsightToolkit-4.9.1/Utilities/KWStyle/KWStyle.cmake
CMake Error at CMake/ITKModuleEnablement.cmake:43 (message):
No such module "ITKKWIML" needed by "ITKCommon"
Call Stack (most recent call first):
CMake/ITKModuleEnablement.cmake:59 (itk_module_check)
CMake/ITKModuleEnablement.cmake:59 (itk_module_check)
CMake/ITKModuleEnablement.cmake:66 (itk_module_check)
CMakeLists.txt:345 (include)

You need to build and install ITK from source. There is a detailed explanation here.
Once you have finished installing ITK, CMake will be able to find it.

Related

Can't build AWS SDK CPP examples. Cmake can't find AWSSDKConfig.cmake, but the file is present on my disk

I installed the AWS SDK for C++ on my Ubuntu box using the instructions given in the Amazon doc:
https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/setup.html
I was able to compile the SDK without error.
Then I followed the README for building the examples, for C++. when I run Cmake I get the following error:
CMake Error at CMakeLists.txt:15 (find_package):
By not providing "FindAWSSDK.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "AWSSDK", but
CMake did not find one.
Could not find a package configuration file provided by "AWSSDK" with any
of the following names:
AWSSDKConfig.cmake
awssdk-config.cmake
Add the installation prefix of "AWSSDK" to CMAKE_PREFIX_PATH or set
"AWSSDK_DIR" to a directory containing one of the above files. If "AWSSDK"
provides a separate development package or SDK, be sure it has been
installed.
However AWSSDKConfig.cmake is definitely on my system:
$ locate AWSSDKConfig.cmake
/home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfig.cmake
So I tried adding the path to the configuration file directly using the CMake CMAKE_PREFIX_PATH command line argument:
sudo cmake -D CMAKE_PREFIX_PATH="/home/robert/Documents/GitHub/aws-sdk-cpp/cmake/" /home/robert/Documents/GitHub/aws-doc-sdk-examples/cpp/example_code/dynamodb
But then I get this set of error messages:
CMake Error at /home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfig.cmake:27 (include):
include could not find load file:
/home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfigVersion.cmake
Call Stack (most recent call first):
CMakeLists.txt:15 (find_package)
CMake Error at /home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfig.cmake:29 (include):
include could not find load file:
/home/robert/Documents/GitHub/aws-sdk-cpp/cmake/platformDeps.cmake
Call Stack (most recent call first):
CMakeLists.txt:15 (find_package)
CMake Error at /home/robert/Documents/GitHub/aws-sdk-cpp/cmake/AWSSDKConfig.cmake:86 (message):
AWS SDK for C++ is missing, please install it first
Call Stack (most recent call first):
CMakeLists.txt:15 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/robert/Documents/GitHub/aws-doc-sdk-examples-build/dynamodb/CMakeFiles/CMakeOutput.log".
I figure I must be doing something fundamentally wrong at this point. How can I make this work?

espidf COMPONENT_DIR

I'm trying to compile a simple Hello_world example using the Smooth component (https://github.com/PerMalmberg/Smooth), and get error: include could not find load file:
../lib/compiler_options.cmake.
It seems that COMPONENT_DIR is not set, but I'm not aware whether/where to set this, or where this should have been set.
I've been staring at this too long, and am not finding the (apparently) obvious problem. Anyone any thoughts?
ERROR
Note: You are using Python 3.8.0. Python 3 support is new, please report any problems you encounter. Search for 'Setting
the Python Interpreter' in the ESP-IDF docs if you want to use Python 2.7.
Checking Python dependencies...
Python requirements from C:\Esp32_tools\esp-idf-v3.3\requirements.txt are satisfied.
Running cmake in directory C:\Temp\esp\testCPP\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DESP_PLATFORM=1 --warn-uninitialized C:\Temp\esp\testCPP"...
Warn about uninitialized values.
-- Building for target esp32
-- ccache will be used for faster builds
CMake Error at C:/Temp/esp/testCPP/externals/smooth/smooth_component/CMakeLists.txt:21 (include):
include could not find load file:
../lib/compiler_options.cmake
Call Stack (most recent call first):
C:/Esp32_tools/esp-idf-v3.3/tools/cmake/scripts/expand_requirements.cmake:107 (include)
C:/Esp32_tools/esp-idf-v3.3/tools/cmake/scripts/expand_requirements.cmake:217 (expand_component_requirements)`
CMake Error at C:/Esp32_tools/esp-idf-v3.3/CMakeLists.txt:39 (message):
Failed to expand component requirements
VERSION
C:\Temp\esp\testCPP>cmake --version
cmake version 3.13.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).
CMakeLists.txt
set(CMAKE_CXX_STANDARD 17)
if(${ESP_PLATFORM})
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# Include Smooth as a component
set(EXTRA_COMPONENT_DIRS
externals/smooth/smooth_component)
project(name_of_your_project)
else()
# Empty project when not building for ESP (i.e. when loading the project into an IDE with already configured tool chains for native Linux)
endif()```
CMake Error at C:/Esp32_tools/esp-idf-v3.3/CMakeLists.txt:39 (message):
Failed to expand component requirements
You are missing this line in CMakeLists.txt
https://github.com/espressif/esp-idf/blob/master/examples/get-started/hello_world/CMakeLists.txt#L3

Cmake when building LLVM

Trying to build llvm project LLVM Project with CMake, it gives me an error that I can't solve by my own.
For doing this, I am using an Ubuntu Virtual Machine (version 18.04) and I am trying to build the project with "ninja".
I have tried to build this with the following commands (which the LLVM Builder Guide says to use, https://llvm.org/docs/GettingStarted.html)
git clone https://github.com/llvm/llvm-project.git
cd llvm-project/
mkdir build && cd build
cmake -DLLVM_ENABLE_PROJECTS='all' -DCMAKE_BUILD_TYPE=Release -G 'Ninja' ../llvm
At the last command, I use the first flag to download all the projects and the second because I do not need the Debug tools.
The last command gives me the following error several times with different targets:
CMake Error at /usr/share/cmake-3.10/Modules/ExternalProject.cmake:2759 (get_property):
get_property could not find TARGET llgo. Perhaps it has not yet been
created.
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/ExternalProject.cmake:3032 (_ep_add_configure_command)
/home/enrique/Escritorio/llvm-project/llgo/CMakeLists.txt:200 (externalproject_add)
/home/enrique/Escritorio/llvm-project/llgo/CMakeLists.txt:219 (add_libgo_variant)
And this library error:
-- LLD version: 10.0.0
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find LibEdit (missing: libedit_INCLUDE_DIRS libedit_LIBRARIES)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/home/enrique/Escritorio/llvm-project/lldb/cmake/modules/FindLibEdit.cmake:54 (find_package_handle_standard_args)
/home/enrique/Escritorio/llvm-project/lldb/cmake/modules/LLDBConfig.cmake:104 (find_package)
/home/enrique/Escritorio/llvm-project/lldb/CMakeLists.txt:21 (include)
-- Configuring incomplete, errors occurred!
See also "/home/enrique/Escritorio/llvm-project/build/CMakeFiles/CMakeOutput.log".
See also "/home/enrique/Escritorio/llvm-project/build/CMakeFiles/CMakeError.log".
I had the same issue, tried uninstalling the golang compiler (because I don't need llvm support for go); to no avail. I'm not an LLVM expert so this might not be the canonical solution but here's how I solved it:
I replaced
-DLLVM_ENABLE_PROJECTS='all'
by
-DLLVM_ENABLE_PROJECTS="proj1;proj2;proj3"
where I built the list "proj1;proj2;proj3" by grepping project is enabled$ in cmake output and removed the llgo project. I got a list like:
-- clang project is enabled
-- clang-tools-extra project is enabled
-- compiler-rt project is enabled
-- debuginfo-tests project is enabled
-- libclc project is enabled
-- libcxx project is enabled
-- libcxxabi project is enabled
-- libunwind project is enabled
-- lld project is enabled
-- lldb project is enabled
-- llgo project is enabled
-- openmp project is enabled
-- parallel-libs project is enabled
-- polly project is enabled
-- pstl project is enabled
and then built the following list with some vim macros/whatever you master (note: no llgo in there):
clang;clang-tools-extra;compiler-rt;debuginfo-tests;libclc;libcxx;libcxxabi;libunwind;lld;lldb;openmp;parallel-libs;polly;pstl
Then compiling llvm succeeded \o/

CMake does not find ZyppCommon when configuring Zypper

I've already compiled and installed libzypp, but when I want to compile zypper then Cmake returns an error:
CMake Error at CMakeLists.txt:11 (INCLUDE):
INCLUDE could not find load file:
ZyppCommon
CMake Error at CMakeLists.txt:24 (GENERATE_PACKAGING):
Unknown CMake command "GENERATE_PACKAGING".
-- Configuring incomplete, errors occurred!
See also "/home/origincode/zypper/CMakeFiles/CMakeOutput.log".
Environment
My OS: Fedora 26
gcc version:7.1.1
cmake version:3.9.1
The reason is, that CMake does not find the file ZyppCommon.cmake which contains the definition of the macro GENERATE_PACKAGING. The file is part of libzypp (located in cmake/modules/ZyppCommon.cmake).
You have three options:
Install libzypp, then zypper's CMake will find the file.
You have to include the path to the file to the CMake prefix path.
If you use some Suse / openSuse dritribution, installing libzypp-devel does install the required file.
If you have it installed, maybe you have to clear the CMake cache.

Errors when downloading emscripten

I want to download emscripten on ubuntu 12.04.I downloaded Cmake 3.3.0 then I download esmscripten_portable and I run these commands:
# Fetch the latest registry of available tools.
./emsdk update
# Download and install the latest SDK tools.
./emsdk install latest
I got these error messages:
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH)
-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH)
-- OCaml bindings disabled.
CMake Error at cmake/modules/HandleLLVMOptions.cmake:17 (message):
Host GCC version must be at least 4.7!
Call Stack (most recent call first):
CMakeLists.txt:378 (include)
-- Configuring incomplete, errors occurred!
See also "/home/slim/Bureau/emsdk_portable/clang/tag-e1.34.3/build_tag-e1.34.3_32/CMakeFiles/CMakeOutput.log".
See also "/home/slim/Bureau/emsdk_portable/clang/tag-e1.34.3/build_tag-e1.34.3_32/CMakeFiles/CMakeError.log".
CMake invocation failed due to exception!
Working directory: /home/slim/Bureau/emsdk_portable/clang/tag-e1.34.3/build_tag-e1.34.3_32
Command '['cmake', '-G', 'Unix Makefiles', '-DCMAKE_BUILD_TYPE=RelWithDebInfo', '-DPYTHON_EXECUTABLE=/usr/bin/python', '-DLLVM_TARGETS_TO_BUILD=X86;JSBackend', '-DLLVM_INCLUDE_EXAMPLES=OFF', '-DLLVM_INCLUDE_TESTS=OFF', '-DCLANG_INCLUDE_EXAMPLES=OFF', '-DCLANG_INCLUDE_TESTS=OFF', '/home/slim/Bureau/emsdk_portable/clang/tag-e1.34.3/src']' returned non-zero exit status 1
Installation failed!
I installed all these libraries very well but when I run this command:./emsdk activate latest.I got this message:The Emscripten configuration file /home/slim/.emscripten has been rewritten with the following contents:
import os
SPIDERMONKEY_ENGINE = ''
NODE_JS = 'node'
LLVM_ROOT='/home/slim/Bureau/emsdk_portable/clang/tag-e1.34.3/build_tag-e1.34.3_32/bin'
EMSCRIPTEN_ROOT='/home/slim/Bureau/emsdk_portable/emscripten/tag-1.34.3'
EMSCRIPTEN_NATIVE_OPTIMIZER='/home/slim/Bureau/emsdk_portable/emscripten/tag-1.34.3_32bit_optimizer/optimizer'
V8_ENGINE = ''
TEMP_DIR = '/tmp'
COMPILER_ENGINE = NODE_JS
JS_ENGINES = [NODE_JS]
To conveniently access the selected set of tools from the command line, consider adding the following directories to PATH, or call 'source ./emsdk_env.sh' to do this for you.
/home/slim/Bureau/emsdk_portable:/home/slim/Bureau/emsdk_portable/clang/tag-e1.34.3/build_tag-e1.34.3_32/bin:/home/slim/Bureau/emsdk_portable/emscripten/tag-1.34.3
I run :
source ./emsdk_env.sh
But when I run the command :
./emcc v
I got :
bash: ./emcc: No such file or directory