Ultimaker / libArcus

Communication library between internal components for Ultimaker software

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Could not find SIP

nickthetait opened this issue · comments

Platform: Ubuntu 17.04
libtool: (GNU libtool) 2.4.6
SIP: 4.19.3

Steps to Reproduce:
Follow CuraEngine installation instructions from https://github.com/Ultimaker/CuraEngine
Get down to the install libArcus step
When executing cmake .. I get the following error:
-- Found Protobuf: /usr/local/lib/libprotobuf.so;-lpthread (found suitable version "3.3.2", minimum required is "3.0.0") -- Found PythonInterp: /usr/local/bin/python3.4 (found suitable version "3.4.6", minimum required is "3.4.0") -- Found PythonLibs: /usr/local/lib/libpython3.4m.a (found suitable version "3.4.6", minimum required is "3.4.0") CMake Error at cmake/FindSIP.cmake:64 (MESSAGE): Could not find SIP
Yet I do have SIP installed. Any hints on what I should do?

More details in CMakeError.log:
https://gist.github.com/nickthetait/8a461c57465be29fbc22a1f430568ecc

edit: use a gist instead of pasting file output

Did you install the dev sip package? It could be that the findsip isn't looking in the right place for the sip that you have.

Can you try the findsip_cleanup branch? I made some changes there into how we find sip that should be better compatible with recent versions of sip.

I installed dev-sip for a little while. It is not currently on this system nor at the time the first error happened.

Using the findsip_cleanup branch I get different results but no luck yet.
https://gist.github.com/nickthetait/216bb11a41a841cf72f66cab59db85e7
https://gist.github.com/nickthetait/a2a2152184251f8a8af868acaf32a7d5

/usr/bin/ld: cannot find -lpthreads

Hold up, shouldn't that be -lpthread?

On the first gist, perhaps you have SIP installed but not in Python, as it seems to be failing on Python's ImportError when calling import sip.

Seems as though I am able to get access to SIP through Python, but not Python3. I did this manually:
https://gist.github.com/nickthetait/af4ed68373d3370f4c2e8c02bf5bc419

Edit: correction and use gist

-- Could NOT find Sip (missing: SIP_INCLUDE_DIR)

This seems to suggest your sip development headers are missing or located in an unexpected location. For the findsip_cleanup branch you can set them manually through CMake if they are in an unexpected location.

How can I manually find where they are located? What should I be looking for?

Is the standard way to install SIP with pip3 install SIP?

I'm getting this error and I don't even need sip. I want to use CuraEngine command line for another project. Is there an easy way to disable the need for SIP here? On OSX, and SIP has nothing to do with my needs for libArcus. The readme doesn't even say it's a full on requirement!

@nickthetait It depends a bit on your platform. I personally run ArchLinux so just use the Arch package, but other distributions may have different results. Do note however that the PyPI sip package only includes the Python module, so not the development headers or the code generation tool. If you cannot use your distribution's package, you will need to download the Sip source and build that.

@baordog If you do not need Arcus, you can compile CuraEngine without Arcus support. On the other hand, if you do want to use Arcus but do not need the Python bindings, you can disable building the Python bindings for Arcus.

I tried compiling CuraEngine without having Arcus and it failed. SIP for 32-bit Linux is not available, but it can be built from source. Here's how:

    #build sip for 32-bit linux
    wget https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.3/sip-4.19.3.tar.gz 
    tar -xvf sip-4.19.3.tar.gz; rm sip-4.19.3.tar.gz
    cd sip-4.19.3
    python3 configure.py 
    make
    sudo make install

In ubuntu works with python3-sip-dev package

@nickthetait were you able to solve this?

I downloaded sip-4.19.5.tar.gz then
extract
cd sip-4.19.5
python3 configure.py
make
sudo make install

cmake.. running successfully

Unknown CMake command "add_sip_python_module"