I'm trying to build Tulip 5.0.0 from (Sourceforce) sources. During build, I get:
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c: In function ‘sipOMAddObject’:
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c:165:73: error: ‘sipWrapperType {aka struct _sipWrapperType}’ has no member named ‘wt_td’
base_ctd = (const sipClassTypeDef *)((sipWrapperType *)Py_TYPE(val))->wt_td;
^
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c: In function ‘add_aliases’:
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c:216:26: error: ‘sipSimpleWrapper {aka struct _sipSimpleWrapper}’ has no member named ‘sw_flags’
alias->sw_flags = (val->sw_flags & SIP_SHARE_MAP) | SIP_ALIAS;
^
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c:216:43: error: ‘sipSimpleWrapper {aka struct _sipSimpleWrapper}’ has no member named ‘sw_flags’
alias->sw_flags = (val->sw_flags & SIP_SHARE_MAP) | SIP_ALIAS;
^
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c: In function ‘add_object’:
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c:256:18: error: ‘sipSimpleWrapper {aka struct _sipSimpleWrapper}’ has no member named ‘sw_flags’
if (!(val->sw_flags & SIP_SHARE_MAP))
^
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c: In function ‘sipOMRemoveObject’:
/usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/siplib/objmap.c:380:73: error: ‘sipWrapperType {aka struct _sipWrapperType}’ has no member named ‘wt_td’
base_ctd = (const sipClassTypeDef *)((sipWrapperType *)Py_TYPE(val))->wt_td;
^
thirdparty/sip-4.19.1/siplib/CMakeFiles/tulipsip.dir/build.make:166: recipe for target 'thirdparty/sip-4.19.1/siplib/CMakeFiles/tulipsip.dir/objmap.c.o' failed
My CMake line was:
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/opt/tulip-5.0`
(from within a "build" subdirectory as the INSTALL.linux suggests). The CMake console output was:
-- The C compiler identification is GNU 5.4.1
-- The CXX compiler identification is GNU 5.4.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- 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/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Could NOT find Qhull (missing: QHULL_LIBRARY QHULL_INCLUDE_DIR)
-- Could NOT find yajl (missing: YAJL_LIBRARY YAJL_INCLUDE_DIR)
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so
-- Found JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.2.54")
-- Found Freetype: /usr/lib/x86_64-linux-gnu/libfreetype.so
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake (found suitable version "4.8.7", minimum required is "4.6.0")
-- Found QUAZIP: /usr/lib/x86_64-linux-gnu/libquazip.so
-- Found PythonInterp: /usr/bin/python (found version "2.7.12")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython2.7.so (found version "2.7.12")
-- Found SIP version: 4.17
-- SIP was found on the system but its version is lesser than the required one (4.19.1).
-- Using SIP 4.19.1 located in thirdparty for generating the Python bindings.
-- Qhull library was not found on the system, the version located in thirdparty will be compiled and used instead.
-- Yajl library was not found on the system, the version located in thirdparty will be compiled and used instead.
-- Performing Test HAVE_GCC_VISIBILITY
-- Performing Test HAVE_GCC_VISIBILITY - Success
-- Found Sphinx: /usr/share/sphinx/scripts/python2/sphinx-build
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.11")
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/tulip-5.0.0/build
My system is Linux Mint 18.2 on x86_64 hardware.
Hi Eyal,
I did not manage to reproduce your build issue on Linux Mint 18.2 x86_64.
My guess is that something went wrong when configuring the SIP tool bundled with the Tulip source. You should check if there is a "sip.h" file in the following directory: /usr/local/src/tulip-5.0.0/build/thirdparty/sip-4.19.1/siplib/ . If it is not present, the "sip.h" file installed on your system is used instead and as the version mismatch the one we are using in Tulip, the compilation fails.
Maybe you should try to compile Tulip from your home folder instead.
Antoine
So, a sip.h does exist in the directory you mentioned. So maybe the issue is with setting the include directory order?
Here are all of the
sip.h's on my system:and at least the first one doesn't have a
wt_tdmember.Last edit: Eyal Rozenberg 2017-08-15
This is definitely a include directory order issue but that's weird as we already took care of including the correct include path for sip.h prior to other include paths in the compiler command line (see line 9 in thirdparty/sip-4.19.1/siplib/CMakeLists.txt).
You can check the gcc commands issued by running 'make VERBOSE=1'. Maybe we could spot an issue here ?