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

  • Our picks

    • How to 3D print with reinforced engineering materials
      Ultimaker is hosting a webinar where we explain how you can achieve and maintain a high print success rate using these new reinforced engineering materials. Learn from Ultimaker's Product Manager of Materials and top chemical engineer Bart van As how you can take your 3D printing to that next level.
      • 0 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 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!