Jump to content

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

      • UltiMaker Cura 5.9 stable released!
        Here comes Cura 5.9 and in this stable release we have lots of material and printer profiles for UltiMaker printers, including the newly released Sketch Sprint. Additionally, scarf seams have been introduced alongside even more print settings and improvements.  Check out the rest of this article to find out the details on all of that and more
          • Like
        • 5 replies
      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
          • Heart
          • Thanks
          • Like
        • 7 replies
    ×
    ×
    • Create New...