cmake troubles with path to Includes And Libraries












0














i try to cross-compile my app to Raspberry Pi with docker.




  1. I built image with necessary dependencies from armhf architecture (protobuf-compiler-grpc:armhf libgrpc-dev:armhf libgrpc++-dev:armhf libprotobuf-dev:armhf libcpprest-dev:armhf libboost-dev:armhf). dependencies installed via apt-get from port.ubuntu.com repo.


  2. After starting cmake with following args:




./cross-rpi-final cmake -DCASABLANCA_INCLUDE_DIR=/usr/include/cpprest
-DCASABLANCA_LIBRARIES=/usr/lib/arm-linux-gnueabihf -DBOOST_INCLUDEDIR=/usr/include/boost -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux




Part of required libs is find by cmake, but Casablanca and Boost is not found.



Output after cmake execution:



-- Version: 1.6.1.2, Rev: 64730c0
+ lib-gw-core-linux
+ lib-gw-core
+ commons
Configure as multiple libs
+ core
+ transport
+ rules engine
+ json11
+ gw-core
+ gw-core-linux-dev-console
+ cxxopts
+ tinyb
patching file /work/app-gw-linux/lib-gw-core-linux/tinyb/src/CMakeLists.txt
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored
CMake Warning at lib-gw-core-linux/tinyb/CMakeLists.txt:26 (message):
- Install git to compile a production libtinyb!


INFO - libtinyb Version v0.5.0-dirty
+ gw-core-linux
-- Could NOT find Casablanca, try to set the path to Casablanca root folder in the system variable CASABLANCA_ROOT_DIR (missing: CASABLANCA_LIBRARIES)
CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Error at /usr/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:425 (file):
file STRINGS file
"/usr/lib/arm-linux-gnueabihf/google/protobuf/stubs/common.h" cannot be
read.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:431 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:432 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or
exp_NUMBER (2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:433 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Warning at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:455 (message):
Protobuf compiler version 3.0.0 doesn't match library version ..
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


-- Using protobuf
-- Using gRPC
-- SOURCE FILES include/milfei/gw/core/lnx/bt/LnxBleScanner.hpp;src/milfei/gw/core/lnx/bt/LnxBleScanner.cpp;include/milfei/gw/core/lnx/bt/LnxBluetoothAdapter.hpp;src/milfei/gw/core/lnx/bt/LnxBluetoothAdapter.cpp;include/milfei/gw/core/lnx/bt/LnxBluetoothDevice.hpp;src/milfei/gw/core/lnx/bt/LnxBluetoothDevice.cpp;include/milfei/gw/core/lnx/bt/LnxGatt.hpp;src/milfei/gw/core/lnx/bt/LnxGatt.cpp;include/milfei/gw/core/lnx/bt/LnxCharacteristic.hpp;src/milfei/gw/core/lnx/bt/LnxCharacteristic.cpp;src/milfei/gw/core/lnx/app/DevicesListenerImpl.hpp;src/milfei/gw/core/lnx/app/DevicesListenerImpl.cpp;include/milfei/gw/core/lnx/app/App.hpp;src/milfei/gw/core/lnx/app/App.cpp;src/milfei/gw/core/lnx/app/TerminalApp.cpp;src/milfei/gw/core/lnx/app/TerminalApp.hpp;src/milfei/gw/core/lnx/app/SimpleTerminalApp.cpp;src/milfei/gw/core/lnx/app/SimpleTerminalApp.hpp;src/milfei/gw/core/lnx/app/cmd/CommandEnvironment.hpp;src/milfei/gw/core/lnx/app/cmd/CommandEnvironment.cpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractiveCloneable.hpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractive.hpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractive.cpp;src/milfei/gw/core/lnx/app/cmd/CommandMeta.hpp;src/milfei/gw/core/lnx/app/cmd/CommandMeta.cpp;src/milfei/gw/core/lnx/app/cmd/SwitchOnOff.hpp;src/milfei/gw/core/lnx/app/cmd/SwitchOnOff.cpp;src/milfei/gw/core/lnx/app/rpc/RequestDispatcher.hpp;src/milfei/gw/core/lnx/app/rpc/CommandDataEvent.hpp;src/milfei/gw/core/lnx/app/cmd/Rename.hpp;src/milfei/gw/core/lnx/app/cmd/Rename.cpp;src/milfei/gw/core/lnx/app/cmd/GatewayInfo.hpp;src/milfei/gw/core/lnx/app/cmd/GatewayInfo.cpp;src/milfei/gw/core/lnx/app/cmd/Help.hpp;src/milfei/gw/core/lnx/app/cmd/Help.cpp;src/milfei/gw/core/lnx/app/cmd/Welcome.hpp;src/milfei/gw/core/lnx/app/cmd/Welcome.cpp;src/milfei/gw/core/lnx/app/cmd/Login.cpp;src/milfei/gw/core/lnx/app/cmd/Login.hpp;src/milfei/gw/core/lnx/app/cmd/Logout.cpp;src/milfei/gw/core/lnx/app/cmd/Logout.hpp;src/milfei/gw/core/lnx/app/cmd/CommandLauncherDefault.hpp;src/milfei/gw/core/lnx/app/rpc/Login.hpp;src/milfei/gw/core/lnx/app/rpc/Login.cpp;src/milfei/gw/core/lnx/app/rpc/Logout.cpp;src/milfei/gw/core/lnx/app/rpc/Logout.hpp;src/milfei/gw/core/lnx/app/rpc/Switch.hpp;src/milfei/gw/core/lnx/app/rpc/Switch.cpp;src/milfei/gw/core/lnx/app/rpc/Rename.cpp;src/milfei/gw/core/lnx/app/rpc/Rename.hpp;src/milfei/gw/core/lnx/app/rpc/RenameCommand.hpp;src/milfei/gw/core/lnx/app/rpc/RenameCommand.cpp;src/milfei/gw/core/lnx/app/rpc/SwitchCommand.hpp;src/milfei/gw/core/lnx/app/rpc/SwitchCommand.cpp;src/milfei/gw/core/lnx/app/rpc/LogoutCommand.hpp;src/milfei/gw/core/lnx/app/rpc/LogoutCommand.cpp;src/milfei/gw/core/lnx/app/rpc/CommandResultDefault.hpp;src/milfei/gw/core/lnx/app/rpc/CommandResultDefault.cpp;src/milfei/gw/core/lnx/app/rpc/LoginCommand.cpp;src/milfei/gw/core/lnx/app/rpc/LoginCommand.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfo.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfo.cpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfoCommand.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfoCommand.cpp;src/milfei/gw/core/lnx/app/rpc/CommandsInvoker.hpp;src/milfei/gw/core/lnx/app/rpc/CommandsInvoker.cpp;src/milfei/gw/core/lnx/app/rpc/CommandWrapper.hpp;src/milfei/gw/core/lnx/app/rpc/CommandRemote.hpp;src/milfei/gw/core/lnx/app/rpc/CommandContext.hpp;src/milfei/gw/core/lnx/app/rpc/CommandContext.cpp;src/milfei/gw/core/lnx/app/rpc/GrpcServer.hpp;src/milfei/gw/core/lnx/app/rpc/GrpcServer.cpp;src/milfei/gw/core/lnx/app/rpc/GrpcClient.hpp;src/milfei/gw/core/lnx/app/rpc/GrpcClient.cpp;src/milfei/gw/core/lnx/app/rpc/GWServiceImpl.hpp;src/milfei/gw/core/lnx/app/rpc/GWServiceImpl.cpp;src/milfei/gw/core/lnx/app/rpc/ServiceCommandsSender.hpp;src/milfei/gw/core/lnx/app/TerminalAppClient.cpp;src/milfei/gw/core/lnx/app/TerminalAppClient.hpp;src/milfei/gw/core/lnx/app/Credentials.hpp;src/milfei/gw/core/lnx/app/Urls.hpp;src/milfei/gw/core/lnx/app/TerminalAppService.cpp;src/milfei/gw/core/lnx/app/TerminalAppService.hpp;src/milfei/gw/core/lnx/app/LnxEnvironment.cpp;src/milfei/gw/core/lnx/app/LnxEnvironment.hpp;src/milfei/gw/core/lnx/app/LnxBatteryStateMonitor.cpp;src/milfei/gw/core/lnx/app/LnxBatteryStateMonitor.hpp;src/milfei/gw/core/lnx/storage/LnxKeyValueStorage.cpp;src/milfei/gw/core/lnx/storage/LnxKeyValueStorage.hpp;src/milfei/gw/core/lnx/io/IOUtils.hpp;src/milfei/gw/core/lnx/io/IOUtils.cpp;src/milfei/gw/core/lnx/http/LnxHttpClient.cpp;src/milfei/gw/core/lnx/http/LnxHttpClient.hpp;src/milfei/gw/core/lnx/http/LnxHttpCall.cpp;src/milfei/gw/core/lnx/http/LnxHttpCall.hpp;src/milfei/gw/core/lnx/cloud/aws/AwsCloudClient.cpp;include/milfei/gw/core/lnx/cloud/aws/AwsCloudClient.hpp;src/milfei/gw/core/lnx/cloud/LnxCloudClientFactory.cpp;include/milfei/gw/core/lnx/cloud/LnxCloudClientFactory.hpp;/work/lib-gw-core-linux/gw-core-linux/gwservice.pb.cc;/work/lib-gw-core-linux/gw-core-linux/gwservice.grpc.pb.cc
+ aws-iot-device-sdk-cpp
-- Configuring done
-- Generating done
-- Build files have been written to: /work/third_party/rapidjson/download
[100%] Built target rapidjson
-- The following OPTIONAL packages have been found:

* Doxygen
* Git

-- The following REQUIRED packages have been found:

* Protobuf
* gRPC
* PkgConfig
* OpenSSL
* Threads

-- The following features have been disabled:

* SharedLibrary, build the library as shared objects
* Cli, the command line interface
* Samples, example programs making use of the SDK
* Tests, unit and integration tests
* Docs, HTML based API documentation

-- The following REQUIRED packages have not been found:

* Casablanca
* Boost

-- Configuring incomplete, errors occurred!
See also "/work/CMakeFiles/CMakeOutput.log".
See also "/work/CMakeFiles/CMakeError.log".


Maybe reason of this trouble its a libraries of another architecture (armhf)? Host where placed crosscompiling container is server with AMD64 arch.



How i can set path to all libraries correctly and fix this problem?



CMakeLists.txt:



cmake_minimum_required(VERSION 4.7) project(app_gw_linux VERSION
1.6.1.2)

set(CMAKE_CXX_STANDARD 11)

option(APP_GW_LINUX_MOCK_BLUETOOTH "Use mock bluetooth API" Off)

if (APP_GW_LINUX_MOCK_BLUETOOTH)
set(GW_CORE_LINUX_MOCK_BLUETOOTH On CACHE BOOL "Use mock bluetooth API" FORCE) endif ()

set(APP_GW_LINUX_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(APP_GW_LINUX_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set(APP_GW_LINUX_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set(APP_GW_LINUX_VERSION_TWEAK ${PROJECT_VERSION_TWEAK})

find_package(Git) if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
# Get the latest abbreviated commit hash of the working branch
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE APP_GW_LINUX_VERSION_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE
) else()
message(WARNING "Git not found, cannot set version info")
SET(APP_GW_LINUX_VERSION_REVISION "unknown") endif()

message(STATUS "Version: ${PROJECT_VERSION}, Rev: ${APP_GW_LINUX_VERSION_REVISION}") message(" + lib-gw-core-linux") add_subdirectory(lib-gw-core-linux)

include_directories(src
lib-gw-core-linux/gw-core-linux/include)

set(SOURCE_FILES src/milfei/gw/lnx/Main.cpp)

add_executable(app-gw-linux ${SOURCE_FILES}) install(TARGETS app-gw-linux DESTINATION local/bin COMPONENT bin) install(FILES app-gw-linux.service DESTINATION /etc/systemd/system COMPONENT bin) install(FILES ${CMAKE_BINARY_DIR}/bin/certs/verisign-class-3-public-primary-ca-g5.pem DESTINATION /etc/company/.agilegateway RENAME ca.pem COMPONENT bin) set(TARGET_NAME app-gw-linux)

add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/certs $<TARGET_FILE_DIR:${TARGET_NAME}>/certs) target_link_libraries(app-gw-linux gw-core-linux)

if (NOT APP_GW_LINUX_MOCK_BLUETOOTH)
target_link_libraries(app-gw-linux tinyb) endif ()

SET(CPACK_GENERATOR "DEB") set(CPACK_DEB_COMPONENT_INSTALL ON) SET(CPACK_COMPONENTS_ALL "bin") SET(CPACK_PACKAGE_NAME "app-gw-linux") SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) SET(CPACK_PACKAGE_VERSION_TWEAK ${PROJECT_VERSION_TWEAK}) SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_PACKAGE_VERSION_TWEAK}") SET(CPACK_PACKAGE_CONTACT "support@company.com") SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "company.com") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libcpprest2.10 | libcpprest2.9, libgrpc3 (>= 1.10), libgrpc++1 (>= 1.10)") SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/preinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/prerm;${CMAKE_CURRENT_SOURCE_DIR}/debian/postrm") INCLUDE(CPack)


UPD. Boost output with debug log:



-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1121 ] _boost_TEST_VERSIONS = 1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1123 ] Boost_USE_MULTITHREADED = ON
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1125 ] Boost_USE_STATIC_LIBS = ON
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1127 ] Boost_USE_STATIC_RUNTIME = OFF
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1129 ] Boost_ADDITIONAL_VERSIONS =
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1131 ] Boost_NO_SYSTEM_PATHS =
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1199 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1201 ] BOOST_ROOT = /usr/local/boost
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1203 ] BOOST_INCLUDEDIR = /usr/local/boost/include/boost
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1205 ] BOOST_LIBRARYDIR = /usr/local/boost/lib
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1207 ] _boost_TEST_VERSIONS = 1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1282 ] Include debugging info:
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1284 ] _boost_INCLUDE_SEARCH_DIRS = /usr/local/boost/include/boost;/usr/local/boost/include;/usr/local/boost;PATHS;C:/boost/include;C:/boost;/sw/local/include
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1286 ] _boost_PATH_SUFFIXES = boost-1_67_0;boost_1_67_0;boost/boost-1_67_0;boost/boost_1_67_0;boost-1_67;boost_1_67;boost/boost-1_67;boost/boost_1_67;boost-1_66_0;boost_1_66_0;boost/boost-1_66_0;boost/boost_1_66_0;boost-1_66;boost_1_66;boost/boost-1_66;boost/boost_1_66;boost-1_65_1;boost_1_65_1;boost/boost-1_65_1;boost/boost_1_65_1;boost-1_65_0;boost_1_65_0;boost/boost-1_65_0;boost/boost_1_65_0;boost-1_65;boost_1_65;boost/boost-1_65;boost/boost_1_65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1416 ] guessed _boost_COMPILER = -gcc
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1426 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1502 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1504 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1567 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = /usr/local/boost/lib;/usr/local/boost/lib;/usr/local/boost/stage/lib;Boost_INCLUDE_DIR-NOTFOUND/lib;Boost_INCLUDE_DIR-NOTFOUND/../lib;Boost_INCLUDE_DIR-NOTFOUND/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib_boost_LIBRARY_SEARCH_DIRS_DEBUG = /usr/local/boost/lib;/usr/local/boost/lib;/usr/local/boost/stage/lib;Boost_INCLUDE_DIR-NOTFOUND/lib;Boost_INCLUDE_DIR-NOTFOUND/../lib;Boost_INCLUDE_DIR-NOTFOUND/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc-mt-;boost_system-gcc-mt;boost_system-mt-;boost_system-mt;boost_system
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc-mt-d-;boost_system-gcc-mt-d;boost_system-mt-d-;boost_system-mt-d;boost_system-mt;boost_system
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for CHRONO_LIBRARY_RELEASE: boost_chrono-gcc-mt-;boost_chrono-gcc-mt;boost_chrono-mt-;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for CHRONO_LIBRARY_DEBUG: boost_chrono-gcc-mt-d-;boost_chrono-gcc-mt-d;boost_chrono-mt-d-;boost_chrono-mt-d;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc-mt-;boost_thread-gcc-mt;boost_thread-mt-;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc-mt-d-;boost_thread-gcc-mt-d;boost_thread-mt-d-;boost_thread-mt-d;boost_thread-mt;boost_thread
CMake Error at /usr/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:425 (file):
file STRINGS file
"/usr/lib/arm-linux-gnueabihf/google/protobuf/stubs/common.h" cannot be
read.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:431 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:432 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or
exp_NUMBER (2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:433 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Warning at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:455 (message):
Protobuf compiler version 3.0.0 doesn't match library version ..
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


And Toolchain config:



set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(cross_triple "arm-linux-gnueabihf")

set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC})

set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT} $ENV{CROSS_ROOT}/libc/usr)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)









share|improve this question
























  • If prefer to use conan for this. With conan you can easily build missing libraries. It will set the paths for you.
    – Thomas Sablik
    Nov 8 at 15:56












  • Can you post your CMakeLists.txt file?
    – Jose Fernando Lopez Fernandez
    Nov 9 at 2:57










  • Jose Fernando Lopez Fernandez, pasted CMakeLists.txt in edited post.
    – Pavel Rudenkov
    Nov 9 at 6:22










  • From the errors, it looks like you need to specify where Casablanca and Boost are, which you can do by using CMAKE_MODULE_PATH, CMAKE_PREFIX_PATH, setting the BOOST_ROOT, etc.
    – Jose Fernando Lopez Fernandez
    Nov 9 at 18:23










  • I start cmake with parameters: cmake -DBOOST_ROOT=/usr/local/boost -DBOOST_INCLUDEDIR=/usr/local/boost/include/boost -DBOOST_LIBRARYDIR=/usr/local/boost/lib -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux And cmake doesn't see boost :(
    – Pavel Rudenkov
    Nov 12 at 15:41
















0














i try to cross-compile my app to Raspberry Pi with docker.




  1. I built image with necessary dependencies from armhf architecture (protobuf-compiler-grpc:armhf libgrpc-dev:armhf libgrpc++-dev:armhf libprotobuf-dev:armhf libcpprest-dev:armhf libboost-dev:armhf). dependencies installed via apt-get from port.ubuntu.com repo.


  2. After starting cmake with following args:




./cross-rpi-final cmake -DCASABLANCA_INCLUDE_DIR=/usr/include/cpprest
-DCASABLANCA_LIBRARIES=/usr/lib/arm-linux-gnueabihf -DBOOST_INCLUDEDIR=/usr/include/boost -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux




Part of required libs is find by cmake, but Casablanca and Boost is not found.



Output after cmake execution:



-- Version: 1.6.1.2, Rev: 64730c0
+ lib-gw-core-linux
+ lib-gw-core
+ commons
Configure as multiple libs
+ core
+ transport
+ rules engine
+ json11
+ gw-core
+ gw-core-linux-dev-console
+ cxxopts
+ tinyb
patching file /work/app-gw-linux/lib-gw-core-linux/tinyb/src/CMakeLists.txt
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored
CMake Warning at lib-gw-core-linux/tinyb/CMakeLists.txt:26 (message):
- Install git to compile a production libtinyb!


INFO - libtinyb Version v0.5.0-dirty
+ gw-core-linux
-- Could NOT find Casablanca, try to set the path to Casablanca root folder in the system variable CASABLANCA_ROOT_DIR (missing: CASABLANCA_LIBRARIES)
CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Error at /usr/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:425 (file):
file STRINGS file
"/usr/lib/arm-linux-gnueabihf/google/protobuf/stubs/common.h" cannot be
read.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:431 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:432 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or
exp_NUMBER (2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:433 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Warning at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:455 (message):
Protobuf compiler version 3.0.0 doesn't match library version ..
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


-- Using protobuf
-- Using gRPC
-- SOURCE FILES include/milfei/gw/core/lnx/bt/LnxBleScanner.hpp;src/milfei/gw/core/lnx/bt/LnxBleScanner.cpp;include/milfei/gw/core/lnx/bt/LnxBluetoothAdapter.hpp;src/milfei/gw/core/lnx/bt/LnxBluetoothAdapter.cpp;include/milfei/gw/core/lnx/bt/LnxBluetoothDevice.hpp;src/milfei/gw/core/lnx/bt/LnxBluetoothDevice.cpp;include/milfei/gw/core/lnx/bt/LnxGatt.hpp;src/milfei/gw/core/lnx/bt/LnxGatt.cpp;include/milfei/gw/core/lnx/bt/LnxCharacteristic.hpp;src/milfei/gw/core/lnx/bt/LnxCharacteristic.cpp;src/milfei/gw/core/lnx/app/DevicesListenerImpl.hpp;src/milfei/gw/core/lnx/app/DevicesListenerImpl.cpp;include/milfei/gw/core/lnx/app/App.hpp;src/milfei/gw/core/lnx/app/App.cpp;src/milfei/gw/core/lnx/app/TerminalApp.cpp;src/milfei/gw/core/lnx/app/TerminalApp.hpp;src/milfei/gw/core/lnx/app/SimpleTerminalApp.cpp;src/milfei/gw/core/lnx/app/SimpleTerminalApp.hpp;src/milfei/gw/core/lnx/app/cmd/CommandEnvironment.hpp;src/milfei/gw/core/lnx/app/cmd/CommandEnvironment.cpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractiveCloneable.hpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractive.hpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractive.cpp;src/milfei/gw/core/lnx/app/cmd/CommandMeta.hpp;src/milfei/gw/core/lnx/app/cmd/CommandMeta.cpp;src/milfei/gw/core/lnx/app/cmd/SwitchOnOff.hpp;src/milfei/gw/core/lnx/app/cmd/SwitchOnOff.cpp;src/milfei/gw/core/lnx/app/rpc/RequestDispatcher.hpp;src/milfei/gw/core/lnx/app/rpc/CommandDataEvent.hpp;src/milfei/gw/core/lnx/app/cmd/Rename.hpp;src/milfei/gw/core/lnx/app/cmd/Rename.cpp;src/milfei/gw/core/lnx/app/cmd/GatewayInfo.hpp;src/milfei/gw/core/lnx/app/cmd/GatewayInfo.cpp;src/milfei/gw/core/lnx/app/cmd/Help.hpp;src/milfei/gw/core/lnx/app/cmd/Help.cpp;src/milfei/gw/core/lnx/app/cmd/Welcome.hpp;src/milfei/gw/core/lnx/app/cmd/Welcome.cpp;src/milfei/gw/core/lnx/app/cmd/Login.cpp;src/milfei/gw/core/lnx/app/cmd/Login.hpp;src/milfei/gw/core/lnx/app/cmd/Logout.cpp;src/milfei/gw/core/lnx/app/cmd/Logout.hpp;src/milfei/gw/core/lnx/app/cmd/CommandLauncherDefault.hpp;src/milfei/gw/core/lnx/app/rpc/Login.hpp;src/milfei/gw/core/lnx/app/rpc/Login.cpp;src/milfei/gw/core/lnx/app/rpc/Logout.cpp;src/milfei/gw/core/lnx/app/rpc/Logout.hpp;src/milfei/gw/core/lnx/app/rpc/Switch.hpp;src/milfei/gw/core/lnx/app/rpc/Switch.cpp;src/milfei/gw/core/lnx/app/rpc/Rename.cpp;src/milfei/gw/core/lnx/app/rpc/Rename.hpp;src/milfei/gw/core/lnx/app/rpc/RenameCommand.hpp;src/milfei/gw/core/lnx/app/rpc/RenameCommand.cpp;src/milfei/gw/core/lnx/app/rpc/SwitchCommand.hpp;src/milfei/gw/core/lnx/app/rpc/SwitchCommand.cpp;src/milfei/gw/core/lnx/app/rpc/LogoutCommand.hpp;src/milfei/gw/core/lnx/app/rpc/LogoutCommand.cpp;src/milfei/gw/core/lnx/app/rpc/CommandResultDefault.hpp;src/milfei/gw/core/lnx/app/rpc/CommandResultDefault.cpp;src/milfei/gw/core/lnx/app/rpc/LoginCommand.cpp;src/milfei/gw/core/lnx/app/rpc/LoginCommand.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfo.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfo.cpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfoCommand.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfoCommand.cpp;src/milfei/gw/core/lnx/app/rpc/CommandsInvoker.hpp;src/milfei/gw/core/lnx/app/rpc/CommandsInvoker.cpp;src/milfei/gw/core/lnx/app/rpc/CommandWrapper.hpp;src/milfei/gw/core/lnx/app/rpc/CommandRemote.hpp;src/milfei/gw/core/lnx/app/rpc/CommandContext.hpp;src/milfei/gw/core/lnx/app/rpc/CommandContext.cpp;src/milfei/gw/core/lnx/app/rpc/GrpcServer.hpp;src/milfei/gw/core/lnx/app/rpc/GrpcServer.cpp;src/milfei/gw/core/lnx/app/rpc/GrpcClient.hpp;src/milfei/gw/core/lnx/app/rpc/GrpcClient.cpp;src/milfei/gw/core/lnx/app/rpc/GWServiceImpl.hpp;src/milfei/gw/core/lnx/app/rpc/GWServiceImpl.cpp;src/milfei/gw/core/lnx/app/rpc/ServiceCommandsSender.hpp;src/milfei/gw/core/lnx/app/TerminalAppClient.cpp;src/milfei/gw/core/lnx/app/TerminalAppClient.hpp;src/milfei/gw/core/lnx/app/Credentials.hpp;src/milfei/gw/core/lnx/app/Urls.hpp;src/milfei/gw/core/lnx/app/TerminalAppService.cpp;src/milfei/gw/core/lnx/app/TerminalAppService.hpp;src/milfei/gw/core/lnx/app/LnxEnvironment.cpp;src/milfei/gw/core/lnx/app/LnxEnvironment.hpp;src/milfei/gw/core/lnx/app/LnxBatteryStateMonitor.cpp;src/milfei/gw/core/lnx/app/LnxBatteryStateMonitor.hpp;src/milfei/gw/core/lnx/storage/LnxKeyValueStorage.cpp;src/milfei/gw/core/lnx/storage/LnxKeyValueStorage.hpp;src/milfei/gw/core/lnx/io/IOUtils.hpp;src/milfei/gw/core/lnx/io/IOUtils.cpp;src/milfei/gw/core/lnx/http/LnxHttpClient.cpp;src/milfei/gw/core/lnx/http/LnxHttpClient.hpp;src/milfei/gw/core/lnx/http/LnxHttpCall.cpp;src/milfei/gw/core/lnx/http/LnxHttpCall.hpp;src/milfei/gw/core/lnx/cloud/aws/AwsCloudClient.cpp;include/milfei/gw/core/lnx/cloud/aws/AwsCloudClient.hpp;src/milfei/gw/core/lnx/cloud/LnxCloudClientFactory.cpp;include/milfei/gw/core/lnx/cloud/LnxCloudClientFactory.hpp;/work/lib-gw-core-linux/gw-core-linux/gwservice.pb.cc;/work/lib-gw-core-linux/gw-core-linux/gwservice.grpc.pb.cc
+ aws-iot-device-sdk-cpp
-- Configuring done
-- Generating done
-- Build files have been written to: /work/third_party/rapidjson/download
[100%] Built target rapidjson
-- The following OPTIONAL packages have been found:

* Doxygen
* Git

-- The following REQUIRED packages have been found:

* Protobuf
* gRPC
* PkgConfig
* OpenSSL
* Threads

-- The following features have been disabled:

* SharedLibrary, build the library as shared objects
* Cli, the command line interface
* Samples, example programs making use of the SDK
* Tests, unit and integration tests
* Docs, HTML based API documentation

-- The following REQUIRED packages have not been found:

* Casablanca
* Boost

-- Configuring incomplete, errors occurred!
See also "/work/CMakeFiles/CMakeOutput.log".
See also "/work/CMakeFiles/CMakeError.log".


Maybe reason of this trouble its a libraries of another architecture (armhf)? Host where placed crosscompiling container is server with AMD64 arch.



How i can set path to all libraries correctly and fix this problem?



CMakeLists.txt:



cmake_minimum_required(VERSION 4.7) project(app_gw_linux VERSION
1.6.1.2)

set(CMAKE_CXX_STANDARD 11)

option(APP_GW_LINUX_MOCK_BLUETOOTH "Use mock bluetooth API" Off)

if (APP_GW_LINUX_MOCK_BLUETOOTH)
set(GW_CORE_LINUX_MOCK_BLUETOOTH On CACHE BOOL "Use mock bluetooth API" FORCE) endif ()

set(APP_GW_LINUX_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(APP_GW_LINUX_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set(APP_GW_LINUX_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set(APP_GW_LINUX_VERSION_TWEAK ${PROJECT_VERSION_TWEAK})

find_package(Git) if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
# Get the latest abbreviated commit hash of the working branch
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE APP_GW_LINUX_VERSION_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE
) else()
message(WARNING "Git not found, cannot set version info")
SET(APP_GW_LINUX_VERSION_REVISION "unknown") endif()

message(STATUS "Version: ${PROJECT_VERSION}, Rev: ${APP_GW_LINUX_VERSION_REVISION}") message(" + lib-gw-core-linux") add_subdirectory(lib-gw-core-linux)

include_directories(src
lib-gw-core-linux/gw-core-linux/include)

set(SOURCE_FILES src/milfei/gw/lnx/Main.cpp)

add_executable(app-gw-linux ${SOURCE_FILES}) install(TARGETS app-gw-linux DESTINATION local/bin COMPONENT bin) install(FILES app-gw-linux.service DESTINATION /etc/systemd/system COMPONENT bin) install(FILES ${CMAKE_BINARY_DIR}/bin/certs/verisign-class-3-public-primary-ca-g5.pem DESTINATION /etc/company/.agilegateway RENAME ca.pem COMPONENT bin) set(TARGET_NAME app-gw-linux)

add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/certs $<TARGET_FILE_DIR:${TARGET_NAME}>/certs) target_link_libraries(app-gw-linux gw-core-linux)

if (NOT APP_GW_LINUX_MOCK_BLUETOOTH)
target_link_libraries(app-gw-linux tinyb) endif ()

SET(CPACK_GENERATOR "DEB") set(CPACK_DEB_COMPONENT_INSTALL ON) SET(CPACK_COMPONENTS_ALL "bin") SET(CPACK_PACKAGE_NAME "app-gw-linux") SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) SET(CPACK_PACKAGE_VERSION_TWEAK ${PROJECT_VERSION_TWEAK}) SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_PACKAGE_VERSION_TWEAK}") SET(CPACK_PACKAGE_CONTACT "support@company.com") SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "company.com") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libcpprest2.10 | libcpprest2.9, libgrpc3 (>= 1.10), libgrpc++1 (>= 1.10)") SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/preinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/prerm;${CMAKE_CURRENT_SOURCE_DIR}/debian/postrm") INCLUDE(CPack)


UPD. Boost output with debug log:



-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1121 ] _boost_TEST_VERSIONS = 1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1123 ] Boost_USE_MULTITHREADED = ON
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1125 ] Boost_USE_STATIC_LIBS = ON
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1127 ] Boost_USE_STATIC_RUNTIME = OFF
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1129 ] Boost_ADDITIONAL_VERSIONS =
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1131 ] Boost_NO_SYSTEM_PATHS =
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1199 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1201 ] BOOST_ROOT = /usr/local/boost
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1203 ] BOOST_INCLUDEDIR = /usr/local/boost/include/boost
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1205 ] BOOST_LIBRARYDIR = /usr/local/boost/lib
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1207 ] _boost_TEST_VERSIONS = 1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1282 ] Include debugging info:
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1284 ] _boost_INCLUDE_SEARCH_DIRS = /usr/local/boost/include/boost;/usr/local/boost/include;/usr/local/boost;PATHS;C:/boost/include;C:/boost;/sw/local/include
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1286 ] _boost_PATH_SUFFIXES = boost-1_67_0;boost_1_67_0;boost/boost-1_67_0;boost/boost_1_67_0;boost-1_67;boost_1_67;boost/boost-1_67;boost/boost_1_67;boost-1_66_0;boost_1_66_0;boost/boost-1_66_0;boost/boost_1_66_0;boost-1_66;boost_1_66;boost/boost-1_66;boost/boost_1_66;boost-1_65_1;boost_1_65_1;boost/boost-1_65_1;boost/boost_1_65_1;boost-1_65_0;boost_1_65_0;boost/boost-1_65_0;boost/boost_1_65_0;boost-1_65;boost_1_65;boost/boost-1_65;boost/boost_1_65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1416 ] guessed _boost_COMPILER = -gcc
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1426 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1502 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1504 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1567 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = /usr/local/boost/lib;/usr/local/boost/lib;/usr/local/boost/stage/lib;Boost_INCLUDE_DIR-NOTFOUND/lib;Boost_INCLUDE_DIR-NOTFOUND/../lib;Boost_INCLUDE_DIR-NOTFOUND/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib_boost_LIBRARY_SEARCH_DIRS_DEBUG = /usr/local/boost/lib;/usr/local/boost/lib;/usr/local/boost/stage/lib;Boost_INCLUDE_DIR-NOTFOUND/lib;Boost_INCLUDE_DIR-NOTFOUND/../lib;Boost_INCLUDE_DIR-NOTFOUND/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc-mt-;boost_system-gcc-mt;boost_system-mt-;boost_system-mt;boost_system
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc-mt-d-;boost_system-gcc-mt-d;boost_system-mt-d-;boost_system-mt-d;boost_system-mt;boost_system
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for CHRONO_LIBRARY_RELEASE: boost_chrono-gcc-mt-;boost_chrono-gcc-mt;boost_chrono-mt-;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for CHRONO_LIBRARY_DEBUG: boost_chrono-gcc-mt-d-;boost_chrono-gcc-mt-d;boost_chrono-mt-d-;boost_chrono-mt-d;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc-mt-;boost_thread-gcc-mt;boost_thread-mt-;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc-mt-d-;boost_thread-gcc-mt-d;boost_thread-mt-d-;boost_thread-mt-d;boost_thread-mt;boost_thread
CMake Error at /usr/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:425 (file):
file STRINGS file
"/usr/lib/arm-linux-gnueabihf/google/protobuf/stubs/common.h" cannot be
read.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:431 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:432 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or
exp_NUMBER (2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:433 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Warning at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:455 (message):
Protobuf compiler version 3.0.0 doesn't match library version ..
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


And Toolchain config:



set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(cross_triple "arm-linux-gnueabihf")

set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC})

set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT} $ENV{CROSS_ROOT}/libc/usr)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)









share|improve this question
























  • If prefer to use conan for this. With conan you can easily build missing libraries. It will set the paths for you.
    – Thomas Sablik
    Nov 8 at 15:56












  • Can you post your CMakeLists.txt file?
    – Jose Fernando Lopez Fernandez
    Nov 9 at 2:57










  • Jose Fernando Lopez Fernandez, pasted CMakeLists.txt in edited post.
    – Pavel Rudenkov
    Nov 9 at 6:22










  • From the errors, it looks like you need to specify where Casablanca and Boost are, which you can do by using CMAKE_MODULE_PATH, CMAKE_PREFIX_PATH, setting the BOOST_ROOT, etc.
    – Jose Fernando Lopez Fernandez
    Nov 9 at 18:23










  • I start cmake with parameters: cmake -DBOOST_ROOT=/usr/local/boost -DBOOST_INCLUDEDIR=/usr/local/boost/include/boost -DBOOST_LIBRARYDIR=/usr/local/boost/lib -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux And cmake doesn't see boost :(
    – Pavel Rudenkov
    Nov 12 at 15:41














0












0








0







i try to cross-compile my app to Raspberry Pi with docker.




  1. I built image with necessary dependencies from armhf architecture (protobuf-compiler-grpc:armhf libgrpc-dev:armhf libgrpc++-dev:armhf libprotobuf-dev:armhf libcpprest-dev:armhf libboost-dev:armhf). dependencies installed via apt-get from port.ubuntu.com repo.


  2. After starting cmake with following args:




./cross-rpi-final cmake -DCASABLANCA_INCLUDE_DIR=/usr/include/cpprest
-DCASABLANCA_LIBRARIES=/usr/lib/arm-linux-gnueabihf -DBOOST_INCLUDEDIR=/usr/include/boost -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux




Part of required libs is find by cmake, but Casablanca and Boost is not found.



Output after cmake execution:



-- Version: 1.6.1.2, Rev: 64730c0
+ lib-gw-core-linux
+ lib-gw-core
+ commons
Configure as multiple libs
+ core
+ transport
+ rules engine
+ json11
+ gw-core
+ gw-core-linux-dev-console
+ cxxopts
+ tinyb
patching file /work/app-gw-linux/lib-gw-core-linux/tinyb/src/CMakeLists.txt
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored
CMake Warning at lib-gw-core-linux/tinyb/CMakeLists.txt:26 (message):
- Install git to compile a production libtinyb!


INFO - libtinyb Version v0.5.0-dirty
+ gw-core-linux
-- Could NOT find Casablanca, try to set the path to Casablanca root folder in the system variable CASABLANCA_ROOT_DIR (missing: CASABLANCA_LIBRARIES)
CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Error at /usr/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:425 (file):
file STRINGS file
"/usr/lib/arm-linux-gnueabihf/google/protobuf/stubs/common.h" cannot be
read.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:431 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:432 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or
exp_NUMBER (2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:433 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Warning at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:455 (message):
Protobuf compiler version 3.0.0 doesn't match library version ..
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


-- Using protobuf
-- Using gRPC
-- SOURCE FILES include/milfei/gw/core/lnx/bt/LnxBleScanner.hpp;src/milfei/gw/core/lnx/bt/LnxBleScanner.cpp;include/milfei/gw/core/lnx/bt/LnxBluetoothAdapter.hpp;src/milfei/gw/core/lnx/bt/LnxBluetoothAdapter.cpp;include/milfei/gw/core/lnx/bt/LnxBluetoothDevice.hpp;src/milfei/gw/core/lnx/bt/LnxBluetoothDevice.cpp;include/milfei/gw/core/lnx/bt/LnxGatt.hpp;src/milfei/gw/core/lnx/bt/LnxGatt.cpp;include/milfei/gw/core/lnx/bt/LnxCharacteristic.hpp;src/milfei/gw/core/lnx/bt/LnxCharacteristic.cpp;src/milfei/gw/core/lnx/app/DevicesListenerImpl.hpp;src/milfei/gw/core/lnx/app/DevicesListenerImpl.cpp;include/milfei/gw/core/lnx/app/App.hpp;src/milfei/gw/core/lnx/app/App.cpp;src/milfei/gw/core/lnx/app/TerminalApp.cpp;src/milfei/gw/core/lnx/app/TerminalApp.hpp;src/milfei/gw/core/lnx/app/SimpleTerminalApp.cpp;src/milfei/gw/core/lnx/app/SimpleTerminalApp.hpp;src/milfei/gw/core/lnx/app/cmd/CommandEnvironment.hpp;src/milfei/gw/core/lnx/app/cmd/CommandEnvironment.cpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractiveCloneable.hpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractive.hpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractive.cpp;src/milfei/gw/core/lnx/app/cmd/CommandMeta.hpp;src/milfei/gw/core/lnx/app/cmd/CommandMeta.cpp;src/milfei/gw/core/lnx/app/cmd/SwitchOnOff.hpp;src/milfei/gw/core/lnx/app/cmd/SwitchOnOff.cpp;src/milfei/gw/core/lnx/app/rpc/RequestDispatcher.hpp;src/milfei/gw/core/lnx/app/rpc/CommandDataEvent.hpp;src/milfei/gw/core/lnx/app/cmd/Rename.hpp;src/milfei/gw/core/lnx/app/cmd/Rename.cpp;src/milfei/gw/core/lnx/app/cmd/GatewayInfo.hpp;src/milfei/gw/core/lnx/app/cmd/GatewayInfo.cpp;src/milfei/gw/core/lnx/app/cmd/Help.hpp;src/milfei/gw/core/lnx/app/cmd/Help.cpp;src/milfei/gw/core/lnx/app/cmd/Welcome.hpp;src/milfei/gw/core/lnx/app/cmd/Welcome.cpp;src/milfei/gw/core/lnx/app/cmd/Login.cpp;src/milfei/gw/core/lnx/app/cmd/Login.hpp;src/milfei/gw/core/lnx/app/cmd/Logout.cpp;src/milfei/gw/core/lnx/app/cmd/Logout.hpp;src/milfei/gw/core/lnx/app/cmd/CommandLauncherDefault.hpp;src/milfei/gw/core/lnx/app/rpc/Login.hpp;src/milfei/gw/core/lnx/app/rpc/Login.cpp;src/milfei/gw/core/lnx/app/rpc/Logout.cpp;src/milfei/gw/core/lnx/app/rpc/Logout.hpp;src/milfei/gw/core/lnx/app/rpc/Switch.hpp;src/milfei/gw/core/lnx/app/rpc/Switch.cpp;src/milfei/gw/core/lnx/app/rpc/Rename.cpp;src/milfei/gw/core/lnx/app/rpc/Rename.hpp;src/milfei/gw/core/lnx/app/rpc/RenameCommand.hpp;src/milfei/gw/core/lnx/app/rpc/RenameCommand.cpp;src/milfei/gw/core/lnx/app/rpc/SwitchCommand.hpp;src/milfei/gw/core/lnx/app/rpc/SwitchCommand.cpp;src/milfei/gw/core/lnx/app/rpc/LogoutCommand.hpp;src/milfei/gw/core/lnx/app/rpc/LogoutCommand.cpp;src/milfei/gw/core/lnx/app/rpc/CommandResultDefault.hpp;src/milfei/gw/core/lnx/app/rpc/CommandResultDefault.cpp;src/milfei/gw/core/lnx/app/rpc/LoginCommand.cpp;src/milfei/gw/core/lnx/app/rpc/LoginCommand.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfo.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfo.cpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfoCommand.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfoCommand.cpp;src/milfei/gw/core/lnx/app/rpc/CommandsInvoker.hpp;src/milfei/gw/core/lnx/app/rpc/CommandsInvoker.cpp;src/milfei/gw/core/lnx/app/rpc/CommandWrapper.hpp;src/milfei/gw/core/lnx/app/rpc/CommandRemote.hpp;src/milfei/gw/core/lnx/app/rpc/CommandContext.hpp;src/milfei/gw/core/lnx/app/rpc/CommandContext.cpp;src/milfei/gw/core/lnx/app/rpc/GrpcServer.hpp;src/milfei/gw/core/lnx/app/rpc/GrpcServer.cpp;src/milfei/gw/core/lnx/app/rpc/GrpcClient.hpp;src/milfei/gw/core/lnx/app/rpc/GrpcClient.cpp;src/milfei/gw/core/lnx/app/rpc/GWServiceImpl.hpp;src/milfei/gw/core/lnx/app/rpc/GWServiceImpl.cpp;src/milfei/gw/core/lnx/app/rpc/ServiceCommandsSender.hpp;src/milfei/gw/core/lnx/app/TerminalAppClient.cpp;src/milfei/gw/core/lnx/app/TerminalAppClient.hpp;src/milfei/gw/core/lnx/app/Credentials.hpp;src/milfei/gw/core/lnx/app/Urls.hpp;src/milfei/gw/core/lnx/app/TerminalAppService.cpp;src/milfei/gw/core/lnx/app/TerminalAppService.hpp;src/milfei/gw/core/lnx/app/LnxEnvironment.cpp;src/milfei/gw/core/lnx/app/LnxEnvironment.hpp;src/milfei/gw/core/lnx/app/LnxBatteryStateMonitor.cpp;src/milfei/gw/core/lnx/app/LnxBatteryStateMonitor.hpp;src/milfei/gw/core/lnx/storage/LnxKeyValueStorage.cpp;src/milfei/gw/core/lnx/storage/LnxKeyValueStorage.hpp;src/milfei/gw/core/lnx/io/IOUtils.hpp;src/milfei/gw/core/lnx/io/IOUtils.cpp;src/milfei/gw/core/lnx/http/LnxHttpClient.cpp;src/milfei/gw/core/lnx/http/LnxHttpClient.hpp;src/milfei/gw/core/lnx/http/LnxHttpCall.cpp;src/milfei/gw/core/lnx/http/LnxHttpCall.hpp;src/milfei/gw/core/lnx/cloud/aws/AwsCloudClient.cpp;include/milfei/gw/core/lnx/cloud/aws/AwsCloudClient.hpp;src/milfei/gw/core/lnx/cloud/LnxCloudClientFactory.cpp;include/milfei/gw/core/lnx/cloud/LnxCloudClientFactory.hpp;/work/lib-gw-core-linux/gw-core-linux/gwservice.pb.cc;/work/lib-gw-core-linux/gw-core-linux/gwservice.grpc.pb.cc
+ aws-iot-device-sdk-cpp
-- Configuring done
-- Generating done
-- Build files have been written to: /work/third_party/rapidjson/download
[100%] Built target rapidjson
-- The following OPTIONAL packages have been found:

* Doxygen
* Git

-- The following REQUIRED packages have been found:

* Protobuf
* gRPC
* PkgConfig
* OpenSSL
* Threads

-- The following features have been disabled:

* SharedLibrary, build the library as shared objects
* Cli, the command line interface
* Samples, example programs making use of the SDK
* Tests, unit and integration tests
* Docs, HTML based API documentation

-- The following REQUIRED packages have not been found:

* Casablanca
* Boost

-- Configuring incomplete, errors occurred!
See also "/work/CMakeFiles/CMakeOutput.log".
See also "/work/CMakeFiles/CMakeError.log".


Maybe reason of this trouble its a libraries of another architecture (armhf)? Host where placed crosscompiling container is server with AMD64 arch.



How i can set path to all libraries correctly and fix this problem?



CMakeLists.txt:



cmake_minimum_required(VERSION 4.7) project(app_gw_linux VERSION
1.6.1.2)

set(CMAKE_CXX_STANDARD 11)

option(APP_GW_LINUX_MOCK_BLUETOOTH "Use mock bluetooth API" Off)

if (APP_GW_LINUX_MOCK_BLUETOOTH)
set(GW_CORE_LINUX_MOCK_BLUETOOTH On CACHE BOOL "Use mock bluetooth API" FORCE) endif ()

set(APP_GW_LINUX_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(APP_GW_LINUX_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set(APP_GW_LINUX_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set(APP_GW_LINUX_VERSION_TWEAK ${PROJECT_VERSION_TWEAK})

find_package(Git) if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
# Get the latest abbreviated commit hash of the working branch
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE APP_GW_LINUX_VERSION_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE
) else()
message(WARNING "Git not found, cannot set version info")
SET(APP_GW_LINUX_VERSION_REVISION "unknown") endif()

message(STATUS "Version: ${PROJECT_VERSION}, Rev: ${APP_GW_LINUX_VERSION_REVISION}") message(" + lib-gw-core-linux") add_subdirectory(lib-gw-core-linux)

include_directories(src
lib-gw-core-linux/gw-core-linux/include)

set(SOURCE_FILES src/milfei/gw/lnx/Main.cpp)

add_executable(app-gw-linux ${SOURCE_FILES}) install(TARGETS app-gw-linux DESTINATION local/bin COMPONENT bin) install(FILES app-gw-linux.service DESTINATION /etc/systemd/system COMPONENT bin) install(FILES ${CMAKE_BINARY_DIR}/bin/certs/verisign-class-3-public-primary-ca-g5.pem DESTINATION /etc/company/.agilegateway RENAME ca.pem COMPONENT bin) set(TARGET_NAME app-gw-linux)

add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/certs $<TARGET_FILE_DIR:${TARGET_NAME}>/certs) target_link_libraries(app-gw-linux gw-core-linux)

if (NOT APP_GW_LINUX_MOCK_BLUETOOTH)
target_link_libraries(app-gw-linux tinyb) endif ()

SET(CPACK_GENERATOR "DEB") set(CPACK_DEB_COMPONENT_INSTALL ON) SET(CPACK_COMPONENTS_ALL "bin") SET(CPACK_PACKAGE_NAME "app-gw-linux") SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) SET(CPACK_PACKAGE_VERSION_TWEAK ${PROJECT_VERSION_TWEAK}) SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_PACKAGE_VERSION_TWEAK}") SET(CPACK_PACKAGE_CONTACT "support@company.com") SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "company.com") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libcpprest2.10 | libcpprest2.9, libgrpc3 (>= 1.10), libgrpc++1 (>= 1.10)") SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/preinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/prerm;${CMAKE_CURRENT_SOURCE_DIR}/debian/postrm") INCLUDE(CPack)


UPD. Boost output with debug log:



-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1121 ] _boost_TEST_VERSIONS = 1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1123 ] Boost_USE_MULTITHREADED = ON
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1125 ] Boost_USE_STATIC_LIBS = ON
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1127 ] Boost_USE_STATIC_RUNTIME = OFF
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1129 ] Boost_ADDITIONAL_VERSIONS =
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1131 ] Boost_NO_SYSTEM_PATHS =
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1199 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1201 ] BOOST_ROOT = /usr/local/boost
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1203 ] BOOST_INCLUDEDIR = /usr/local/boost/include/boost
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1205 ] BOOST_LIBRARYDIR = /usr/local/boost/lib
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1207 ] _boost_TEST_VERSIONS = 1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1282 ] Include debugging info:
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1284 ] _boost_INCLUDE_SEARCH_DIRS = /usr/local/boost/include/boost;/usr/local/boost/include;/usr/local/boost;PATHS;C:/boost/include;C:/boost;/sw/local/include
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1286 ] _boost_PATH_SUFFIXES = boost-1_67_0;boost_1_67_0;boost/boost-1_67_0;boost/boost_1_67_0;boost-1_67;boost_1_67;boost/boost-1_67;boost/boost_1_67;boost-1_66_0;boost_1_66_0;boost/boost-1_66_0;boost/boost_1_66_0;boost-1_66;boost_1_66;boost/boost-1_66;boost/boost_1_66;boost-1_65_1;boost_1_65_1;boost/boost-1_65_1;boost/boost_1_65_1;boost-1_65_0;boost_1_65_0;boost/boost-1_65_0;boost/boost_1_65_0;boost-1_65;boost_1_65;boost/boost-1_65;boost/boost_1_65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1416 ] guessed _boost_COMPILER = -gcc
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1426 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1502 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1504 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1567 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = /usr/local/boost/lib;/usr/local/boost/lib;/usr/local/boost/stage/lib;Boost_INCLUDE_DIR-NOTFOUND/lib;Boost_INCLUDE_DIR-NOTFOUND/../lib;Boost_INCLUDE_DIR-NOTFOUND/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib_boost_LIBRARY_SEARCH_DIRS_DEBUG = /usr/local/boost/lib;/usr/local/boost/lib;/usr/local/boost/stage/lib;Boost_INCLUDE_DIR-NOTFOUND/lib;Boost_INCLUDE_DIR-NOTFOUND/../lib;Boost_INCLUDE_DIR-NOTFOUND/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc-mt-;boost_system-gcc-mt;boost_system-mt-;boost_system-mt;boost_system
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc-mt-d-;boost_system-gcc-mt-d;boost_system-mt-d-;boost_system-mt-d;boost_system-mt;boost_system
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for CHRONO_LIBRARY_RELEASE: boost_chrono-gcc-mt-;boost_chrono-gcc-mt;boost_chrono-mt-;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for CHRONO_LIBRARY_DEBUG: boost_chrono-gcc-mt-d-;boost_chrono-gcc-mt-d;boost_chrono-mt-d-;boost_chrono-mt-d;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc-mt-;boost_thread-gcc-mt;boost_thread-mt-;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc-mt-d-;boost_thread-gcc-mt-d;boost_thread-mt-d-;boost_thread-mt-d;boost_thread-mt;boost_thread
CMake Error at /usr/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:425 (file):
file STRINGS file
"/usr/lib/arm-linux-gnueabihf/google/protobuf/stubs/common.h" cannot be
read.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:431 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:432 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or
exp_NUMBER (2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:433 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Warning at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:455 (message):
Protobuf compiler version 3.0.0 doesn't match library version ..
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


And Toolchain config:



set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(cross_triple "arm-linux-gnueabihf")

set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC})

set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT} $ENV{CROSS_ROOT}/libc/usr)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)









share|improve this question















i try to cross-compile my app to Raspberry Pi with docker.




  1. I built image with necessary dependencies from armhf architecture (protobuf-compiler-grpc:armhf libgrpc-dev:armhf libgrpc++-dev:armhf libprotobuf-dev:armhf libcpprest-dev:armhf libboost-dev:armhf). dependencies installed via apt-get from port.ubuntu.com repo.


  2. After starting cmake with following args:




./cross-rpi-final cmake -DCASABLANCA_INCLUDE_DIR=/usr/include/cpprest
-DCASABLANCA_LIBRARIES=/usr/lib/arm-linux-gnueabihf -DBOOST_INCLUDEDIR=/usr/include/boost -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux




Part of required libs is find by cmake, but Casablanca and Boost is not found.



Output after cmake execution:



-- Version: 1.6.1.2, Rev: 64730c0
+ lib-gw-core-linux
+ lib-gw-core
+ commons
Configure as multiple libs
+ core
+ transport
+ rules engine
+ json11
+ gw-core
+ gw-core-linux-dev-console
+ cxxopts
+ tinyb
patching file /work/app-gw-linux/lib-gw-core-linux/tinyb/src/CMakeLists.txt
Reversed (or previously applied) patch detected! Assume -R? [n]
Apply anyway? [n]
Skipping patch.
2 out of 2 hunks ignored
CMake Warning at lib-gw-core-linux/tinyb/CMakeLists.txt:26 (message):
- Install git to compile a production libtinyb!


INFO - libtinyb Version v0.5.0-dirty
+ gw-core-linux
-- Could NOT find Casablanca, try to set the path to Casablanca root folder in the system variable CASABLANCA_ROOT_DIR (missing: CASABLANCA_LIBRARIES)
CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Error at /usr/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:163 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:425 (file):
file STRINGS file
"/usr/lib/arm-linux-gnueabihf/google/protobuf/stubs/common.h" cannot be
read.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:431 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:432 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or
exp_NUMBER (2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:433 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


CMake Warning at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:455 (message):
Protobuf compiler version 3.0.0 doesn't match library version ..
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:176 (find_package)


-- Using protobuf
-- Using gRPC
-- SOURCE FILES include/milfei/gw/core/lnx/bt/LnxBleScanner.hpp;src/milfei/gw/core/lnx/bt/LnxBleScanner.cpp;include/milfei/gw/core/lnx/bt/LnxBluetoothAdapter.hpp;src/milfei/gw/core/lnx/bt/LnxBluetoothAdapter.cpp;include/milfei/gw/core/lnx/bt/LnxBluetoothDevice.hpp;src/milfei/gw/core/lnx/bt/LnxBluetoothDevice.cpp;include/milfei/gw/core/lnx/bt/LnxGatt.hpp;src/milfei/gw/core/lnx/bt/LnxGatt.cpp;include/milfei/gw/core/lnx/bt/LnxCharacteristic.hpp;src/milfei/gw/core/lnx/bt/LnxCharacteristic.cpp;src/milfei/gw/core/lnx/app/DevicesListenerImpl.hpp;src/milfei/gw/core/lnx/app/DevicesListenerImpl.cpp;include/milfei/gw/core/lnx/app/App.hpp;src/milfei/gw/core/lnx/app/App.cpp;src/milfei/gw/core/lnx/app/TerminalApp.cpp;src/milfei/gw/core/lnx/app/TerminalApp.hpp;src/milfei/gw/core/lnx/app/SimpleTerminalApp.cpp;src/milfei/gw/core/lnx/app/SimpleTerminalApp.hpp;src/milfei/gw/core/lnx/app/cmd/CommandEnvironment.hpp;src/milfei/gw/core/lnx/app/cmd/CommandEnvironment.cpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractiveCloneable.hpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractive.hpp;src/milfei/gw/core/lnx/app/cmd/CommandInteractive.cpp;src/milfei/gw/core/lnx/app/cmd/CommandMeta.hpp;src/milfei/gw/core/lnx/app/cmd/CommandMeta.cpp;src/milfei/gw/core/lnx/app/cmd/SwitchOnOff.hpp;src/milfei/gw/core/lnx/app/cmd/SwitchOnOff.cpp;src/milfei/gw/core/lnx/app/rpc/RequestDispatcher.hpp;src/milfei/gw/core/lnx/app/rpc/CommandDataEvent.hpp;src/milfei/gw/core/lnx/app/cmd/Rename.hpp;src/milfei/gw/core/lnx/app/cmd/Rename.cpp;src/milfei/gw/core/lnx/app/cmd/GatewayInfo.hpp;src/milfei/gw/core/lnx/app/cmd/GatewayInfo.cpp;src/milfei/gw/core/lnx/app/cmd/Help.hpp;src/milfei/gw/core/lnx/app/cmd/Help.cpp;src/milfei/gw/core/lnx/app/cmd/Welcome.hpp;src/milfei/gw/core/lnx/app/cmd/Welcome.cpp;src/milfei/gw/core/lnx/app/cmd/Login.cpp;src/milfei/gw/core/lnx/app/cmd/Login.hpp;src/milfei/gw/core/lnx/app/cmd/Logout.cpp;src/milfei/gw/core/lnx/app/cmd/Logout.hpp;src/milfei/gw/core/lnx/app/cmd/CommandLauncherDefault.hpp;src/milfei/gw/core/lnx/app/rpc/Login.hpp;src/milfei/gw/core/lnx/app/rpc/Login.cpp;src/milfei/gw/core/lnx/app/rpc/Logout.cpp;src/milfei/gw/core/lnx/app/rpc/Logout.hpp;src/milfei/gw/core/lnx/app/rpc/Switch.hpp;src/milfei/gw/core/lnx/app/rpc/Switch.cpp;src/milfei/gw/core/lnx/app/rpc/Rename.cpp;src/milfei/gw/core/lnx/app/rpc/Rename.hpp;src/milfei/gw/core/lnx/app/rpc/RenameCommand.hpp;src/milfei/gw/core/lnx/app/rpc/RenameCommand.cpp;src/milfei/gw/core/lnx/app/rpc/SwitchCommand.hpp;src/milfei/gw/core/lnx/app/rpc/SwitchCommand.cpp;src/milfei/gw/core/lnx/app/rpc/LogoutCommand.hpp;src/milfei/gw/core/lnx/app/rpc/LogoutCommand.cpp;src/milfei/gw/core/lnx/app/rpc/CommandResultDefault.hpp;src/milfei/gw/core/lnx/app/rpc/CommandResultDefault.cpp;src/milfei/gw/core/lnx/app/rpc/LoginCommand.cpp;src/milfei/gw/core/lnx/app/rpc/LoginCommand.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfo.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfo.cpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfoCommand.hpp;src/milfei/gw/core/lnx/app/rpc/GatewayInfoCommand.cpp;src/milfei/gw/core/lnx/app/rpc/CommandsInvoker.hpp;src/milfei/gw/core/lnx/app/rpc/CommandsInvoker.cpp;src/milfei/gw/core/lnx/app/rpc/CommandWrapper.hpp;src/milfei/gw/core/lnx/app/rpc/CommandRemote.hpp;src/milfei/gw/core/lnx/app/rpc/CommandContext.hpp;src/milfei/gw/core/lnx/app/rpc/CommandContext.cpp;src/milfei/gw/core/lnx/app/rpc/GrpcServer.hpp;src/milfei/gw/core/lnx/app/rpc/GrpcServer.cpp;src/milfei/gw/core/lnx/app/rpc/GrpcClient.hpp;src/milfei/gw/core/lnx/app/rpc/GrpcClient.cpp;src/milfei/gw/core/lnx/app/rpc/GWServiceImpl.hpp;src/milfei/gw/core/lnx/app/rpc/GWServiceImpl.cpp;src/milfei/gw/core/lnx/app/rpc/ServiceCommandsSender.hpp;src/milfei/gw/core/lnx/app/TerminalAppClient.cpp;src/milfei/gw/core/lnx/app/TerminalAppClient.hpp;src/milfei/gw/core/lnx/app/Credentials.hpp;src/milfei/gw/core/lnx/app/Urls.hpp;src/milfei/gw/core/lnx/app/TerminalAppService.cpp;src/milfei/gw/core/lnx/app/TerminalAppService.hpp;src/milfei/gw/core/lnx/app/LnxEnvironment.cpp;src/milfei/gw/core/lnx/app/LnxEnvironment.hpp;src/milfei/gw/core/lnx/app/LnxBatteryStateMonitor.cpp;src/milfei/gw/core/lnx/app/LnxBatteryStateMonitor.hpp;src/milfei/gw/core/lnx/storage/LnxKeyValueStorage.cpp;src/milfei/gw/core/lnx/storage/LnxKeyValueStorage.hpp;src/milfei/gw/core/lnx/io/IOUtils.hpp;src/milfei/gw/core/lnx/io/IOUtils.cpp;src/milfei/gw/core/lnx/http/LnxHttpClient.cpp;src/milfei/gw/core/lnx/http/LnxHttpClient.hpp;src/milfei/gw/core/lnx/http/LnxHttpCall.cpp;src/milfei/gw/core/lnx/http/LnxHttpCall.hpp;src/milfei/gw/core/lnx/cloud/aws/AwsCloudClient.cpp;include/milfei/gw/core/lnx/cloud/aws/AwsCloudClient.hpp;src/milfei/gw/core/lnx/cloud/LnxCloudClientFactory.cpp;include/milfei/gw/core/lnx/cloud/LnxCloudClientFactory.hpp;/work/lib-gw-core-linux/gw-core-linux/gwservice.pb.cc;/work/lib-gw-core-linux/gw-core-linux/gwservice.grpc.pb.cc
+ aws-iot-device-sdk-cpp
-- Configuring done
-- Generating done
-- Build files have been written to: /work/third_party/rapidjson/download
[100%] Built target rapidjson
-- The following OPTIONAL packages have been found:

* Doxygen
* Git

-- The following REQUIRED packages have been found:

* Protobuf
* gRPC
* PkgConfig
* OpenSSL
* Threads

-- The following features have been disabled:

* SharedLibrary, build the library as shared objects
* Cli, the command line interface
* Samples, example programs making use of the SDK
* Tests, unit and integration tests
* Docs, HTML based API documentation

-- The following REQUIRED packages have not been found:

* Casablanca
* Boost

-- Configuring incomplete, errors occurred!
See also "/work/CMakeFiles/CMakeOutput.log".
See also "/work/CMakeFiles/CMakeError.log".


Maybe reason of this trouble its a libraries of another architecture (armhf)? Host where placed crosscompiling container is server with AMD64 arch.



How i can set path to all libraries correctly and fix this problem?



CMakeLists.txt:



cmake_minimum_required(VERSION 4.7) project(app_gw_linux VERSION
1.6.1.2)

set(CMAKE_CXX_STANDARD 11)

option(APP_GW_LINUX_MOCK_BLUETOOTH "Use mock bluetooth API" Off)

if (APP_GW_LINUX_MOCK_BLUETOOTH)
set(GW_CORE_LINUX_MOCK_BLUETOOTH On CACHE BOOL "Use mock bluetooth API" FORCE) endif ()

set(APP_GW_LINUX_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set(APP_GW_LINUX_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set(APP_GW_LINUX_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set(APP_GW_LINUX_VERSION_TWEAK ${PROJECT_VERSION_TWEAK})

find_package(Git) if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
# Get the latest abbreviated commit hash of the working branch
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE APP_GW_LINUX_VERSION_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE
) else()
message(WARNING "Git not found, cannot set version info")
SET(APP_GW_LINUX_VERSION_REVISION "unknown") endif()

message(STATUS "Version: ${PROJECT_VERSION}, Rev: ${APP_GW_LINUX_VERSION_REVISION}") message(" + lib-gw-core-linux") add_subdirectory(lib-gw-core-linux)

include_directories(src
lib-gw-core-linux/gw-core-linux/include)

set(SOURCE_FILES src/milfei/gw/lnx/Main.cpp)

add_executable(app-gw-linux ${SOURCE_FILES}) install(TARGETS app-gw-linux DESTINATION local/bin COMPONENT bin) install(FILES app-gw-linux.service DESTINATION /etc/systemd/system COMPONENT bin) install(FILES ${CMAKE_BINARY_DIR}/bin/certs/verisign-class-3-public-primary-ca-g5.pem DESTINATION /etc/company/.agilegateway RENAME ca.pem COMPONENT bin) set(TARGET_NAME app-gw-linux)

add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/bin/certs $<TARGET_FILE_DIR:${TARGET_NAME}>/certs) target_link_libraries(app-gw-linux gw-core-linux)

if (NOT APP_GW_LINUX_MOCK_BLUETOOTH)
target_link_libraries(app-gw-linux tinyb) endif ()

SET(CPACK_GENERATOR "DEB") set(CPACK_DEB_COMPONENT_INSTALL ON) SET(CPACK_COMPONENTS_ALL "bin") SET(CPACK_PACKAGE_NAME "app-gw-linux") SET(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) SET(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) SET(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) SET(CPACK_PACKAGE_VERSION_TWEAK ${PROJECT_VERSION_TWEAK}) SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}.${CPACK_PACKAGE_VERSION_TWEAK}") SET(CPACK_PACKAGE_CONTACT "support@company.com") SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "company.com") SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libcpprest2.10 | libcpprest2.9, libgrpc3 (>= 1.10), libgrpc++1 (>= 1.10)") SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/preinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/prerm;${CMAKE_CURRENT_SOURCE_DIR}/debian/postrm") INCLUDE(CPack)


UPD. Boost output with debug log:



-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1121 ] _boost_TEST_VERSIONS = 1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1123 ] Boost_USE_MULTITHREADED = ON
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1125 ] Boost_USE_STATIC_LIBS = ON
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1127 ] Boost_USE_STATIC_RUNTIME = OFF
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1129 ] Boost_ADDITIONAL_VERSIONS =
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1131 ] Boost_NO_SYSTEM_PATHS =
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1199 ] Declared as CMake or Environmental Variables:
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1201 ] BOOST_ROOT = /usr/local/boost
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1203 ] BOOST_INCLUDEDIR = /usr/local/boost/include/boost
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1205 ] BOOST_LIBRARYDIR = /usr/local/boost/lib
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1207 ] _boost_TEST_VERSIONS = 1.67.0;1.67;1.66.0;1.66;1.65.1;1.65.0;1.65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1282 ] Include debugging info:
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1284 ] _boost_INCLUDE_SEARCH_DIRS = /usr/local/boost/include/boost;/usr/local/boost/include;/usr/local/boost;PATHS;C:/boost/include;C:/boost;/sw/local/include
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1286 ] _boost_PATH_SUFFIXES = boost-1_67_0;boost_1_67_0;boost/boost-1_67_0;boost/boost_1_67_0;boost-1_67;boost_1_67;boost/boost-1_67;boost/boost_1_67;boost-1_66_0;boost_1_66_0;boost/boost-1_66_0;boost/boost_1_66_0;boost-1_66;boost_1_66;boost/boost-1_66;boost/boost_1_66;boost-1_65_1;boost_1_65_1;boost/boost-1_65_1;boost/boost_1_65_1;boost-1_65_0;boost_1_65_0;boost/boost-1_65_0;boost/boost_1_65_0;boost-1_65;boost_1_65;boost/boost-1_65;boost/boost_1_65
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1416 ] guessed _boost_COMPILER = -gcc
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1426 ] _boost_MULTITHREADED = -mt
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1502 ] _boost_RELEASE_ABI_TAG = -
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1504 ] _boost_DEBUG_ABI_TAG = -d
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1567 ] _boost_LIBRARY_SEARCH_DIRS_RELEASE = /usr/local/boost/lib;/usr/local/boost/lib;/usr/local/boost/stage/lib;Boost_INCLUDE_DIR-NOTFOUND/lib;Boost_INCLUDE_DIR-NOTFOUND/../lib;Boost_INCLUDE_DIR-NOTFOUND/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib_boost_LIBRARY_SEARCH_DIRS_DEBUG = /usr/local/boost/lib;/usr/local/boost/lib;/usr/local/boost/stage/lib;Boost_INCLUDE_DIR-NOTFOUND/lib;Boost_INCLUDE_DIR-NOTFOUND/../lib;Boost_INCLUDE_DIR-NOTFOUND/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Warning at /usr/share/cmake-3.11/Modules/FindBoost.cmake:587 (message):
Imported targets and dependency information not available for Boost version
(all versions older than 1.33)
Call Stack (most recent call first):
/usr/share/cmake-3.11/Modules/FindBoost.cmake:950 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.11/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-gcc-mt-;boost_system-gcc-mt;boost_system-mt-;boost_system-mt;boost_system
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-gcc-mt-d-;boost_system-gcc-mt-d;boost_system-mt-d-;boost_system-mt-d;boost_system-mt;boost_system
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for CHRONO_LIBRARY_RELEASE: boost_chrono-gcc-mt-;boost_chrono-gcc-mt;boost_chrono-mt-;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for CHRONO_LIBRARY_DEBUG: boost_chrono-gcc-mt-d-;boost_chrono-gcc-mt-d;boost_chrono-mt-d-;boost_chrono-mt-d;boost_chrono-mt;boost_chrono
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1756 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-gcc-mt-;boost_thread-gcc-mt;boost_thread-mt-;boost_thread-mt;boost_thread
-- [ /usr/share/cmake-3.11/Modules/FindBoost.cmake:1809 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-gcc-mt-d-;boost_thread-gcc-mt-d;boost_thread-mt-d-;boost_thread-mt-d;boost_thread-mt;boost_thread
CMake Error at /usr/share/cmake-3.11/Modules/FindBoost.cmake:2044 (message):
Unable to find the requested Boost libraries.

Unable to find the Boost header files. Please set BOOST_ROOT to the root
directory containing Boost or BOOST_INCLUDEDIR to the directory containing
Boost's headers.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:165 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:425 (file):
file STRINGS file
"/usr/lib/arm-linux-gnueabihf/google/protobuf/stubs/common.h" cannot be
read.
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:431 (math):
math cannot parse the expression: " / 1000000": syntax error, unexpected
exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:432 (math):
math cannot parse the expression: " / 1000 % 1000": syntax error,
unexpected exp_DIVIDE, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or
exp_NUMBER (2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Error at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:433 (math):
math cannot parse the expression: " % 1000": syntax error, unexpected
exp_MOD, expecting exp_PLUS or exp_MINUS or exp_OPENPARENT or exp_NUMBER
(2)
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


CMake Warning at lib-gw-core-linux/gw-core-linux/cmake/FindProtobuf.cmake:455 (message):
Protobuf compiler version 3.0.0 doesn't match library version ..
Call Stack (most recent call first):
lib-gw-core-linux/gw-core-linux/CMakeLists.txt:182 (find_package)


And Toolchain config:



set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(cross_triple "arm-linux-gnueabihf")

set(CMAKE_C_COMPILER $ENV{CC})
set(CMAKE_CXX_COMPILER $ENV{CXX})
set(CMAKE_Fortran_COMPILER $ENV{FC})

set(CMAKE_FIND_ROOT_PATH $ENV{CROSS_ROOT} $ENV{CROSS_ROOT}/libc/usr)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)






c++ linux boost cmake casablanca






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 at 15:44

























asked Nov 8 at 15:47









Pavel Rudenkov

11




11












  • If prefer to use conan for this. With conan you can easily build missing libraries. It will set the paths for you.
    – Thomas Sablik
    Nov 8 at 15:56












  • Can you post your CMakeLists.txt file?
    – Jose Fernando Lopez Fernandez
    Nov 9 at 2:57










  • Jose Fernando Lopez Fernandez, pasted CMakeLists.txt in edited post.
    – Pavel Rudenkov
    Nov 9 at 6:22










  • From the errors, it looks like you need to specify where Casablanca and Boost are, which you can do by using CMAKE_MODULE_PATH, CMAKE_PREFIX_PATH, setting the BOOST_ROOT, etc.
    – Jose Fernando Lopez Fernandez
    Nov 9 at 18:23










  • I start cmake with parameters: cmake -DBOOST_ROOT=/usr/local/boost -DBOOST_INCLUDEDIR=/usr/local/boost/include/boost -DBOOST_LIBRARYDIR=/usr/local/boost/lib -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux And cmake doesn't see boost :(
    – Pavel Rudenkov
    Nov 12 at 15:41


















  • If prefer to use conan for this. With conan you can easily build missing libraries. It will set the paths for you.
    – Thomas Sablik
    Nov 8 at 15:56












  • Can you post your CMakeLists.txt file?
    – Jose Fernando Lopez Fernandez
    Nov 9 at 2:57










  • Jose Fernando Lopez Fernandez, pasted CMakeLists.txt in edited post.
    – Pavel Rudenkov
    Nov 9 at 6:22










  • From the errors, it looks like you need to specify where Casablanca and Boost are, which you can do by using CMAKE_MODULE_PATH, CMAKE_PREFIX_PATH, setting the BOOST_ROOT, etc.
    – Jose Fernando Lopez Fernandez
    Nov 9 at 18:23










  • I start cmake with parameters: cmake -DBOOST_ROOT=/usr/local/boost -DBOOST_INCLUDEDIR=/usr/local/boost/include/boost -DBOOST_LIBRARYDIR=/usr/local/boost/lib -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux And cmake doesn't see boost :(
    – Pavel Rudenkov
    Nov 12 at 15:41
















If prefer to use conan for this. With conan you can easily build missing libraries. It will set the paths for you.
– Thomas Sablik
Nov 8 at 15:56






If prefer to use conan for this. With conan you can easily build missing libraries. It will set the paths for you.
– Thomas Sablik
Nov 8 at 15:56














Can you post your CMakeLists.txt file?
– Jose Fernando Lopez Fernandez
Nov 9 at 2:57




Can you post your CMakeLists.txt file?
– Jose Fernando Lopez Fernandez
Nov 9 at 2:57












Jose Fernando Lopez Fernandez, pasted CMakeLists.txt in edited post.
– Pavel Rudenkov
Nov 9 at 6:22




Jose Fernando Lopez Fernandez, pasted CMakeLists.txt in edited post.
– Pavel Rudenkov
Nov 9 at 6:22












From the errors, it looks like you need to specify where Casablanca and Boost are, which you can do by using CMAKE_MODULE_PATH, CMAKE_PREFIX_PATH, setting the BOOST_ROOT, etc.
– Jose Fernando Lopez Fernandez
Nov 9 at 18:23




From the errors, it looks like you need to specify where Casablanca and Boost are, which you can do by using CMAKE_MODULE_PATH, CMAKE_PREFIX_PATH, setting the BOOST_ROOT, etc.
– Jose Fernando Lopez Fernandez
Nov 9 at 18:23












I start cmake with parameters: cmake -DBOOST_ROOT=/usr/local/boost -DBOOST_INCLUDEDIR=/usr/local/boost/include/boost -DBOOST_LIBRARYDIR=/usr/local/boost/lib -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux And cmake doesn't see boost :(
– Pavel Rudenkov
Nov 12 at 15:41




I start cmake with parameters: cmake -DBOOST_ROOT=/usr/local/boost -DBOOST_INCLUDEDIR=/usr/local/boost/include/boost -DBOOST_LIBRARYDIR=/usr/local/boost/lib -DProtobuf_INCLUDE_DIR=/usr/lib/arm-linux-gnueabihf -DGRPC_ROOT_DIR=/usr -DGRPC_INCLUDE_DIR=/usr/include/grpc -DGRPC_LIBRARIES=/usr/lib -DGRPCPP_UNSECURE_LIBRARIES=/usr/lib -DGPR_LIBRARIES=/usr/lib -DOPENSSL_INCLUDE_DIR=/usr/include/openssl -DOPENSSL_CRYPTO_LIBRARY=/usr/lib/arm-linux-gnueabihf -DGW_CORE_LINUX_FIND_GRPC_AND_PROTOBUF_WITHOUT_CMAKE_CONFIGS=ON app-gw-linux And cmake doesn't see boost :(
– Pavel Rudenkov
Nov 12 at 15:41












1 Answer
1






active

oldest

votes


















0














Solved, i just changed path $ENV{CROSS_ROOT}/libc/usr to /usr and all works fine.






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53211306%2fcmake-troubles-with-path-to-includes-and-libraries%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Solved, i just changed path $ENV{CROSS_ROOT}/libc/usr to /usr and all works fine.






    share|improve this answer


























      0














      Solved, i just changed path $ENV{CROSS_ROOT}/libc/usr to /usr and all works fine.






      share|improve this answer
























        0












        0








        0






        Solved, i just changed path $ENV{CROSS_ROOT}/libc/usr to /usr and all works fine.






        share|improve this answer












        Solved, i just changed path $ENV{CROSS_ROOT}/libc/usr to /usr and all works fine.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 12 at 16:34









        Pavel Rudenkov

        11




        11






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53211306%2fcmake-troubles-with-path-to-includes-and-libraries%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Xamarin.iOS Cant Deploy on Iphone

            Glorious Revolution

            Dulmage-Mendelsohn matrix decomposition in Python