Skip to content

Instantly share code, notes, and snippets.

@nickoala
Last active January 27, 2022 05:14
Show Gist options
  • Save nickoala/df44c0eaf6cadc6934b0581f73ead250 to your computer and use it in GitHub Desktop.
Save nickoala/df44c0eaf6cadc6934b0581f73ead250 to your computer and use it in GitHub Desktop.
Build CuraEngine on Raspbian or Ubuntu

Build CuraEngine on Raspbian or Ubuntu

CuraEngine requires libArcus which requires protobuf. Let's build them in turn.

Make sure python3 is Python 3.4 or higher.

Install utilities used by the build process:

sudo apt-get install dh-autoreconf cmake git

Additionally, protobuf requires python3-setuptools and libArcus requires python3-sip-dev. Install them:

sudo apt-get install python3-setuptools python3-sip-dev

I download everything to home directory and start from there. You may adapt to your preferred location.

protobuf

Download protobuf's latest release. Choose the one with Python. The filename should be like protobuf-python-N.N.N.tar.gz, where N.N.N is the version number.

I use 3.1.0 as an example. You should use the latest version.

cd ~
wget https://github.com/google/protobuf/releases/download/v3.1.0/protobuf-python-3.1.0.tar.gz
tar zxf protobuf-python-3.1.0.tar.gz

Build and install for C++:

cd protobuf-3.1.0
./autogen.sh
./configure
make
sudo make install

Build and install for Python:

cd python
python3 setup.py build
sudo python3 setup.py install

Make sure shared libraries can be found:

sudo ldconfig

libArcus

Clone repository:

cd ~
git clone https://github.com/Ultimaker/libArcus.git

Build and install:

cd libArcus
mkdir build
cd build
cmake ..
make
sudo make install

Make sure shared libraries can be found:

sudo ldconfig

CuraEngine, finally

Clone repository:

cd ~
git clone https://github.com/Ultimaker/CuraEngine.git

Build:

cd CuraEngine
mkdir build
cd build
cmake ..
make

There should be an executable CuraEngine in the directory. After downloading a definition file, try it:

./CuraEngine slice -v -p -j fdmprinter.def.json -o example.gcode -l example.stl --next
@kino90
Copy link

kino90 commented Jul 5, 2018

Thanks a lot for this step by step guide 👍 Installed it on a Orange Pi Lite and sliced a tiny Cali Cat 😃 Working as expected!

@BenRoe
Copy link

BenRoe commented Jul 29, 2018

Thank you for the guide. I added some steps to make the CuraEngine global executable and copy the default settings json files.
https://gist.github.com/BenRoe/f166e8b65fe62edda4427fd419059695

@simar1998
Copy link

simar1998 commented Jun 18, 2019

Hi, when I slice a file the file does not seem to centre itself on the bed. Even though I have changed the fdmprinter.def.json file to include the command line option and enabled the centre boolean value. This is the command I am using . /CuraEngine slice -v -p -j /opt/curaengine/ender3.def.json -o /home/simar/cube.gcode -l /opt/stl_upload/cube.stl --next .
Any insight will be helpfull. I have also attached my def.json file.

def file pastebin link

Sorry for the pastebin, github was not letting my upload my file directly onto this post even though i modified it to be a text file.

@nickoala
Copy link
Author

I was building CuraEngine for a friend, and never used it myself. Sorry, can't help there. 😄

@jorythompson
Copy link

@mattwn
Copy link

mattwn commented Jan 27, 2022

Do not install the latest protobuf,, use 3.15. See Ultimaker/libArcus#121

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment