I'm learning OpenGL with the tutorial of https://learnopengl.com/. And I need to build Assimp in cmake-gui. I'm new to Cmake and never used it before. I met some confusing Errors, it seems like I miss some essential libs or cmake can't find root of libs.
My environment is MinGW v8.1.0, cmake v3.19.2, Assimp v4.1.0, Windows10
I get this message:
Shared libraries enabled
Looking for DirectX...
DirectX_PREFIX_PATH changed.
Found DirectX: F:/dxsdk/Lib/x86/d3d9.lib
DX lib dir: F:/dxsdk/Lib/x86
Looking for ZLIB...
Checking for module 'zzip-zlib-config'
No package 'zzip-zlib-config' found
Could not locate ZLIB
compiling zlib from souces
CMake Deprecation Warning at contrib/zlib/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
CMake Deprecation Warning at contrib/zlib/CMakeLists.txt:8 (cmake_policy):
The OLD behavior for policy CMP0048 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Checking for module 'minizip'
No package 'minizip' found
CMake Deprecation Warning at code/CMakeLists.txt:46 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
CMake Warning (dev) at F:/cmake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
The package name passed to `find_package_handle_standard_args` (rt) does
not match the name of the calling package (RT). This can lead to problems
in calling code that expects `find_package` result variables (e.g.,
`_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake-modules/FindRT.cmake:19 (find_package_handle_standard_args)
code/CMakeLists.txt:807 (FIND_PACKAGE)
This warning is for project developers. Use -Wno-dev to suppress it.
Could NOT find rt (missing: RT_LIBRARY)
INFO RT-extension not found. glTF import/export will be built without Open3DGC-compression.
Enabled formats: AMF 3DS AC ASE ASSBIN ASSXML B3D BVH COLLADA DXF CSM HMP IRRMESH IRR LWO LWS MD2 MD3 MD5 MDC MDL NFF NDO OFF OBJ OGRE OPENGEX PLY MS3D COB BLEND IFC XGL FBX Q3D Q3BSP RAW SIB SMD STL TERRAGEN 3D X X3D GLTF 3MF MMD
Disabled formats:
CMake Deprecation Warning at tools/assimp_view/CMakeLists.txt:39 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Looking for DirectX...
DirectX_PREFIX_PATH changed.
DX lib dir: F:/dxsdk/Lib/x86
CMake Deprecation Warning at tools/assimp_cmd/CMakeLists.txt:39 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
CMake Warning (dev) at F:/cmake/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:426 (message):
The package name passed to `find_package_handle_standard_args` (IL) does
not match the name of the calling package (DevIL). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake-modules/FindDevIL.cmake:71 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:421 (FIND_PACKAGE)
This warning is for project developers. Use -Wno-dev to suppress it.
Could NOT find IL (missing: IL_LIBRARIES IL_INCLUDE_DIR)
CMake Warning at CMakeLists.txt:439 (MESSAGE):
Build of assimp_qt_viewer is disabled. Unsatisfied dendencies: Qt5 DevIL
CMake Deprecation Warning at test/CMakeLists.txt:39 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Configuring done
I installed ZLIB and pointed ZLIB_INCLUDE_DIR but it seems like more libs about ZLIB are required. Do I need to install the libs one by one?
All the issues shown in your posts are CMake-warnings which shall indicate, that:
Your CMake minimal version requested by the libraries are outdated.
Some libraries can't be located on your devbox, so the internal version from assimp will be used.
So from my point of view your build shall run. To get rid of those warnings you can just update to the latest master of assimp or just use version 5.0.1 from here
Related
I'm trying to build PrusaSlicer from source on Mac. I don't have any experience with CMake. I'm following the instructions given here.
Every time I try to build dependencies. This command cmake ..gives me errors. Earlier it was saying "Boost cannot be found." I fixed that by installing boost with brew. Now it's stuck on TBB.
OS X SDK Path: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk
OS X Deployment Target: (default)
-- Boost::boost exists
CMake Error at /opt/local/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
TBB library cannot be found. Consider set TBBROOT environment variable.
(missing: TBB_LIBRARIES) (found version "2020.3")
Call Stack (most recent call first):
/opt/local/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindTBB.cmake.in:286 (find_package_handle_standard_args)
cmake/modules/FindTBB.cmake:29 (include)
CMakeLists.txt:384 (find_package)
-- Configuring incomplete, errors occurred!
I have installed TBB. If you would notice even this error has the version listed.
Things I have tried:
Installing boost, cmake and tbb via brew.
Installing boost, cmake and tbb via macports.
Try the following
cmake .. -DTBB_LIBRARYDIR=/opt/intel/tbb/lib/intel64/gcc4.8 -DTBB_INCLUDEDIR=/opt/intel/tbb/include
Note the subtle differences in the CMake var names and the path to include, not include/tbb.Let me know how that goes
I am working on a project that is written in C++ so we build it with CMAKE. I was working on it on a CentOS machine and everything was fine. However, now I've switched to macOS (I have the latest Catalina update) and first I cloned the repo from github, installed cmake and I tried to build it, but it fails due to the ENDIANESS TEST so the project doesn't finish building.Here is the repo that I'm trying to work on btw. I also use some additional flags, but that shouldn't be the issue. Any ideas how to fix this?
Here is the command that I use for trying to build:
/usr/local/bin/cmake -D ZLIB_INCLUDE_DIR=/Users/basavyr/Downloads/zlib-1.2.11/ -D OPENSSL_INCLUDE_DIR=/usr/local/Cellar/openssl#1.1/1.1.1d/include/ -D OPENSSL_SSL_LIBRARY=/usr/local/Cellar/openssl#1.1/1.1.1d/lib/libssl.dylib -D OPENSSL/CRYPTO_LIBRARY=/usr/local/Cellar/openssl#1.1/1.1.1d/lib/libcrypto.1.1.dylib -D CMAKE_INSTALL_PREFIX=../tarball/xrootd ../
And here is the error I'm getting (ignore the other ones, those apparently do not affect the failing):
CMake Deprecation Warning at CMakeLists.txt:13 (cmake_policy):
The OLD behavior for policy CMP0054 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
-- Could NOT find systemd (missing: SYSTEMD_INCLUDE_DIRS SYSTEMD_LIBRARIES)
-- Could NOT find Macaroons (missing: MACAROONS_INCLUDES MACAROONS_LIB)
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
[I] Determining version from git
-- crc32c submodule update
-- Check if the system is big endian
-- Searching 16 bit integer
CMake Error at /usr/local/Cellar/cmake/3.16.2/share/cmake/Modules/TestBigEndian.cmake:50 (message):
no suitable type found
Call Stack (most recent call first):
external/crc32c/CMakeLists.txt:67 (test_big_endian)
-- Configuring incomplete, errors occurred!
See also "/Users/basavyr/Pipeline/DevWorkspace/Github/xrootd/build/CMakeFiles/CMakeOutput.log".
See also "/Users/basavyr/Pipeline/DevWorkspace/Github/xrootd/build/CMakeFiles/CMakeError.log".
I've tried to search through those two files but I couldn't find anything useful to be honest. I've also tried to search this issue online but without any success.
Hi I'm trying to build Assimp with Cmake but the following error message appears everytime I try to configure Assimp. The version of Cmake is 3.11.0 and assimp is 4.0.0.
Looking for DirectX...
DirectX_PREFIX_PATH changed.
Found DirectX: C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x86/d3d9.lib
DX lib dir: C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x86
Looking for ZLIB...
Found PkgConfig: C:/cygwin/bin/pkg-config.exe (found version "0.29.1")
Checking for module 'zzip-zlib-config'
No package 'zzip-zlib-config' found
Could not locate ZLIB
compiling zlib from sources
CMake Deprecation Warning at contrib/zlib/CMakeLists.txt:8 (cmake_policy):
The OLD behavior for policy CMP0048 will be removed from a future version
of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Looking for sys/types.h
Looking for sys/types.h - found
Looking for stdint.h
Looking for stdint.h - found
Looking for stddef.h
Looking for stddef.h - found
Check size of off64_t
Check size of off64_t - failed
Looking for fseeko
Looking for fseeko - not found
Looking for unistd.h
Looking for unistd.h - not found
Could NOT find rt (missing: RT_LIBRARY)
Enabled formats: AMF 3DS AC ASE ASSBIN ASSXML B3D BVH COLLADA DXF CSM HMP IRRMESH IRR LWO LWS MD2 MD3 MD5 MDC MDL NFF NDO OFF OBJ OGRE OPENGEX PLY MS3D COB BLEND IFC XGL FBX Q3D Q3BSP RAW SIB SMD STL TERRAGEN 3D X X3D GLTF 3MF MMD
Disabled formats:
Looking for DirectX...
DirectX_PREFIX_PATH changed.
DX lib dir: C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)/Lib/x86
Could NOT find IL (missing: IL_LIBRARIES IL_INCLUDE_DIR)
CMake Error at C:/cygwin/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:27 (message):
The imported target "Qt5::Gui" references the file
"C:/cygwin/include/qt5/"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
"C:/cygwin/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake"
but not all the files it references.
Call Stack (most recent call first):
C:/cygwin/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:68 (_qt5_Gui_check_file_exists)
C:/cygwin/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package)
tools/assimp_qt_viewer/CMakeLists.txt:19 (FIND_PACKAGE)
Configuring incomplete, errors occurred!
See also "C:/Users/peter/Desktop/assimp-master/assimp-master/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/peter/Desktop/assimp-master/assimp-master/build/CMakeFiles/CMakeError.log".
For the configuration generator I used Visual Studio 15 2017 since I'm using that for my IDE. Is there anyway that this can be solved?
Please try the latest version of assimp ( 4.1.0 ). The cygwin-cmake file was broken. This shall work with the latest version.
As a workaround diable the tools-support for assimp ( the library will be build, but the qt5-based viewer not ):
cmake CMakelists.txt -DASSIMP_BUILD_ASSIMP_TOOLS=OFF
This will fix your cmake-error, because the tools will not be affected by cmake.
I was trying to install Lemon on Ubuntu 14.04. I was going as per the instructions in their documentation. On the "cmake .." command, I got an error as the following
aniket#aniket-Lenovo-G50-45:~/lemon-1.3.1/build$ cmake ..
CMake Error at CMakeLists.txt:3 (CMAKE_POLICY):
Policy "CMP0048" is not known to this version of CMake.
-- Could NOT find ILOG (missing: ILOG_CPLEX_LIBRARY ILOG_CPLEX_INCLUDE_DIR)
-- Could NOT find COIN (missing: COIN_INCLUDE_DIR COIN_CBC_LIBRARY COIN_CBC_SOLVER_LIBRARY COIN_CGL_LIBRARY COIN_CLP_LIBRARY COIN_COIN_UTILS_LIBRARY COIN_OSI_LIBRARY COIN_OSI_CBC_LIBRARY COIN_OSI_CLP_LIBRARY)
-- Could NOT find SOPLEX (missing: SOPLEX_LIBRARY SOPLEX_INCLUDE_DIR)
-- Configuring incomplete, errors occurred!
See also "/home/aniket/lemon-1.3.1/build/CMakeFiles/CMakeOutput.log".
See also "/home/aniket/lemon-1.3.1/build/CMakeFiles/CMakeError.log".
I tried to update and upgrade Cmake just in case. But, it didn't help. So, is this about the libraries not being installed (COIN, ILOG, etc)? How do I install them?
No, I've just succeeded in installation by commenting third line in CMakeLists.txt:
#CMAKE_POLICY(SET CMP0048 OLD)
So, the problem is not in COIN, ILOG, etc.
It's not a library problem, rather than a CMAKE_POLICY problem. I was having the same issue, as my cmake was not recognizing the following policy:
CMAKE_POLICY(SET CMP0048 OLD)
Turned out that my cmake version (2.8.xx) was too old. After upgrading to cmake 3.0.2, this issue was fixed.
I'm attempting to compile a program with dependencies in Cmake and Qt (on Mountain Lion). The code
cmake build
returns
CMake Error at /Applications/CMake 2.8-12.app/Contents/share/cmake-2.8/Modules/FindQt4.cmake:1386 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
CMakeLists.txt:195 (FIND_PACKAGE)
-- Configuring incomplete, errors occurred!
The current Qt version is 5.1.1, which I have installed in ~/bin/ and I'm not sure how to get Cmake to find it.
The error is saying this code requires Qt 4.x then for what are you wandering? it is due to line FIND_PACKAGE(Qt4 REQUIRED) though Cmake version should support Qt5 but may be your CmakeList is not proper written for that.
Follow this document to correct your CmakeList.