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

      • UltiMaker Cura 5.8 Stable released 🎉
        In the Cura 5.8 stable release, everyone can now tune their Z seams to look better than ever. Method series users get access to new material profiles, and the base Method model now has a printer profile, meaning the whole Method series is now supported in Cura!
        • 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
          • Thanks
          • Like
        • 3 replies
    ×
    ×
    • Create New...