From 73142a130e9e1ad9ed53b1b999b1df6517729220 Mon Sep 17 00:00:00 2001 From: supermerill Date: Sun, 15 Nov 2020 17:01:59 +0100 Subject: [PATCH] update linux doc for raspberry pi --- doc/How to build - Linux et al.md | 59 ++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 13 deletions(-) diff --git a/doc/How to build - Linux et al.md b/doc/How to build - Linux et al.md index 1db7e2f59..d30001163 100644 --- a/doc/How to build - Linux et al.md +++ b/doc/How to build - Linux et al.md @@ -17,7 +17,7 @@ where `N` is the number of CPU cores available. Additional CMake flags may be applicable as explained below. -### How to build +## How to build, the easy way You can follow the [script](https://github.com/supermerill/SuperSlicer/blob/master/.github/workflows/ccpp_ubuntu.yml) the build server use to create the ubuntu release. @@ -25,7 +25,7 @@ You have to execute each command at the right of the 'run: ' tags, in the direct You can stop after the `make slic3r` as the rest of the commands are for building the launch script and the appimage. -# Old doc, not up-to-date: +## How to build, other ways ### Dependency resolution @@ -58,17 +58,7 @@ This is because wxWidgets hardcode the installation path. ### wxWidgets version -By default, SuperSlicer looks for wxWidgets 3.1, this is because the 3.1 version has -a number of bugfixes and improvements not found in 3.0. However, it can also be built with wxWidgets 3.0. -This is done by passing this option to CMake: - - -DSLIC3R_WX_STABLE=1 - -Note that SuperSlicer is tested with wxWidgets 3.0 somewhat sporadically and so there may be bugs in bleeding edge releases. - -When building on ubuntu 20.04 focal fossa, the package libwxgtk3.0-gtk3-dev needs to be installed instead of libwxgtk3.0-dev and you should use: - - -DSLIC3R_WX_STABLE=1 -DSLIC3R_GTK=3 +SuperSlicer need at least wxWidgets 3.1 ### Build variant @@ -97,3 +87,46 @@ If you instead want SuperSlicer installed in a structure according to the File S This will make SuperSlicer look for a fixed-location `share/slic3r-prusa3d` directory instead (note that the location becomes hardcoded). You can then use the `make install` target to install SuperSlicer. + + +## Raspberry pi + +Some hints to be able to build on raspberry pi: + +I think that the most important thing is preparing Raspberry Pi. I'm using overclocked to 2GHz RPi 4B 2GB with active cooling(it starts when the temperature is too high). 2GB of RAM is not enough and I turned swap on(+2GB), but i use SSD instead of memory card so it's not that bad. Swap is only needed during compilation, built-in memory is enough to run the GUI. + +first, you have to install all the dependencies (you can also try to build them from the deps directory): +`sudo apt-get install -y git cmake libboost-dev libboost-regex-dev libboost-filesystem-dev libboost-thread-dev libboost-log-dev libboost-locale-dev libcurl4-openssl-dev libwxgtk3.0-dev build-essential pkg-config libtbb-dev zlib1g-dev libcereal-dev libeigen3-dev libnlopt-cxx-dev libudev-dev libopenvdb-dev libboost-iostreams-dev libnlopt-dev libdbus-1-dev` + +Running cmake will give information about the remaining missing dependencies. (to be run in a newly created build directory) +`cmake .. -DCMAKE_BUILD_TYPE=Release -DSLIC3R_BUILD_TESTS=OFF -DSLIC3R_GTK = 2` +Note that you can also use different parameters, like +`cmake .. -DSLIC3R_STATIC=0 -DCMAKE_BUILD_TYPE=Debug -DSLIC3R_FHS=1 -DSLIC3R_GTK=2 -DSLIC3R_PCH=0 -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib` + +Then, when cmake end without errors, you can compile with the make command. + +I think it is a good idea to run this command in screen, because it takes a long time to complete and the connection may time out. screen will remain running in the background. + +Example: +``` +screen -S superclicer +#new terminal will open + make -j4 + ``` + +and after disconnect: +`screen -x` + +Finally, it remains to run `sudo make install` + +May also be useful to run +`sudo systemctl set-environment LC_ALL=en_US.UTF-8` + +I'm sure there is some steps missing, please open an issue to let us know or open a pull request by editing this document. + + + + + + +