supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.13k stars 520 forks source link

Ubuntu ARM64 Build failing #2268

Open tobyworks opened 2 years ago

tobyworks commented 2 years ago

Would be nice to have support for building SuperSlicer under a Ubuntu ARM 64 architecture. So we can do some server-side slicing it is supported in PrusaSlicer i believe.

supermerill commented 2 years ago

I should have a raspi3 laying somewhere.... But it's really not my priority right now. If someone can debug the way to build it on the platform, I can merge the changes.

also, did you checked #486?

aegean-odyssey commented 2 years ago

I've successfully built SuperSlicer as a Debian (.deb) Bullseye package for both arm64 and amd64. You can find the repository, here. I tried to follow Debian's packaging guidelines so that maybe someday SuperSlicer can be picked up in an official way by Debian maintainers. The provided GitHub workflow should generate both the amd64 and arm64 packages, but GitHub's arm64 runner is too slow to complete the build within GitHub's 6-hour time limit.

Perhaps there is something here that can help you with your Ubuntu build.

troypiggo commented 2 years ago

G'day AO - awesome work on the deb arm64 build thankyou. I'm having a little trouble installing it. I'm running Ubuntu 20.04 LTS on RPi4 arm64, and some of the depends can't be met:

The following packages have unmet dependencies:
 superslicer : Depends: libboost-chrono1.74.0 (>= 1.74.0) but it is not installable
               Depends: libboost-filesystem1.74.0 (>= 1.74.0) but it is not installable
               Depends: libboost-locale1.74.0 (>= 1.74.0) but it is not installable
               Depends: libboost-log1.74.0 (>= 1.74.0) but it is not installable
               Depends: libboost-regex1.74.0-icu67 but it is not installable
               Depends: libboost-thread1.74.0 (>= 1.74.0) but it is not installable
               Depends: libilmbase25 (>= 2.5.4) but it is not installable
               Depends: libopenvdb7.1 but it is not installable
               Depends: libtbb2 (>= 2020.3) but it is not going to be installed
               Depends: libwxbase3.0-0v5 (>= 3.0.5.1+dfsg) but it is not going to be installed
               Depends: libwxgtk3.0-gtk3-0v5 (>= 3.0.5.1+dfsg) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

20.04 seems to only have libboost-chrono1.71.0 and so on. Any tips or pointers in the right direction? Happy to (try to) build my own if you could briefly give an overview.

aegean-odyssey commented 2 years ago

Yes, differences in the shared libraries between Debian and Ubuntu. Building the package specifically for focal (20.4) is probably your best bet. I'm not familiar with building packages for ubuntu focal directly on the RPi4, but I think the same build process should work:

sudo apt-get update -q --yes
sudo apt-get install --no-install-recommends --yes build-essential git-buildpackage equivs

git clone https://github.com/aegean-odyssey/superslicer.git
cd superslicer

sudo mk-build-deps -i -t 'apt-get --no-install-recommends --yes'
sudo rm -f superslicer-build-deps_*
gbp buildpackage -uc -us -J2 -j2 --git-submodules --git-upstream-tree=SLOPPY