Menu

#868 Error while building bundled SIP: "sipWrapperType... has no member named ‘wt_td"

For next release
open
nobody
build (1)
5
2017-08-15
2017-08-05
No

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
1 Attachments

Discussion

  • Eyal Rozenberg

    Eyal Rozenberg - 2017-08-05

    My system is Linux Mint 18.2 on x86_64 hardware.

     
  • Antoine Lambert

    Antoine Lambert - 2017-08-15

    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

     
    • Eyal Rozenberg

      Eyal Rozenberg - 2017-08-15
      Post awaiting moderation.
  • Eyal Rozenberg

    Eyal Rozenberg - 2017-08-15

    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:

    /usr/include/python2.7/sip.h
    /usr/include/python2.7_d/sip.h
    /usr/local/src/tulip-5.0.0/build/thirdparty/sip-4.19.1/siplib/sip.h
    /usr/local/src/tulip-5.0.0/thirdparty/sip-4.19.1/sipgen/sip.h
    /usr/src/linux-headers-4.4.0-91-generic/include/config/ip/vs/pe/sip.h
    /usr/src/linux-headers-4.4.0-91-generic/include/config/nf/conntrack/sip.h
    /usr/src/linux-headers-4.4.0-91-generic/include/config/nf/nat/sip.h
    /usr/src/linux-headers-4.8.0-36-generic/include/config/ip/vs/pe/sip.h
    /usr/src/linux-headers-4.8.0-36-generic/include/config/nf/conntrack/sip.h
    /usr/src/linux-headers-4.8.0-36-generic/include/config/nf/nat/sip.h
    

    and at least the first one doesn't have a wt_td member.

     

    Last edit: Eyal Rozenberg 2017-08-15
  • Antoine Lambert

    Antoine Lambert - 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 ?

     

Log in to post a comment.

MongoDB Logo MongoDB