Jump to content
Ultimaker Community of 3D Printing Experts
arnaudcosson

Stuck up in creating a Docker image for CuraEngine

Recommended Posts

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

 

Share this post


Link to post
Share on other sites

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

Share this post


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

Announcements

  • Our picks

    • Architect Design Contest | Vehicles.
      We're open for entries! - Design and submit your 3D designs of architectural entourage - vehicles - for a chance to win a large filament pack. Presenting an idea, an architectural design or something as big as an urban project isn't easy. A scaled model can really help to get your idea across.
        • Like
      • 15 replies
    • What The DfAM?
      I'm Steve Cox, an experienced engineer familiar with 3D printing. I wanted to share some DfAM guidelines with this community to help and make stronger parts.
      I'm also an Autodesk Certified Instructor for Fusion 360, so many of the images in ...
        • Thanks
        • Like
      • 18 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!