Jump to content
Ultimaker Community of 3D Printing Experts

Stuck up in creating a Docker image for CuraEngine


arnaudcosson
 Share

Recommended Posts

Posted · Stuck up in creating a Docker image for CuraEngine

Hi,

I am working on creating a docker image to have a centos machine with CuraEngine.

The purpose is to have an hosted instance to slice files from command lines.

I decide to base the image on centos because it is the distribution usually deployed in my compagny.

For install I followed instructions from https://github.com/Ultimaker/CuraEngine but I have an error with python version while installing libArcus.

Thanks for your help

Arnaud

Error:

 

-- Found PROTOBUF: /usr/local/lib/libprotobuf.so  CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find PythonInterp: Found unsuitable version "2.7.5", but required is at least "3.4.0" (found /usr/bin/python)Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:313 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake/Modules/FindPythonInterp.cmake:139 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) cmake/FindSIP.cmake:32 (find_package) CMakeLists.txt:23 (find_package)-- Configuring incomplete, errors occurred!See also "/tmp/curabuild/libArcus-master/build/CMakeFiles/CMakeOutput.log".See also "/tmp/curabuild/libArcus-master/build/CMakeFiles/CMakeError.log".The command '/bin/sh -c cd /tmp/curabuild     && wget -O libArcus-master.zip https://github.com/Ultimaker/libArcus/archive/master.zip'>https://github.com/Ultimaker/libArcus/archive/master.zip     && unzip libArcus-master.zip     && cd libArcus-master     && mkdir build && cd build     && ls -la ..     && cmake ..     && make -j4     && make install' returned a non-zero code: 1

 

Dockerfile:

 

# Dockerfile for CuraEngineFROM centos#Global prerequisitesRUN yum install -y epel-releaseRUN yum install -y libtool gcc-c++ wget unzip makeRUN mkdir -p /tmp/curabuild# Install ProtobufRUN cd /tmp/curabuild/ \   && wget -O protobuffv3.4.1.zip https://github.com/google/protobuf/archive/v3.4.1.zip \   && unzip protobuffv3.4.1.zip \   && cd /tmp/curabuild/protobuf-3.4.1/ \   && ./autogen.sh && ./configure \   && make -j4 \   && make install#Install Python 3RUN yum install -y zlib-devel openssl-devel python34-dev#Install libArcusRUN yum install -y cmake python-devel sip-develRUN cd /tmp/curabuild \   && wget -O libArcus-master.zip https://github.com/Ultimaker/libArcus/archive/master.zip \   && unzip libArcus-master.zip \   && cd libArcus-master \   && mkdir build && cd build \   && ls -la .. \   && cmake .. \   && make -j4 \   && make installRUN cd /tmp/curabuild \#Install CuraEngine && wget -O CuraEngine3.0.zip https://github.com/Ultimaker/CuraEngine/archive/3.0.zip \ && unzip CuraEngine3.0.zip \ && cd CuraEngine-3.0 \ && mkdir build && cd build \ && cmake .. \ && make -j4

 

  • Link to post
    Share on other sites

    Posted (edited) · Stuck up in creating a Docker image for CuraEngine

    Little up on this post, still not able to build curaEngine on my docker

     

    In file included from /tmp/curabuild/CuraEngine/src/pathPlanning/Comb.h:11:0,
                     from /tmp/curabuild/CuraEngine/src/LayerPlan.h:8,
                     from /tmp/curabuild/CuraEngine/src/FffGcodeWriter.h:15,
                     from /tmp/curabuild/CuraEngine/src/FffProcessor.h:5,
                     from /tmp/curabuild/CuraEngine/src/commandSocket.cpp:7:
    /tmp/curabuild/CuraEngine/src/pathPlanning/../utils/LazyInitialization.h: In constructor 'cura::LazyInitialization<T, Args>::LazyInitialization(Args ...)':
    /tmp/curabuild/CuraEngine/src/pathPlanning/../utils/LazyInitialization.h:34:18: error: expected ',' before '...' token
                 [args...]()
                      ^

    My search on the net drives me to this conclusion:

    I'm not able to compile CuraEngine because the version of the compiler that is used is not the good one.

    But I didn't figure how to change it.

    devtoolset-3-gcc was supposed to do the job...

     

    Here is my updated DockerFile:

    # Dockerfile for CuraEngine
    
    FROM centos
    
    #Global prerequisites
    RUN yum install -y epel-release
    RUN yum install -y libtool gcc-c++ wget unzip make devtoolset-3-gcc git
    
    RUN mkdir -p /tmp/curabuild
    
    # Install Protobuf
    RUN cd /tmp/curabuild/ \
        && wget -O protobuffv3.4.1.zip https://github.com/google/protobuf/archive/v3.4.1.zip \
        && unzip protobuffv3.4.1.zip \
        && cd /tmp/curabuild/protobuf-3.4.1/ \
        && ./autogen.sh && ./configure \
        && make -j4 \
        && make install
    
    #Install Python 3
    RUN yum install -y zlib-devel openssl-devel python34-dev
    
    #Install libArcus
    RUN yum install -y cmake python-devel sip-devel
    RUN cd /tmp/curabuild \
        && git clone https://github.com/Ultimaker/libArcus.git \
        && cd libArcus \
        && sed -i '/option(BUILD_PYTHON "Build " ON)/c\option(BUILD_PYTHON "Build " OFF)' ./CMakeLists.txt \
        && mkdir build && cd build \
        && ls -la .. \
        && cmake .. \
        && make -j4 \
        && make install
    
    RUN cd /tmp/curabuild \
    #Install CuraEngine
      && git clone https://github.com/Ultimaker/CuraEngine.git \
      && cd CuraEngine/ \
      && mkdir build && cd build \
      && cmake .. \
      && make CXX=gcc-4.9 -j4

     

    Edited by arnaudcosson
  • Link to post
    Share on other sites

    Posted · Stuck up in creating a Docker image for CuraEngine

    You are using gcc-4.9. I just checked, but i'm building the engine with gcc 6.4.1

  • Link to post
    Share on other sites

    Posted · Stuck up in creating a Docker image for CuraEngine

    Thanks for the information. I will try with this version

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
     Share

    • Our picks

      • New here? Get ahead with a free onboarding course
        Hi,
         
        Often getting started is the most difficult part of any process. A good start sets you up for success and saves you time and energy that could be spent elsewhere. That is why we have a onboarding course ready for
        Ultimaker S5 Pro Bundle, Ultimaker S5, Ultimaker S3 Ultimaker 2+ Connect.   
        They're ready for you on the Ultimaker Academy platform. All you need to do to gain access is to register your product to gain free access. 
        Ready? Register your product here in just 60 seconds.
          • Like
        • 8 replies
    ×
    ×
    • Create New...