coin3d / pivy

python bindings to coin3d
ISC License
53 stars 39 forks source link

trouble with pivy compilation #70

Closed sergeyglazyrindev closed 4 years ago

sergeyglazyrindev commented 4 years ago

Hello guys! I posted a question about the problem in google groups. But no one replied, could you please suggest how do I fix this issue ?

Problem: I compiled soqt from latest source code on github. And now i need to compile pivy When I try to compile on gentoo latest version of pivy from github repository, I am getting following problem:

interfaces/pivy_common_typemaps.i:473: Error: Unable to find 'Inventor/events/SoEvent.h'
Inventor/SoType.h:40: Error: Unable to find 'Inventor/SbBasic.h'
Inventor/SbDict.h:54: Error: Unable to find 'Inventor/SbBasic.h'
Inventor/fields/SoField.h:41: Error: Unable to find 'Inventor/misc/SoNotification.h'
Inventor/fields/SoField.h:212: Error: Unable to find 'Inventor/fields/SoSField.h'
Inventor/SbString.h:43: Error: Unable to find 'Inventor/system/inttypes.h'
Inventor/lists/SbPList.h:40: Error: Unable to find 'Inventor/SbBasic.h'
Inventor/SbName.h:40: Error: Unable to find 'Inventor/SbBasic.h'
interfaces/coin_header_includes.h:1: Error: Unable to find 'Inventor/actions/SoAction.h'
interfaces/coin_header_includes.h:2: Error: Unable to find 'Inventor/actions/SoActions.h'
interfaces/coin_header_includes.h:3: Error: Unable to find 'Inventor/actions/SoAudioRenderAction.h'
interfaces/coin_header_includes.h:4: Error: Unable to find 'Inventor/actions/SoBoxHighlightRenderAction.h'
Inventor/actions/SoCallbackAction.h:42: Error: Unable to find 'Inventor/actions/SoAction.h'
Inventor/actions/SoCallbackAction.h:43: Error: Unable to find 'Inventor/actions/SoSubAction.h'
Inventor/actions/SoCallbackAction.h:44: Error: Unable to find 'Inventor/elements/SoDecimationTypeElement.h'
Inventor/actions/SoCallbackAction.h:45: Error: Unable to find 'Inventor/lists/SbList.h'
..............

here is my cmake info:

Python version...3.6.10
Checking for swig...
'/usr/bin/swig'
Checking for SWIG version...
4.0.0
calling: cmake
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc
-- Check for working C compiler: /usr/bin/x86_64-pc-linux-gnu-gcc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++
-- Check for working CXX compiler: /usr/bin/x86_64-pc-linux-gnu-g++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- COIN_FOUND: true
-- COIN_INCLUDE_DIR: /usr/include/Coin4
-- COIN_LIB_DIR: /usr/lib64
-- COIN_VERSION: 4.0.0
-- SOQT_FOUND: true
-- SOQT_INCLUDE_DIR: /usr/include;/usr/include
-- SOQT_LIB_DIR: /usr/lib64
-- SOQT_VERSION: 1.6.0
-- Configuring done
-- Generating done
-- Build files have been written to: /var/tmp/portage/dev-python/pivy-9999/work/pivy-9999

checking for COIN via cmake

COIN_FOUND: true

COIN_VERSION: 4.0.0

COIN_INCLUDE_DIR: /usr/include/Coin4

COIN_LIB_DIR: /usr/lib64

checking for SOQT via cmake

SOQT_FOUND: true

SOQT_VERSION: 1.6.0

SOQT_INCLUDE_DIR: /usr/include" -I"/usr/include

SOQT_LIB_DIR: /usr/lib64

coin-features are not supported in this version

Preparing Inventor headers: Inventor/SbTime.h Inventor/SbImage.h Inventor/SbDPRotation.h Inventor/SoFullPath.h Inventor/SbString.h Inventor/SbVec3f.h Inventor/SbDict.h Inventor/SbRotation.h Inventor/SbDPPlane.h Inventor/SbBox2f.h Inventor/SoType.h Inventor/SbViewportRegi
on.h Inventor/SbVec4d.h Inventor/SbBox2s.h Inventor/SbVec2d.h Inventor/SbVec2f.h Inventor/SbName.h Inventor/SoOffscreenRenderer.h Inventor/SoPath.h Inventor/SoNodeKitPath.h Inventor/SbBox2d.h Inventor/SbViewVolume.h Inventor/SbColor4f.h Inventor/SbPlane.h Inventor/SbVec2
s.h Inventor/SbVec3s.h Inventor/SoInput.h Inventor/SoRenderManager.h Inventor/SbMatrix.h Inventor/SoSceneManager.h Inventor/SbBox3s.h Inventor/SbVec4f.h Inventor/SbColor.h Inventor/SbBox3f.h Inventor/SbXfBox3f.h Inventor/SbVec3d.h Inventor/SbDPMatrix.h Inventor/misc/SoBa
se.h Inventor/scxml/ScXMLStateMachine.h Inventor/actions/SoGLRenderAction.h Inventor/actions/SoCallbackAction.h Inventor/nodes/SoMarkerSet.h Inventor/nodes/SoEventCallback.h Inventor/nodes/SoGroup.h Inventor/nodes/SoSelection.h Inventor/nodes/SoCallback.h Inventor/nodeki
ts/SoBaseKit.h Inventor/elements/SoLazyElement.h Inventor/elements/SoDiffuseColorElement.h Inventor/lists/SoTypeList.h Inventor/lists/SoPickedPointList.h Inventor/lists/SoEngineOutputList.h Inventor/lists/SoFieldList.h Inventor/lists/SbVec3fList.h Inventor/lists/SoNodeLi
st.h Inventor/lists/SbIntList.h Inventor/lists/SbPList.h Inventor/lists/SoPathList.h Inventor/lists/SoBaseList.h Inventor/lists/SoDetailList.h Inventor/lists/SoActionMethodList.h Inventor/lists/SoEngineList.h Inventor/lists/SbStringList.h Inventor/engines/SoEngine.h Inve
ntor/draggers/SoDragger.h Inventor/sensors/SoTimerQueueSensor.h Inventor/sensors/SoPathSensor.h Inventor/sensors/SoFieldSensor.h Inventor/sensors/SoDelayQueueSensor.h Inventor/sensors/SoSensor.h Inventor/sensors/SoOneShotSensor.h Inventor/sensors/SoAlarmSensor.h Inventor
/sensors/SoDataSensor.h Inventor/sensors/SoSensorManager.h Inventor/sensors/SoIdleSensor.h Inventor/sensors/SoNodeSensor.h Inventor/sensors/SoTimerSensor.h Inventor/fields/SoMField.h Inventor/fields/SoMFShort.h Inventor/fields/SoSFShort.h Inventor/fields/SoMFBool.h Inven
tor/fields/SoSFUInt32.h Inventor/fields/SoSFPath.h Inventor/fields/SoMFName.h Inventor/fields/SoFieldContainer.h Inventor/fields/SoMFVec2f.h Inventor/fields/SoMFTime.h Inventor/fields/SoMFUShort.h Inventor/fields/SoMFString.h Inventor/fields/SoSFRotation.h Inventor/field
s/SoMFPlane.h Inventor/fields/SoMFVec3f.h Inventor/fields/SoSFVec2f.h Inventor/fields/SoMFRotation.h Inventor/fields/SoSFEnum.h Inventor/fields/SoSFMatrix.h Inventor/fields/SoMFMatrix.h Inventor/fields/SoField.h Inventor/fields/SoMFColor.h Inventor/fields/SoMFPath.h Inve
ntor/fields/SoSFFloat.h Inventor/fields/SoSFImage.h Inventor/fields/SoMFInt32.h Inventor/fields/SoSFString.h Inventor/fields/SoSFEngine.h Inventor/fields/SoSFPlane.h Inventor/fields/SoSFNode.h Inventor/fields/SoSFVec3f.h Inventor/fields/SoSFTime.h Inventor/fields/SoSFBoo
l.h Inventor/fields/SoMFVec4f.h Inventor/fields/SoMFUInt32.h Inventor/fields/SoMFFloat.h Inventor/fields/SoSFTrigger.h Inventor/fields/SoSFImage3.h Inventor/fields/SoSFVec4f.h Inventor/fields/SoSFInt32.h Inventor/fields/SoSFUShort.h Inventor/fields/SoMFEngine.h Inventor/
fields/SoMFNode.h Inventor/fields/SoMFEnum.h Inventor/fields/SoSFColor.h Inventor/fields/SoSFName.h Inventor/fields/SoMFVec3d.h Inventor/collision/SoIntersectionDetectionAction.h.

and then following error:

=== Generating pivy/gui/soqt_wrap.cpp for soqt ===

swig -w302,306,307,312,314,325,361,362,467,389,503,509,510 -py3 -c++ -python -includeall -modern -D__PIVY__ -I. -Ifake_headers -I"/usr/include" -I"/usr/include" -Iinterfaces  -o pivy/gui/soqt_wrap.cpp interfaces/soqt.i
SWIG did not generate wrappers successfully! ** Aborting **
 ^[[31;01m*^[[0m ERROR: dev-python/pivy-9999::local failed (compile phase):
looooo commented 4 years ago

I don't see an obvious mistake. I guess the coin includes are missing. Can you try the cmake setup: https://github.com/coin3d/pivy/pull/69

VolkerEnderlein commented 4 years ago

To me the SOQT_INCLUDE_DIR: /usr/include" -I"/usr/include variable setting looks somewhat suspicous. Can you share the CMake command to build SoQt?

sergeyglazyrindev commented 4 years ago

thank you guys! I don't know what I changed, but now I was able to compile, first, I forked the repo and tried to use cmake version of installer (one from pull requests) but it didn't work too... then I switched to your original repo Oh, I know what I changed: I disabled one of the gentoo specific patches for this installer:

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 76d0d06..48bd3c0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-project(pivy_cmake_setup NONE)
+project(pivy_cmake_setup)
 cmake_minimum_required(VERSION 3.5)

-- 

Now it works, now I need to compile only freecad.