Skip to content

Instantly share code, notes, and snippets.

@nickoala
Last active January 27, 2022 05:14
Show Gist options
  • Star 9 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • 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
@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