View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0029272 | Community | OCCT:Configuration | public | 2017-10-27 20:19 | 2023-09-29 17:49 |
Reporter | efferre79 | Assigned To | |||
Priority | normal | Severity | major | ||
Status | assigned | Resolution | open | ||
Platform | Gentoo | OS | Linux | ||
Target Version | Unscheduled | ||||
Summary | 0029272: Configuration, CMake - failure of Inspector build when all modules are disabled | ||||
Description | I am trying to build in a modular way opencascade-7.2.0. In the sources directory the file adm/MODULES lists all the available modules with their first level dependencies, it is possible to selectively build a module by specifying -DBUILD_MODULE_<MODULE_NAME>=ON on the cmake command line. The build systems finds all the module dependencies automatically. Up to here everything is fine. With a similar concept there there is the file adm/TOOLS with a list of different tools to be built. In this case it is not possible to selectively define the tools to build but all of them can be built by defining -DBUILD_Inspector on the command line. This is not a problem right now. Also in this case the build system should automatically detect the dependencies and build the appropriate required modules to get the tools. In practice instead I get an error when I try to build the tools after having disabled all the modules using this command line: cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_DOC_Overview=no -DBUILD_Inspector=yes -DBUILD_WITH_DEBUG=no -DCMAKE_INSTALL_PREFIX=/usr/lib64/opencascade-7.2.0/ros/lin -DINSTALL_DIR_CMAKE=/usr/lib64/cmake/opencascade-7.2.0 -DINSTALL_DIR_DATA=share/data -DINSTALL_DIR_DOC=/usr/share/doc/opencascade-7.2.0 -DINSTALL_DIR_INCLUDE=inc -DINSTALL_DIR_LIB=lib64 -DINSTALL_DIR_RESOURCE=share/resources -DINSTALL_DIR_SAMPLES=share/samples -DINSTALL_DIR_TESTS=share/tests -DINSTALL_SAMPLES=yes -DINSTALL_TEST_CASES=no -DUSE_FFMPEG=no -DUSE_FREEIMAGE=no -DUSE_FREETYPE=no -DUSE_TCL=no -DUSE_GL2PS=no -DUSE_TBB=yes -DUSE_VTK=no -D3RDPARTY_QT_DIR:PATH=/usr -DBUILD_MODULE_ApplicationFramework=OFF -DBUILD_MODULE_DataExchange=OFF -DBUILD_MODULE_Draw=OFF -DBUILD_MODULE_FoundationClasses=OFF -DBUILD_MODULE_ModelingData=OFF -DBUILD_MODULE_ModelingAlgorithms=OFF -DBUILD_MODULE_Visualization=OFF -DCMAKE_BUILD_TYPE=Gentoo I expect that the build system finds all the required toolkits to be built to get the final tools. Here is the error I get: [ 2%] Building CXX object tools/TKView/CMakeFiles/TKView.dir/__/View/View_Displayer.cxx.o cd /var/tmp/portage/sci-libs/opencascade-7.2.0/work/opencascade-7.2.0_build/tools/TKView && /usr/bin/x86_64-pc-linux-gnu-g++ -DHAVE_QT -DOCC_CONVERT_SIGNALS -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DTKView_EXPORTS -DView_EXPORTS -I/var/tmp/portage/sci-libs/opencascade-7.2.0/work/opencascade-7.2.0_build/tools/TKView/TKView_autogen/include -I/var/tmp/portage/sci-libs/opencascade-7.2.0/work/opencascade-7.2.0_build/inc -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -I/var/tmp/portage/sci-libs/opencascade-7.2.0/work/opencascade-7.2.0_build/inc/tools -DNDEBUG -std=c++0x -march=core2 -O2 -pipe -ggdb -fpermissive -fexceptions -fPIC -Wall -Wextra -fPIC -fPIC -std=gnu++11 -o CMakeFiles/TKView.dir/__/View/View_Displayer.cxx.o -c /var/tmp/portage/sci-libs/opencascade-7.2.0/work/opencascade-7.2.0/tools/View/View_Displayer.cxx In file included from /var/tmp/portage/sci-libs/opencascade-7.2.0/work/opencascade-7.2.0_build/inc/inspector/View_Displayer.hxx:1:0, from /var/tmp/portage/sci-libs/opencascade-7.2.0/work/opencascade-7.2.0/tools/View/View_Displayer.cxx:16: /var/tmp/portage/sci-libs/opencascade-7.2.0/work/opencascade-7.2.0/tools/View/View_Displayer.hxx:19:37: fatal error: AIS_ListOfInteractive.hxx: No such file or directory I was suggested that Inspector depends on the Visualization module but the build system doesn't check for this dependency. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
|
I have successfully built with -DBUILD_MODULE_ApplicationFramework=ON -DBUILD_MODULE_DataExchange=OFF -DBUILD_MODULE_Draw=ON -DBUILD_MODULE_FoundationClasses=OFF -DBUILD_MODULE_ModelingData=OFF -DBUILD_MODULE_ModelingAlgorithms=OFF -DBUILD_MODULE_Visualization=ON Instead of requiring the full modules, maybe it should be possible to modify the build system to select only the needed toolkits which are already specified in the EXTERNLIB file for each tool directory. I mean that the build system should automatically select only the needed toolkits, if possible, when using -DBUILD_Inspector=yes -DBUILD_MODULE_ApplicationFramework=OFF -DBUILD_MODULE_DataExchange=OFF -DBUILD_MODULE_Draw=OFF -DBUILD_MODULE_FoundationClasses=OFF -DBUILD_MODULE_ModelingData=OFF -DBUILD_MODULE_ModelingAlgorithms=OFF -DBUILD_MODULE_Visualization=OFF to successfully build Inspector. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-10-27 20:19 | efferre79 | New Issue | |
2017-10-27 20:19 | efferre79 | Assigned To | => bugmaster |
2017-10-30 10:29 | bugmaster | Assigned To | bugmaster => apn |
2017-10-30 10:29 | bugmaster | Status | new => assigned |
2017-11-06 14:25 | efferre79 | Note Added: 0072001 | |
2020-03-04 11:51 | kgv | Summary | failure of Inspector build when all modules are disabled => Configuration, CMake - failure of Inspector build when all modules are disabled |
2020-09-21 17:19 | bugmaster | Assigned To | apn => bugmaster |
2021-09-03 14:13 | bugmaster | Target Version | => 7.7.0 |
2022-10-24 10:38 |
|
Target Version | 7.7.0 => 7.8.0 |
2023-08-01 15:09 | dpasukhi | Target Version | 7.8.0 => Unscheduled |
2023-09-29 17:49 | vglukhik | Assigned To | bugmaster => |