macOS: BambuStudio unter macOS Sequoia kompilieren
Dec 2024 macOS
Bambu Studio läßt sich nicht unter macOS Sequoia kompilieren. Das hat mehrere Gründe:
Die Installation von Homebrew läßt sich auf macOS mit Hilfe eines fertigen Pakets in wenigen Schritten durchführen:
Die Warnungen wegen der Version 15 von Xcode können ignoriert werden.
Wer keine Analysedaten an Homebrew senden möchte, schaltet dieses so aus:
Im folgenden Beispiel liegt die heruntergeladene Datei
Im Terminal:
Dann wird die notwendige Dateistruktur angelegt:
Die fertige Dateistruktur sieht so aus:
Bei mir traten dabei die folgenden Fehler auf:
Diese Fehler sind in Issue #4158 und Issue #4689 auf GitHub beschrieben. Man kann sie vermeiden, indem man die
Apple-Chip:
analog bei Intel-Prozessor:
Hinweis: Beim Befehl
Der
Wenn Fehler bei Klonen des Repositories auftreten, z. B.
hilft es, den oder die betreffenden Ordner zu löschen und neu zu starten:
Der zweite Befehl läuft wieder sehr lange.
Wenn man Änderungen am Programmcode macht und es neu kompilieren möchte, muß man nur den letzten Befehl wiederholen. Das geht dann deutlich schneller, da nur die Änderungen neu kompiliert werden.
Es ist als interne Version gekennzeichnet:


Dies liegt an einem Link im Programmpaket, der auf das Verzeichnis

Nach dem Kopieren auf eine andere Partition (oder wenn das Programm von einer anderen Partition aus aufgerufen wird), zeigt dieser Link an den falschen Ort und muß um das Volume ergänzt werden. Im folgenden Beispiel wurde das Programm auf dem Volume
Der Link auf resources kann so neu gesetzt werden (Zeichenfolgen in eckigen Klammern anpassen):
Beispiel:
Viel Spaß beim Erstellen einer eigenen Version von BambuStudio!
Xcode 15.2
Homebrew 4.4.8
Bambu Studio 1.10.1
macOS Sequoia 15.1.1
MacBook Pro M1
- Eine zu neue SDK-Version in Xcode in der Version 16 unter macOS Sequoia, siehe Issue #3957 auf GitHub.
- Abbrüche beim Kompilieren von OCCT und OpenCV aufgrund eines fehlerhaften Parameters, siehe Issue #4158 und Issue #4689 auf GitHub.
1. Installation der benötigten Software
Xcode installieren
Für das Kompilieren von Bambu Studio wird Xcode benötigt. Mit Xcode in der Version 16, welches zu macOS Sequoia gehört, läßt sich Bambu Studio jedoch nicht kompilieren, man erhält eine Fehlermeldung. Mit Xcode 15.2 funktioniert es, diese Version ist allerdings für dieses Betriebssystem zu alt. Wie man mit einem Trick die benötigte Xcode-Version 15 auf macOS Sequoia installiert, steht im Beitrag Xcode 15 unter macOS Sequoia installieren.Homebrew installieren
Ob Homebrew schon installiert ist, kann man im Terminal mit dem Befehlbrew
feststellen:% brew
zsh: command not found: brew
Die Installation von Homebrew läßt sich auf macOS mit Hilfe eines fertigen Pakets in wenigen Schritten durchführen:
- Homebrew als Paket von GitHub herunterladen.
- Auf das Paket doppelklicken, die Installation wird ausgeführt.
- Auf Apple ARM-Rechnern muß jetzt noch der Pfad zu Homebrew gesetzt werden:
Im Terminal:
% echo "export PATH=/opt/homebrew/bin:$PATH" >> ~/.zshrc
% source ~/.zshrc
% brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!
Warning: Your Xcode (15.2) at /Applications/Xcode.app is too outdated.
Please update to Xcode 16.0 (or delete it).
Xcode can be updated from the App Store.
Die Warnungen wegen der Version 15 von Xcode können ignoriert werden.
Wer keine Analysedaten an Homebrew senden möchte, schaltet dieses so aus:
% brew analytics off
Weitere notwendige Software installieren
Die für das Kompilieren von Bambu Studio nötige Software wird mit Homebrew installiert:brew install cmake git gettext nasm yasm x264
2. Bambu Studio-Dateien herunterladen
Den aktuellen Bambu Studio-Quellcode kann man als zip-Datei von GitHub herunterladen:Im folgenden Beispiel liegt die heruntergeladene Datei
BambuStudio-master.zip
im Ordner Downloads
, und das Kompilieren von Bambu Studio findet im Ordner ~/Dokumente/dev
statt. Zuerst werden die Quelldateien dorthin kopiert.Im Terminal:
% cd ~/Documents; mkdir dev; cd dev
% unzip ~/Downloads/BambuStudio-master.zip -d .
% mv BambuStudio-master BambuStudio
Dann wird die notwendige Dateistruktur angelegt:
% mkdir BambuStudio_dep
% cd ~/Documents/dev/BambuStudio/deps
% mkdir build
% cd ~/Documents/dev/BambuStudio % mkdir install_dir % mkdir build
Die fertige Dateistruktur sieht so aus:
3. Bambu Studio kompilieren
Abhängigkeiten
Im ersten Schritt werden die Abhängigkeiten kompiliert. Dies ist nur einmal notwendig.Bei mir traten dabei die folgenden Fehler auf:
Fehler: deps/build/dep_OCCT-prefix/src/dep_OCCT/src/Font/Font_FTFont.cxx: No such file or directory
make[2]: *** [dep_OCCT-prefix/src/dep_OCCT-stamp/dep_OCCT-patch] Error 1
make[1]: *** [CMakeFiles/dep_OCCT.dir/all] Error 2
make: *** [all] Error 2
Fehler: deps/build/dep_OpenCV-prefix/src/dep_OpenCV/cmake/templates/OpenCVConfig.root-WIN32.cmake.in: No such file or directory
Prüfe Patch deps/build/dep_OpenCV-prefix/src/dep_OpenCV/cmake/OpenCVDetectCXXCompiler.cmake...
Fehler: deps/build/dep_OpenCV-prefix/src/dep_OpenCV/cmake/OpenCVDetectCXXCompiler.cmake: No such file or directory
make[2]: *** [dep_OpenCV-prefix/src/dep_OpenCV-stamp/dep_OpenCV-patch] Error 1
make[1]: *** [CMakeFiles/dep_OpenCV.dir/all] Error 2
make: *** [all] Error 2
Diese Fehler sind in Issue #4158 und Issue #4689 auf GitHub beschrieben. Man kann sie vermeiden, indem man die
––directory-Flagge
aus den folgenden Dateien entfernt:% vi ~/Documents/dev/BambuStudio/deps/OCCT/OCCT.cmake
vorher:PATCH_COMMAND ${GIT_EXECUTABLE} apply ---directory deps/build/dep_OCCT-prefix/src/dep_OCCT- --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
hinterher:PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
% vi ~/Documents/dev/BambuStudio/deps/OpenCV/OpenCV.cmake
vorher:PATCH_COMMAND ${GIT_EXECUTABLE} apply --directory deps/build/dep_OpenCV-prefix/src/dep_OpenCV --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch
hinterher:PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch
Apple-Chip:
% cd ~/Documents/dev/BambuStudio/deps/build
% cmake ../ -DDESTDIR="~/Documents/dev/BambuStudio_dep" -DOPENSSL_ARCH="darwin64-arm64-cc"
…
-- Configuring done (3.2s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/katrin/Documents/dev/BambuStudio/deps/build
% make -j2
…
[100%] Completed 'dep_wxWidgets'
[100%] Built target dep_wxWidgets
[100%] Built target deps
analog bei Intel-Prozessor:
% cd ~/Documents/dev/BambuStudio/deps/build
% cmake ../ -DDESTDIR="~/Documents/dev/BambuStudio_dep" -DOPENSSL_ARCH="darwin64-x86_64-cc"
% make -j2
Hinweis: Beim Befehl
make -jN
kann man für N eine Zahl zwischen 1 und der max. Anzahl CPUs wählen.Der
make
-Befehl läuft sehr lange, aber es wird viel Information ausgegeben, so daß es beim Zusehen nicht langweilig wird.Wenn Fehler bei Klonen des Repositories auftreten, z. B.
Fehler unable to clone wxWidgets:
[ 84%] Performing download step (git clone) for 'dep_wxWidgets'
Klone nach 'dep_wxWidgets'...
Fehler: RPC fehlgeschlagen; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
Fehler: 20293 Bytes des Bodys werden noch erwartet
fetch-pack: unexpected disconnect while reading sideband packet
Schwerwiegend: zu frühes Dateiende
Schwerwiegend: fetch-pack: ungültige index-pack Ausgabe
Klone nach 'dep_wxWidgets'…
hilft es, den oder die betreffenden Ordner zu löschen und neu zu starten:
% rm -r ~/Documents/dev/BambuStudio/deps/build/wxWidgets ~/Documents/dev/BambuStudio/deps/build/dep_wxWidgets-prefix/
% make -j2
Bambu Studio kompilieren
Jetzt ist alles vorbereitet, um Bambu Studio zu kompilieren. Wenn man etwas am Quellcode verändert hat, kann man die entsprechende Datei nun in der Dateistruktur im OrdnerBambuStudio
ersetzen. Dann geht es los:% cd ~/Documents/dev/BambuStudio/build
% cmake .. -DBBL_RELEASE_TO_PUBLIC=1 -DCMAKE_PREFIX_PATH="~/Documents/dev/BambuStudio_dep/usr/local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MACOSX_RPATH=ON -DCMAKE_INSTALL_RPATH="~/Documents/dev/BambuStudio_dep/usr/local" -DCMAKE_MACOSX_BUNDLE=on
…
-- CMAKE_CURRENT_BINARY_DIR: /Users/katrin/Documents/dev/BambuStudio/build/src
-- Configuring done (2.2s)
-- Generating done (0.2s)
-- Build files have been written to: /Users/katrin/Documents/dev/BambuStudio/build
% cmake --build . --target install --config Release -j2
…
-- Installing: /Users/katrin/Documents/dev/BambuStudio/install_dir/include/mcut/mcut.h
-- Installing: /Users/katrin/Documents/dev/BambuStudio/install_dir/include/mcut/platform.h
-- Installing: /Users/katrin/Documents/dev/BambuStudio/install_dir/./LICENSE.txt
-- Installing: /Users/katrin/Documents/dev/BambuStudio/install_dir/./README.md
Der zweite Befehl läuft wieder sehr lange.
Wenn man Änderungen am Programmcode macht und es neu kompilieren möchte, muß man nur den letzten Befehl wiederholen. Das geht dann deutlich schneller, da nur die Änderungen neu kompiliert werden.
4. Bambu Studio nutzen
Das fertige Programm befindet sich im Verzeichnis~/Documents/dev/BambuStudio/build/src
:Es ist als interne Version gekennzeichnet:

Das kompilierte Programm auf einer anderen Partition nutzen
Wenn man das Programm auf eine andere macOS-Partition kopiert, ist das Programmsymbol ausgegraut und Bambu Studio läßt sich nicht aufrufen.
Dies liegt an einem Link im Programmpaket, der auf das Verzeichnis
~/Documents/dev/BambuStudio/resources
zeigt. 
Nach dem Kopieren auf eine andere Partition (oder wenn das Programm von einer anderen Partition aus aufgerufen wird), zeigt dieser Link an den falschen Ort und muß um das Volume ergänzt werden. Im folgenden Beispiel wurde das Programm auf dem Volume
Macintosh HD Sequoia Entwicklung
kompiliert, in den Programmordner auf dem Volume Macintosh HD Sequoia
kopiert und in BambuStudio_int
umbenannt.Der Link auf resources kann so neu gesetzt werden (Zeichenfolgen in eckigen Klammern anpassen):
% rm <Pfad zu BambuStudio>/Contents/Resources
% ln -s <Pfad zur anderen Partition>/Users/<Benutzername>/Documents/dev/BambuStudio/resources Resources
Beispiel:
% cd /Applications/BambuStudio_int.app/Contents
% ls -al
lrwxr-xr-x 1 katrin admin 80 7 Dez 10:54 Resources -> /Users/katrin/Documents/dev/BambuStudio/resources
% rm Resources
% ln -s /Volumes/Macintosh\ HD\ Sequoia\ Entwicklung/Users/katrin/Documents/dev/BambuStudio/resources Resources
% ls -al
lrwxr-xr-x 1 katrin admin 90 9 Dez 06:57 Resources -> /Volumes/Macintosh HD Sequoia Entwicklung/Users/katrin/Documents/dev/BambuStudio/resources
Viel Spaß beim Erstellen einer eigenen Version von BambuStudio!
Xcode 15.2
Homebrew 4.4.8
Bambu Studio 1.10.1
macOS Sequoia 15.1.1
MacBook Pro M1