Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029272Community[OCCT] OCCT:Configurationpublic2017-10-27 20:192017-11-06 14:25
Assigned Toapn 
PlatformGentooOSLinuxOS Versionrolling
Product Version 
Target VersionFixed in Version 
Summary0029272: failure of Inspector build when all modules are disabled
DescriptionI 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.
TagsNo tags attached.
Test case number
Attached Files

- Relationships

-  Notes
efferre79 (reporter)
2017-11-06 14:25

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.

- Issue History
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

Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker