Jump to content

Stuck up in creating a Docker image for CuraEngine


arnaudcosson

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
    • Our picks

      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
      • Ultimaker Cura 5.6 stable released
        Cura now supports Method series printers!
         
        A year after the merger of Ultimaker and MakerBotQQ, we have unlocked the ability for users of our Method series printers to slice files using UltiMaker Cura. As of this release, users can find profiles for our Method and Method XL printers, as well as material profiles for ABS-R, ABS-CF, and RapidRinse. Meaning it’s now possible to use either Cura or the existing cloud-slicing software CloudPrint when printing with these printers or materials
        • 6 replies
    ×
    ×
    • Create New...