You are not logged in.
After a recent updated, cura-lulzbot does not to launch on ArchLinux with GNOME.I am using my PKGBUILD https://aur.archlinux.org/packages/cura-lulzbot/.
➤ cura-lulzbot 1 ↵
[(139860966973632)-MainThread] cura.CuraApplication.__init__ [220]: QtApplication Install Prefix : "/usr/share"
This application failed to start because it could not find or load the Qt platform plugin "wayland"
in "".
Available platform plugins are: linuxfb, minimal, offscreen, vnc, xcb.
Reinstalling the application may fix this problem.
Fatal Python error: Aborted
Current thread 0x00007f33eb4120c0 (most recent call first):
File "/home/buildbot/slave/CuraLEDevel-debian-stretch-64/build/build/inst/lib/python3/dist-packages/UM/Qt/QtApplication.py", line 78 in __init__
File "/home/buildbot/slave/CuraLEDevel-debian-stretch-64/build/build/inst/lib/python3/dist-packages/cura/CuraApplication.py", line 248 in __init__
File "/home/buildbot/slave/CuraLEDevel-debian-stretch-64/build/build/inst/lib/python3/dist-packages/UM/Application.py", line 347 in getInstance
File "/home/buildbot/slave/CuraLEDevel-debian-stretch-64/build/build/inst/bin/cura-lulzbot", line 98 in <module>
File "/home/buildbot/slave/CuraLEDevel-debian-stretch-64/build/build/inst/lib/python3.5/site-packages/cx_Freeze-6.0b1-py3.5-linux-x86_64.egg/cx_Freeze/initscripts/Console.py", line 26 in run
File "/home/buildbot/slave/CuraLEDevel-debian-stretch-64/build/build/inst/lib/python3.5/site-packages/cx_Freeze-6.0b1-py3.5-linux-x86_64.egg/cx_Freeze/initscripts/__startup__.py", line 14 in run
/usr/bin/cura-lulzbot: line 2: 6731 Aborted (core dumped) LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/6.5.0:/usr/share/cura-lulzbot:/usr/share/cura-lulzbot/lib QT_PLUGIN_PATH=/usr/share/cura-lulzbot/qt/plugins QML2_IMPORT_PATH=/usr/share/cura-lulzbot/qml:/usr/share/cura-lulzbot/qt/qml /usr/share/cura-lulzbot/cura-lulzbot "$@"
If I set QT_QPA_PLATFORM to "minimal", "offscreen", or blank, I get libGL errors
➤ QT_QPA_PLATFORM='' cura-lulzbot 130 ↵
[(140667195523264)-MainThread] cura.CuraApplication.__init__ [220]: QtApplication Install Prefix : "/usr/share"
[(140667195523264)-MainThread] UM.Application.__init__ [94]: InstallPrefix: /usr/share, ApplicationName: cura-lulzbot
[(140667195523264)-MainThread] UM.Resources.__initializeStoragePaths [348]: Initializing storage paths
[(140667195523264)-MainThread] UM.Resources.__initializeStoragePaths [356]: ...StorageRootPath is /home/hs/.config
[(140667195523264)-MainThread] UM.Resources.__initializeStoragePaths [357]: ...StorageDirName is cura-lulzbot/3.6
[(140667195523264)-MainThread] UM.Resources.__initializeStoragePaths [361]: Config storage path is /home/hs/.config/cura-lulzbot/3.6
[(140667195523264)-MainThread] UM.Resources.__initializeStoragePaths [369]: Data storage path is /home/hs/.local/share/cura-lulzbot/3.6
[(140667195523264)-MainThread] UM.Resources.__initializeStoragePaths [381]: Cache storage path is /home/hs/.cache/cura-lulzbot/3.6
[(140667195523264)-MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [103]: Trying OpenGL context 4.1...
libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib/dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open radeonsi (search paths /usr/lib/dri)
libGL error: failed to load driver: radeonsi
libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib/dri)
libGL error: failed to load driver: swrast
[(140667195523264)-MainThread] UM.View.GL.OpenGLContext.setContext [33]: Failed creating OpenGL context (4, 1, core=True)
[(140667195523264)-MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [116]: Failed to create OpenGL context 4.1.
[(140667195523264)-MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [119]: Trying OpenGL context 2.0...
[(140667195523264)-MainThread] UM.View.GL.OpenGLContext.setContext [33]: Failed creating OpenGL context (2, 0, core=False)
[(140667195523264)-MainThread] UM.View.GL.OpenGLContext.detectBestOpenGLVersion [136]: Failed to create OpenGL context 2.0.
[(140667195523264)-MainThread] UM.Qt.QtApplication.__init__ [85]: Startup failed because OpenGL version probing has failed: tried to create a 2.0 and 4.1 context. Exiting
Here's some system info.
**Motherboard**
Gigabyte Technology Co., Ltd.
X470 AORUS ULTRA GAMING-CF
BIOS Version: F30
**CPU Hardware**
x86_64
AMD Ryzen 7 2700X Eight-Core Processor
**GPU Hardware**
OpenGL renderer string: Radeon RX Vega (VEGA10, DRM 3.32.0, 5.2.2-arch1-1-ARCH, LLVM 8.0.1)
0b:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] [1002:687f] (rev c1)
**Software**
Arch Linux - rolling (n/a) x86_64
Linux kernel 5.2.2-arch1-1-ARCH
OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.1.3
Also opened:
- https://forum.lulzbot.com/viewtopic.php … 498#p47498
- https://code.alephobjects.com/T9123
Last edited by HarlemSquirrel (2019-07-26 03:37:15)
"Melody reigns supreme!"
-J. J. Johnson
Offline
Moving to AUR Issues....
Offline
I'm not sure which package caused the issue. Here's some of my recent updates from my pacman.og
[2019-07-21 13:49] [ALPM] upgraded qt5-webengine (5.13.0-2 -> 5.13.0-3)
# ...
[2019-07-21 22:23] [ALPM] upgraded python-pytoml (0.1.20-1 -> 0.1.21-1)
# ...
[2019-07-22 23:22] [ALPM] upgraded systemd-libs (242.32-3 -> 242.84-1)
[2019-07-22 23:22] [ALPM] upgraded systemd (242.32-3 -> 242.84-1)
[2019-07-22 23:22] [ALPM] upgraded linux-firmware (20190712.d52556e-1 -> 20190717.bf13a71-1)
[2019-07-22 23:22] [ALPM] upgraded linux (5.2.1.arch1-1 -> 5.2.2.arch1-1)
[2019-07-22 23:22] [ALPM] upgraded linux-headers (5.2.1.arch1-1 -> 5.2.2.arch1-1)
# ...
[2019-07-23 14:45] [ALPM] upgraded llvm-libs (8.0.0-2 -> 8.0.1-1)
[2019-07-23 14:45] [ALPM] upgraded compiler-rt (8.0.0-1 -> 8.0.1-1)
[2019-07-23 14:45] [ALPM] upgraded clang (8.0.0-4 -> 8.0.1-1)
[2019-07-23 14:45] [ALPM] upgraded lib32-glibc (2.29-3 -> 2.29-4)
[2019-07-23 14:45] [ALPM] upgraded lib32-llvm-libs (8.0.0-1 -> 8.0.1-1)
[2019-07-23 14:45] [ALPM] upgraded mesa (19.1.2-1 -> 19.1.3-1)
[2019-07-23 14:45] [ALPM] upgraded lib32-mesa (19.1.2-1 -> 19.1.3-1)
[2019-07-23 14:45] [ALPM] upgraded lib32-mesa-vdpau (19.1.2-1 -> 19.1.3-1)
[2019-07-23 14:45] [ALPM] upgraded lib32-vulkan-radeon (19.1.2-1 -> 19.1.3-1)
[2019-07-23 14:45] [ALPM] upgraded libtool (2.4.6+42+gb88cebd5-4 -> 2.4.6+42+gb88cebd5-5)
[2019-07-23 14:45] [ALPM] upgraded lmdb (0.9.23-1 -> 0.9.24-1)
[2019-07-23 14:45] [ALPM] upgraded mesa-vdpau (19.1.2-1 -> 19.1.3-1)
[2019-07-23 14:45] [ALPM] upgraded pkgconf (1.6.1-1 -> 1.6.3-1)
[2019-07-23 14:45] [ALPM] upgraded python-shiboken2 (5.13.0-3 -> 5.13.0-4)
[2019-07-23 14:45] [ALPM] upgraded zstd (1.4.0-1 -> 1.4.1-1)
[2019-07-23 14:45] [ALPM] upgraded qt5-imageformats (5.13.0-1 -> 5.13.0-2)
[2019-07-23 14:45] [ALPM] upgraded qt5-tools (5.13.0-1 -> 5.13.0-2)
[2019-07-23 14:45] [ALPM] upgraded vulkan-radeon (19.1.2-1 -> 19.1.3-1)
"Melody reigns supreme!"
-J. J. Johnson
Offline
Pacman isn't responsible for rebuilding AUR packages against new libs from the official repos, you are. Have you done that?
Offline
I am trying to build a new version since Cura Lulzbot edition is now at 3.6.15 but I get the same error. It's extracting from a Debian .deb package because I was never able to get it to build from source. That has been working well for months.
https://forum.lulzbot.com/viewtopic.php … nux#p37887
Last edited by HarlemSquirrel (2019-07-26 03:52:03)
"Melody reigns supreme!"
-J. J. Johnson
Offline
If it's open source, post the errors from building, we can help with that. But you'll not likely ever get the debian version to work reliably.
Also, at the *very very* least, properly list the dependencies in your AUR package. The libs in your current AUR package link against system libs in the following packages which should all be dependencies (or in the dependency tree at least):
bzip2
dbus
double-conversion
expat
fontconfig
freetype2
gcc-libs
glib2
glibc
graphite
harfbuzz
icu
libgcrypt
libglvnd
libgpg-error
libice
libpng
libsm
libutil-linux
libx11
libxau
libxcb
libxdmcp
libxext
libxi
lz4
openssl
pcre
pcre2
qt5-base
qt5-declarative
systemd-libs
xz
zlib
zstd
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
Ah OK thank you! How did you get that list? Sorry, I'm an AUR noob.
"Melody reigns supreme!"
-J. J. Johnson
Offline
First try got quite a ways but failed to make. Looks like it's related to qt.
make[4]: *** [Makefile:49: sub-src-make_first] Error 2
make[3]: *** [Makefile:54: module-qtbase-make_first] Error 2
make[2]: *** [CMakeFiles/Qt.dir/build.make:115: Qt-prefix/src/Qt-stamp/Qt-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:588: CMakeFiles/Qt.dir/all] Error 2
make: *** [Makefile:106: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Here's the PKGBUILD I'm working with: https://gitlab.com/snippets/1879192
I was using this as a reference: https://aur.archlinux.org/cgit/aur.git/ … h=cura-git
Last edited by HarlemSquirrel (2019-07-26 04:38:19)
"Melody reigns supreme!"
-J. J. Johnson
Offline
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot-git
pkgver=v3.6.15.1.g479f8fd
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=('git+https://code.alephobjects.com/source/curabuild-lulzbot.git')
md5sums=('SKIP')
depends=('gcc-fortran'
'libsavitar'
'python'
'python-numpy'
'python-pyqt5'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2')
makedepends=('git' 'cmake' 'sip' 'python-sip')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
pkgver() {
cd curabuild-lulzbot
git describe --tags | sed 's/-/./g'
}
build() {
mkdir -p curabuild-lulzbot/build
cd curabuild-lulzbot/build
cmake -DTAG_OR_BRANCH=master ../ \
-DBUILD_PYTHON=OFF \
-DBUILD_CYTHON=OFF \
-DBUILD_QT=OFF \
-DBUILD_SIP=OFF \
-DBUILD_PYQT=OFF \
-DBUILD_OPENBLAS=OFF \
-DBUILD_NUMPY=OFF \
-DBUILD_SCIPY=OFF \
-DBUILD_SCIPY_LITE=OFF \
-DBUILD_PYSERIAL=OFF \
-DBUILD_NUMPY_STL=OFF \
-DBUILD_ZEROCONF=OFF \
-DBUILD_TYPING=OFF \
-DBUILD_SAVITAR=OFF \
-DBUILD_APPDIRS=OFF \
-DBUILD_NETIFACES=OFF \
-DBUILD_PYTHONSIX=OFF \
-DBUILD_PYTHON_SETUPTOOLS=OFF \
-DBUILD_PYTHON_PACKAGING=OFF \
-DBUILD_PYPARSING=OFF \
-DBUILD_PYTHON_NOSE=OFF
make
}
package() {
cd "$srcdir/curabuild-lulzbot/build"
make DESTDIR="$pkgdir/" install
}
This fails building cura
Scanning dependencies of target _CuraEngine
[ 12%] Building CXX object CMakeFiles/_CuraEngine.dir/src/ExtruderTrain.cpp.o
[ 15%] Building CXX object CMakeFiles/_CuraEngine.dir/src/ConicalOverhang.cpp.o
[ 15%] Building CXX object CMakeFiles/_CuraEngine.dir/src/bridge.cpp.o
[ 15%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Application.cpp.o
[ 17%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffGcodeWriter.cpp.o
[ 18%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffPolygonGenerator.cpp.o
[ 19%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffProcessor.cpp.o
[ 20%] Building CXX object CMakeFiles/_CuraEngine.dir/src/gcodeExport.cpp.o
[ 21%] Building CXX object CMakeFiles/_CuraEngine.dir/src/GCodePathConfig.cpp.o
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/FffGcodeWriter.cpp: In member function ‘void cura::FffGcodeWriter::processStartingCode(const cura::SliceDataStorage&, size_t)’:
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/FffGcodeWriter.cpp:480:42: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<cura::ExtruderTrain>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
480 | for(int extruder_nr = 0; extruder_nr < extruders.size(); extruder_nr++)
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
[ 22%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill.cpp.o
[ 23%] Building CXX object CMakeFiles/_CuraEngine.dir/src/InsetOrderOptimizer.cpp.o
[ 24%] Building CXX object CMakeFiles/_CuraEngine.dir/src/layerPart.cpp.o
[ 25%] Building CXX object CMakeFiles/_CuraEngine.dir/src/LayerPlan.cpp.o
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/layerPart.cpp: In function ‘void cura::createLayerParts(cura::SliceMeshStorage&, cura::Slicer*)’:
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/layerPart.cpp:53:46: error: ‘total_layers’ not specified in enclosing ‘parallel’
53 | for (unsigned int layer_nr = 0; layer_nr < total_layers; layer_nr++)
| ~~~~~~~~~^~~~~~~~~~~~~~
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/layerPart.cpp:52:9: error: enclosing ‘parallel’
52 | #pragma omp parallel for default(none) shared(mesh, slicer) schedule(dynamic)
| ^~~
make[5]: *** [CMakeFiles/_CuraEngine.dir/build.make:214: CMakeFiles/_CuraEngine.dir/src/layerPart.cpp.o] Error 1
make[5]: *** Waiting for unfinished jobs....
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/LayerPlan.cpp: In member function ‘cura::GCodePath& cura::LayerPlan::addTravel(cura::Point, bool, bool)’:
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/LayerPlan.cpp:356:16: warning: unused variable ‘perform_z_hops’ [-Wunused-variable]
356 | const bool perform_z_hops = extruder->settings.get<bool>("retraction_hop_enabled") || force_z_hop;
| ^~~~~~~~~~~~~~
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/LayerPlan.cpp: In member function ‘void cura::LayerPlan::writeGCode(cura::GCodeExport&)’:
/build/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine/src/LayerPlan.cpp:1341:46: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<cura::ExtruderTrain>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
1341 | for(int extruder_nr = 0; extruder_nr < extruders.size(); extruder_nr++)
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
make[4]: *** [CMakeFiles/Makefile2:83: CMakeFiles/_CuraEngine.dir/all] Error 2
make[3]: *** [Makefile:152: all] Error 2
make[2]: *** [CMakeFiles/CuraEngine.dir/build.make:113: CuraEngine-prefix/src/CuraEngine-stamp/CuraEngine-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:571: CMakeFiles/CuraEngine.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Possibly https://bugs.archlinux.org/task/63227 ?
Edit:
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot-git
pkgver=v3.6.15.1.g479f8fd
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=('git+https://code.alephobjects.com/source/curabuild-lulzbot.git')
md5sums=('SKIP')
depends=('gcc-fortran'
'libsavitar'
'python'
'python-numpy'
'python-pyqt5'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2')
makedepends=('git' 'cmake' 'sip' 'python-sip' 'python-cx_freeze')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
pkgver() {
cd curabuild-lulzbot
git describe --tags | sed 's/-/./g'
}
build() {
mkdir -p curabuild-lulzbot/build
cd curabuild-lulzbot/build
sed -i 's/DCURA_ENGINE_VERSION=${CURA_VERSION}/DCURA_ENGINE_VERSION=${CURA_VERSION} -DENABLE_OPENMP=OFF/' ../CMakeLists.txt
cmake -DTAG_OR_BRANCH=master ../ \
-DBUILD_PYTHON=OFF \
-DBUILD_CYTHON=OFF \
-DBUILD_QT=OFF \
-DBUILD_SIP=OFF \
-DBUILD_PYQT=OFF \
-DBUILD_OPENBLAS=OFF \
-DBUILD_NUMPY=OFF \
-DBUILD_SCIPY=OFF \
-DBUILD_SCIPY_LITE=OFF \
-DBUILD_PYSERIAL=OFF \
-DBUILD_NUMPY_STL=OFF \
-DBUILD_ZEROCONF=OFF \
-DBUILD_TYPING=OFF \
-DBUILD_SAVITAR=OFF \
-DBUILD_APPDIRS=OFF \
-DBUILD_NETIFACES=OFF \
-DBUILD_PYTHONSIX=OFF \
-DBUILD_PYTHON_SETUPTOOLS=OFF \
-DBUILD_PYTHON_PACKAGING=OFF \
-DBUILD_PYPARSING=OFF \
-DBUILD_PYTHON_NOSE=OFF
make
}
package() {
cd "$srcdir/curabuild-lulzbot/build"
make DESTDIR="$pkgdir/" install
}
Now failing with
Scanning dependencies of target build_app
---> Cleaning old cx_Freeze directory : /build/cura-lulzbot-git/src/curabuild-lulzbot/build/dist
---> Running cx_Freeze :/usr/bin/python3;setup_linux.py;build;--build-exe=/build/cura-lulzbot-git/src/curabuild-lulzbot/build/dist/usr/share/cura-lulzbot
running build
running build_exe
Traceback (most recent call last):
File "setup_linux.py", line 133, in <module>
executables = executables
File "/usr/lib/python3.7/site-packages/cx_Freeze/dist.py", line 349, in setup
distutils.core.setup(**attrs)
File "/usr/lib/python3.7/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib/python3.7/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/lib/python3.7/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib/python3.7/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3.7/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/usr/lib/python3.7/site-packages/cx_Freeze/dist.py", line 218, in run
zipExcludePackages = self.zip_exclude_packages)
File "/usr/lib/python3.7/site-packages/cx_Freeze/freezer.py", line 150, in __init__
self._VerifyConfiguration()
File "/usr/lib/python3.7/site-packages/cx_Freeze/freezer.py", line 470, in _VerifyConfiguration
sourceFileName)
cx_Freeze.freezer.ConfigError: cannot find file/directory named /build/cura-lulzbot-git/src/curabuild-lulzbot/build/inst/lib/plugins
make[2]: *** [CMakeFiles/build_app.dir/build.make:60: build_app] Error 1
make[1]: *** [CMakeFiles/Makefile2:653: CMakeFiles/build_app.dir/all] Error 2
make: *** [Makefile:106: all] Error 2
Last edited by loqs (2019-07-26 12:01:44)
Offline
I feel like we're making progress.
PKGBUILD
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot-git
pkgver=v3.6.15.2.g30d774e
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=('git+https://code.alephobjects.com/source/curabuild-lulzbot.git')
md5sums=('SKIP')
depends=('cython'
'gcc-fortran'
'libsavitar'
'openblas'
'python'
'python-nose'
'python-numpy'
'python-opengl'
'python-parso'
'python-pyqt5'
'python-setuptools'
'python-typing_extensions'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2')
makedepends=('git' 'cmake' 'sip' 'python-sip' 'python-cx_freeze')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
pkgver() {
cd curabuild-lulzbot
git describe --tags | sed 's/-/./g'
}
build() {
mkdir -p curabuild-lulzbot/build
cd curabuild-lulzbot/build
sed -i 's/DCURA_ENGINE_VERSION=${CURA_VERSION}/DCURA_ENGINE_VERSION=${CURA_VERSION} -DENABLE_OPENMP=OFF/' ../CMakeLists.txt
cmake -DTAG_OR_BRANCH=master ../ \
-DBUILD_PYTHON=OFF \
-DBUILD_CYTHON=OFF \
-DBUILD_QT=OFF \
-DBUILD_SIP=OFF \
-DBUILD_PYQT=OFF \
-DBUILD_OPENBLAS=OFF \
-DBUILD_NUMPY=OFF \
-DBUILD_SCIPY=OFF \
-DBUILD_SCIPY_LITE=OFF \
-DBUILD_PYSERIAL=OFF \
-DBUILD_NUMPY_STL=OFF \
-DBUILD_ZEROCONF=OFF \
-DBUILD_TYPING=OFF \
-DBUILD_SAVITAR=OFF \
-DBUILD_APPDIRS=OFF \
-DBUILD_NETIFACES=OFF \
-DBUILD_PYTHONSIX=OFF \
-DBUILD_PYTHON_SETUPTOOLS=OFF \
-DBUILD_PYTHON_PACKAGING=OFF \
-DBUILD_PYPARSING=OFF \
-DBUILD_PYTHON_NOSE=OFF
PYTHONPATH=`pwd`/inst/lib/python3/dist-packages make
}
package() {
cd "$srcdir/curabuild-lulzbot/build"
make DESTDIR="$pkgdir/" install
}
Fails with
# ...
/home/hs/builds/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine-build/Cura.pb.h: In member function ‘cura::proto::SettingList* cura::proto::Extruder::mutable_settings()’:
/home/hs/builds/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine-build/Cura.pb.h:2875:15: error: ‘CreateMaybeMessage’ was not declared in this scope
2875 | auto* p = CreateMaybeMessage<::cura::proto::SettingList>(GetArenaNoVirtual());
| ^~~~~~~~~~~~~~~~~~
/home/hs/builds/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine-build/Cura.pb.h:2875:60: error: expected primary-expression before ‘>’ token
2875 | auto* p = CreateMaybeMessage<::cura::proto::SettingList>(GetArenaNoVirtual());
| ^
/home/hs/builds/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine-build/Cura.pb.h: In member function ‘void cura::proto::Extruder::set_allocated_settings(cura::proto::SettingList*)’:
/home/hs/builds/cura-lulzbot-git/src/curabuild-lulzbot/build/CuraEngine-prefix/src/CuraEngine-build/Cura.pb.h:2889:48: error: ‘GetOwnedMessage’ is not a member of ‘google::protobuf::internal’
2889 | settings = ::google::protobuf::internal::GetOwnedMessage(
| ^~~~~~~~~~~~~~~
[ 34%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Preheat.cpp.o
[ 35%] Building CXX object CMakeFiles/_CuraEngine.dir/src/PrimeTower.cpp.o
make[5]: *** [CMakeFiles/_CuraEngine.dir/build.make:71: CMakeFiles/_CuraEngine.dir/src/Application.cpp.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[4]: *** [CMakeFiles/Makefile2:83: CMakeFiles/_CuraEngine.dir/all] Error 2
make[3]: *** [Makefile:152: all] Error 2
make[2]: *** [CMakeFiles/CuraEngine.dir/build.make:113: CuraEngine-prefix/src/CuraEngine-stamp/CuraEngine-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:571: CMakeFiles/CuraEngine.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In function ‘strncpy’,
inlined from ‘structseq_repr’ at Objects/structseq.c:187:5:
/usr/include/bits/string_fortified.h:106:10: warning: ‘__builtin___strncpy_chk’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
| ^
Objects/structseq.c: In function ‘structseq_repr’:
Objects/structseq.c:185:11: note: length computed here
# ...
[ 82%] Completed 'cxFreeze'
[ 82%] Built target cxFreeze
make: *** [Makefile:106: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
"Melody reigns supreme!"
-J. J. Johnson
Offline
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot-git
pkgver=v3.6.15.2.g30d774e
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=('git+https://code.alephobjects.com/source/curabuild-lulzbot.git')
md5sums=('SKIP')
depends=('cython'
'gcc-fortran'
'libsavitar'
'openblas'
'python'
'python-nose'
'python-numpy'
'python-opengl'
'python-parso'
'python-pyqt5'
'python-setuptools'
'python-typing_extensions'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2')
makedepends=('git' 'cmake' 'sip' 'python-sip' 'python-cx_freeze' 'python-netifaces' 'python-zeroconf' 'python-pyserial')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
pkgver() {
cd curabuild-lulzbot
git describe --tags | sed 's/-/./g'
}
build() {
mkdir -p curabuild-lulzbot/build
cd curabuild-lulzbot/build
sed -i 's/DCURA_ENGINE_VERSION=${CURA_VERSION}/DCURA_ENGINE_VERSION=${CURA_VERSION} -DENABLE_OPENMP=OFF/' ../CMakeLists.txt
sed -i '33,34d' ../setup_linux.py.in #remove missing paths from using system python
sed -i '57,58d' ../setup_linux.py.in #remove missing qt plugins when using system version
sed -i 's/get_commit_hash("Savitar", cmake_binary_dir)/"4.1.0"/' ../scripts/cura_version.py #fake hash when using system libsavitar
cmake -DTAG_OR_BRANCH=master ../ \
-DBUILD_PYTHON=OFF \
-DBUILD_CYTHON=OFF \
-DBUILD_QT=OFF \
-DBUILD_SIP=OFF \
-DBUILD_PYQT=OFF \
-DBUILD_OPENBLAS=OFF \
-DBUILD_NUMPY=OFF \
-DBUILD_SCIPY=OFF \
-DBUILD_SCIPY_LITE=OFF \
-DBUILD_PYSERIAL=OFF \
-DBUILD_NUMPY_STL=OFF \
-DBUILD_ZEROCONF=OFF \
-DBUILD_TYPING=OFF \
-DBUILD_SAVITAR=OFF \
-DBUILD_APPDIRS=OFF \
-DBUILD_NETIFACES=OFF \
-DBUILD_PYTHONSIX=OFF \
-DBUILD_PYTHON_SETUPTOOLS=OFF \
-DBUILD_PYTHON_PACKAGING=OFF \
-DBUILD_PYPARSING=OFF \
-DBUILD_PYTHON_NOSE=OFF
PYTHONPATH=`pwd`/inst/lib/python3/dist-packages/ make
}
package() {
cd "$srcdir/curabuild-lulzbot/build"
make DESTDIR="$pkgdir/" install
}
Built using extra-x86_64-build from devtools with the command
extra-x86_64-build -- -I /var/cache/pacman/pkg/openblas-0.3.6-1-x86_64.pkg.tar.xz -I ../python-numpy-stl/python-numpy-stl-2.9.0-1-any.pkg.tar.xz
reaches package() python-numpy-stl from AUR was built in ../python-numpy-stl and openblas is added into the build environment first to prevent pacman choosing blas as a numpy-stl dependency which would conflict with curabuild-lulzbot.
Offline
OK, I'm now trying a different approach which attempts to build only CuraLE itself and not use the build scripts.
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot-git
pkgver=v3.6.15.20.g3e5b20794
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=('git+https://code.alephobjects.com/source/cura-lulzbot.git')
md5sums=('SKIP')
depends=('cython'
'gcc-fortran'
'libsavitar'
'openblas'
'python'
'python-nose'
'python-numpy'
'python-opengl'
'python-parso'
'python-pyqt5'
'python-scipy'
'python-setuptools'
'python-typing_extensions'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2'
'uranium')
makedepends=('git' 'cmake' 'sip' 'python-sip' 'python-cx_freeze' 'python-netifaces' 'qt5-tools')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
srcname=cura-lulzbot
pkgver() {
cd $srcname
git describe --tags | sed 's/-/./g'
sed -i 's,/dist-packages,.${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
}
build() {
mkdir -p $srcname/build
cd $srcname/build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DURANIUM_SCRIPTS_DIR=/usr/share/uranium/scripts \
-DCURA_VERSION=$pkgver \
make
}
package() {
cd "$srcdir/$srcname/build"
make DESTDIR="$pkgdir/" install
}
This builds and installs but conflicts with cura-luzbot and cura packages. It also fails to launch with:
➤ cura-lulzbot
/usr/bin/cura-lulzbot:43: DeprecationWarning: dist() and linux_distribution() functions are deprecated in Python 3.5
linux_distro_name = platform.linux_distribution()[0].lower()
/usr/lib/python3.7/site-packages/UM/PluginRegistry.py:4: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
/usr/lib/python3.7/site-packages/UM/Settings/SettingDefinition.py:46: DeprecationWarning: invalid escape sequence \.
regex_pattern = '(?<!\.|\w|\d)0+(\d+)'
/usr/lib/python3.7/site-packages/cura/Settings/CuraContainerRegistry.py:77: DeprecationWarning: invalid escape sequence \s
num_check = re.compile("(.*?)\s*#\d+$").match(new_name)
[MainThread] cura.CrashHandler.__init__ [61]: An uncaught error has occurred!
[MainThread] cura.CrashHandler.__init__ [64]: Traceback (most recent call last):
[MainThread] cura.CrashHandler.__init__ [64]: File "/usr/bin/cura-lulzbot", line 95, in <module>
[MainThread] cura.CrashHandler.__init__ [64]: if not cura.CuraApplication.CuraApplication.preStartUp(parser = parser, parsed_command_line = known_args):
[MainThread] cura.CrashHandler.__init__ [64]: File "/usr/lib/python3.7/site-packages/cura/CuraApplication.py", line 748, in preStartUp
[MainThread] cura.CrashHandler.__init__ [64]: CuraApplication.addCommandLineOptions(parser, parsed_command_line = parsed_command_line)
[MainThread] cura.CrashHandler.__init__ [64]: File "/usr/lib/python3.7/site-packages/cura/CuraApplication.py", line 688, in addCommandLineOptions
[MainThread] cura.CrashHandler.__init__ [64]: super().addCommandLineOptions(parser, parsed_command_line = parsed_command_line)
[MainThread] cura.CrashHandler.__init__ [64]: TypeError: addCommandLineOptions() got an unexpected keyword argument 'parsed_command_line'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/bin/cura-lulzbot", line 76, in exceptHook
_crash_handler.show()
File "/usr/lib/python3.7/site-packages/cura/CrashHandler.py", line 285, in show
Application.getInstance().callLater(self._show)
AttributeError: 'NoneType' object has no attribute 'callLater'
Original exception was:
Traceback (most recent call last):
File "/usr/bin/cura-lulzbot", line 95, in <module>
if not cura.CuraApplication.CuraApplication.preStartUp(parser = parser, parsed_command_line = known_args):
File "/usr/lib/python3.7/site-packages/cura/CuraApplication.py", line 748, in preStartUp
CuraApplication.addCommandLineOptions(parser, parsed_command_line = parsed_command_line)
File "/usr/lib/python3.7/site-packages/cura/CuraApplication.py", line 688, in addCommandLineOptions
super().addCommandLineOptions(parser, parsed_command_line = parsed_command_line)
TypeError: addCommandLineOptions() got an unexpected keyword argument 'parsed_command_line'
"Melody reigns supreme!"
-J. J. Johnson
Offline
Offline
I think I need to build at least a couple of dependent packages like curaengine-lulzbot, so I am trying with this:
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=curaengine-lulzbot
pkgver=v3.6.15
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=('git+https://code.alephobjects.com/source/curaengine-lulzbot.git#tag=')
md5sums=('SKIP')
depends=('arcus'
'protobuf')
checkdepends=('cppunit')
makedepends=('git' 'cmake')
build() {
mkdir -p $pkgname/build && cd $pkgname/build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_TESTS=ON \
-DCMAKE_BUILD_TYPE=Release
make
}
check() {
cd CuraEngine-${pkgver}/build
make test
}
package() {
cd "$srcdir/$pkgname/build"
make DESTDIR="$pkgdir/" install
}
But it fails like this
➤ makepkg -si
==> Making package: curaengine-lulzbot v3.6.15-1 (Sat 27 Jul 2019 10:26:11 PM EDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for conflicting packages...
Packages (1) cppunit-1.14.0-2
Total Installed Size: 0.53 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [########################################################] 100%
(1/1) checking package integrity [########################################################] 100%
(1/1) loading package files [########################################################] 100%
(1/1) checking for file conflicts [########################################################] 100%
(1/1) checking available disk space [########################################################] 100%
:: Processing package changes...
(1/1) installing cppunit [########################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Retrieving sources...
-> Updating curaengine-lulzbot git repo...
Fetching origin
==> Validating source files with md5sums...
curaengine-lulzbot ... Skipped
==> Extracting sources...
-> Creating working copy of curaengine-lulzbot git repo...
Cloning into 'curaengine-lulzbot'...
done.
Switched to a new branch 'makepkg'
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-- The C compiler identification is GNU 9.1.0
-- The CXX compiler identification is GNU 9.1.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building with Arcus
CMake Warning (dev) at /usr/lib64/cmake/Arcus/ArcusConfig.cmake:40 (set):
implicitly converting '' to 'STRING' type.
Call Stack (most recent call first):
CMakeLists.txt:14 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found Protobuf: /usr/lib/libprotobuf.so;-lpthread (found suitable version "3.7.0", minimum required is "3.0.0")
-- Building Stb from source.
-- Created Stb installation at: /home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/build/stb-prefix/src
-- Compile with more optimization flags
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Building tests...
CMake Warning at CMakeLists.txt:266 (find_package):
By not providing "Findcppunit.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "cppunit", but
CMake did not find one.
Could not find a package configuration file provided by "cppunit" with any
of the following names:
cppunitConfig.cmake
cppunit-config.cmake
Add the installation prefix of "cppunit" to CMAKE_PREFIX_PATH or set
"cppunit_DIR" to a directory containing one of the above files. If
"cppunit" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/build
Scanning dependencies of target stb
Scanning dependencies of target clipper
[ 1%] Creating directories for 'stb'
[ 2%] Building CXX object CMakeFiles/clipper.dir/libs/clipper/clipper.cpp.o
[ 2%] Performing download step (git clone) for 'stb'
Cloning into 'stb'...
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/libs/clipper/clipper.cpp: In function ‘void ClipperLib::InitEdge(ClipperLib::TEdge*, ClipperLib::TEdge*, ClipperLib::TEdge*, const ClipperLib::IntPoint&)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/libs/clipper/clipper.cpp:721:34: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct ClipperLib::TEdge’; use assignment or value-initialization instead [-Wclass-memaccess]
721 | std::memset(e, 0, sizeof(TEdge));
| ^
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/libs/clipper/clipper.cpp:66:8: note: ‘struct ClipperLib::TEdge’ declared here
66 | struct TEdge {
| ^~~~~
Already on 'master'
Your branch is up to date with 'origin/master'.
[ 3%] Performing update step for 'stb'
[ 4%] No patch step for 'stb'
Current branch master is up to date.
[ 5%] No configure step for 'stb'
[ 6%] No build step for 'stb'
[ 7%] No install step for 'stb'
[ 8%] Completed 'stb'
[ 8%] Built target stb
[ 8%] Linking CXX static library libclipper.a
[ 8%] Built target clipper
[ 9%] Running cpp protocol buffer compiler on Cura.proto
Scanning dependencies of target _CuraEngine
[ 10%] Building CXX object CMakeFiles/_CuraEngine.dir/src/ExtruderTrain.cpp.o
[ 11%] Building CXX object CMakeFiles/_CuraEngine.dir/src/bridge.cpp.o
[ 12%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffPolygonGenerator.cpp.o
[ 13%] Building CXX object CMakeFiles/_CuraEngine.dir/src/ConicalOverhang.cpp.o
[ 14%] Building CXX object CMakeFiles/_CuraEngine.dir/src/gcodeExport.cpp.o
[ 15%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffProcessor.cpp.o
[ 16%] Building CXX object CMakeFiles/_CuraEngine.dir/src/InsetOrderOptimizer.cpp.o
[ 17%] Building CXX object CMakeFiles/_CuraEngine.dir/src/LayerPlanBuffer.cpp.o
[ 17%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Application.cpp.o
[ 18%] Building CXX object CMakeFiles/_CuraEngine.dir/src/layerPart.cpp.o
[ 18%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffGcodeWriter.cpp.o
[ 19%] Building CXX object CMakeFiles/_CuraEngine.dir/src/MergeInfillLines.cpp.o
[ 20%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill.cpp.o
[ 20%] Building CXX object CMakeFiles/_CuraEngine.dir/src/GCodePathConfig.cpp.o
[ 20%] Building CXX object CMakeFiles/_CuraEngine.dir/src/LayerPlan.cpp.o
[ 21%] Building CXX object CMakeFiles/_CuraEngine.dir/src/mesh.cpp.o
[ 21%] Building CXX object CMakeFiles/_CuraEngine.dir/src/MeshGroup.cpp.o
[ 22%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Mold.cpp.o
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/layerPart.cpp: In function ‘void cura::createLayerParts(cura::SliceMeshStorage&, cura::Slicer*)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/layerPart.cpp:53:46: error: ‘total_layers’ not specified in enclosing ‘parallel’
53 | for (unsigned int layer_nr = 0; layer_nr < total_layers; layer_nr++)
| ~~~~~~~~~^~~~~~~~~~~~~~
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/layerPart.cpp:52:9: error: enclosing ‘parallel’
52 | #pragma omp parallel for default(none) shared(mesh, slicer) schedule(dynamic)
| ^~~
make[2]: *** [CMakeFiles/_CuraEngine.dir/build.make:214: CMakeFiles/_CuraEngine.dir/src/layerPart.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/LayerPlan.cpp: In member function ‘cura::GCodePath& cura::LayerPlan::addTravel(cura::Point, bool, bool)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/LayerPlan.cpp:356:16: warning: unused variable ‘perform_z_hops’ [-Wunused-variable]
356 | const bool perform_z_hops = extruder->settings.get<bool>("retraction_hop_enabled") || force_z_hop;
| ^~~~~~~~~~~~~~
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/LayerPlan.cpp: In member function ‘void cura::LayerPlan::writeGCode(cura::GCodeExport&)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/LayerPlan.cpp:1341:46: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<cura::ExtruderTrain>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
1341 | for(int extruder_nr = 0; extruder_nr < extruders.size(); extruder_nr++)
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/FffGcodeWriter.cpp: In member function ‘void cura::FffGcodeWriter::processStartingCode(const cura::SliceDataStorage&, size_t)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/FffGcodeWriter.cpp:480:42: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<cura::ExtruderTrain>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
480 | for(int extruder_nr = 0; extruder_nr < extruders.size(); extruder_nr++)
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
make[1]: *** [CMakeFiles/Makefile2:302: CMakeFiles/_CuraEngine.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
"Melody reigns supreme!"
-J. J. Johnson
Offline
Ah, nice find. Looks like I need an older version of uranium.
This builds and installs
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=uranium-lulzbot
pkgver=v3.6.15
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=('git+https://code.alephobjects.com/diffusion/U/uranium.git#tag=')
md5sums=('SKIP')
depends=('arcus'
'python'
'python-numpy'
'qt5-quickcontrols'
'qt5-quickcontrols2')
makedepends=('git' 'cmake')
srcname=uranium
build() {
mkdir -p $srcname/build && cd $srcname/build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
}
package() {
cd "$srcdir/$srcname/build"
make DESTDIR="$pkgdir/" install
}
But then seems to conflict with cura-lulzbot-git
==> Installing package cura-lulzbot-git with pacman -U...
loading packages...
resolving dependencies...
looking for conflicting packages...
Packages (4) geos-3.7.2-1 python-shapely-1.6.4.post2-2 uranium-4.1.0-2 cura-lulzbot-git-v3.6.15.20.g3e5b20794-1
Total Installed Size: 89.57 MiB
:: Proceed with installation? [Y/n]
(4/4) checking keys in keyring [########################################################] 100%
(3/4) checking package integrity [########################################################] 100%
(3/4) loading package files [########################################################] 100%
(4/4) checking for file conflicts [########################################################] 100%
error: failed to commit transaction (conflicting files)
uranium: /usr/lib/uranium/plugins/ConsoleLogger/ConsoleLogger.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/ConsoleLogger/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/ConsoleLogger/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/OBJReader/OBJReader.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/OBJReader/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/OBJReader/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/OBJReader/tests/TestOBJReader.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/OBJReader/tests/sphere.obj exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/OBJWriter/OBJWriter.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/OBJWriter/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/OBJWriter/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLReader/STLReader.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLReader/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLReader/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLReader/tests/TestStlReader.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLReader/tests/simpleTestCubeASCII.stl exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLReader/tests/simpleTestCubeBinary.stl exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLWriter/STLWriter.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLWriter/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileHandlers/STLWriter/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileLogger/FileLogger.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileLogger/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/FileLogger/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/LocalContainerProvider/LocalContainerProvider.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/LocalContainerProvider/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/LocalContainerProvider/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/LocalFileOutputDevice/LocalFileOutputDevice.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/LocalFileOutputDevice/LocalFileOutputDevicePlugin.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/LocalFileOutputDevice/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/LocalFileOutputDevice/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/CameraTool/CameraTool.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/CameraTool/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/CameraTool/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/MirrorTool/MirrorTool.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/MirrorTool/MirrorToolHandle.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/MirrorTool/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/MirrorTool/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/RotateTool/RotateTool.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/RotateTool/RotateTool.qml exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/RotateTool/RotateToolHandle.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/RotateTool/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/RotateTool/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/ScaleTool/ScaleTool.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/ScaleTool/ScaleTool.qml exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/ScaleTool/ScaleToolHandle.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/ScaleTool/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/ScaleTool/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/SelectionTool/SelectionTool.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/SelectionTool/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/SelectionTool/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/TranslateTool/TranslateTool.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/TranslateTool/TranslateTool.qml exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/TranslateTool/TranslateToolHandle.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/TranslateTool/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Tools/TranslateTool/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Views/SimpleView/SimpleView.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Views/SimpleView/__init__.py exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/lib/uranium/plugins/Views/SimpleView/plugin.json exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/i18n/pt_PT/LC_MESSAGES/uranium.mo exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/i18n/pt_PT/uranium.po exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/i18n/uranium.pot exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/i18n/zh_TW/LC_MESSAGES/uranium.mo exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/i18n/zh_TW/uranium.po exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/shaders/color.shader exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/shaders/composite.shader exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/shaders/default.shader exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/shaders/object.shader exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/shaders/platform.shader exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/shaders/selection.shader exists in filesystem (owned by uranium-lulzbot)
uranium: /usr/share/uranium/resources/shaders/toolhandle.shader exists in filesystem (owned by uranium-lulzbot)
Errors occurred, no packages were upgraded.
==> WARNING: Failed to install built package(s).
"Melody reigns supreme!"
-J. J. Johnson
Offline
I was able to bulid and install cura-lulzbot like so
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot
pkgver=v3.6.15
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=("git+https://code.alephobjects.com/source/cura-lulzbot.git#tag=$pkgver"
"git+https://code.alephobjects.com/diffusion/U/uranium.git#tag=$pkgver")
md5sums=('SKIP' 'SKIP')
depends=('cython'
'gcc-fortran'
'libsavitar'
'openblas'
'python'
'python-nose'
'python-numpy'
'python-opengl'
'python-parso'
'python-pyqt5'
'python-scipy'
'python-setuptools'
'python-typing_extensions'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2'
'uranium-lulzbot')
makedepends=('git' 'cmake' 'sip' 'python-sip' 'python-cx_freeze' 'python-netifaces' 'qt5-tools')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
build() {
mkdir -p $pkgname/build
cd $pkgname/build
printf "PWD: $(pwd)\n\n"
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SOURCE_DIR=/usr/share \
-DURANIUM_DIR=$srcdir/uranium \
-DCURA_VERSION=$pkgver
make
}
package() {
cd "$srcdir/$pkgname/build"
make DESTDIR="$pkgdir/" install
# make sure cura can find uranium plugins:
# ln -s /usr/lib/uranium/plugins/* "${pkgdir}/usr/lib/$srcname/plugins/."
}
I've also made progress with building curaengine-lulzbot by using gcc8
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=curaengine-lulzbot
pkgver=v3.6.15
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=("git+https://code.alephobjects.com/source/curaengine-lulzbot.git#tag=$pkgver")
md5sums=('SKIP')
depends=('arcus'
'polyclipping'
'protobuf'
'rapidjson')
checkdepends=('cppunit')
makedepends=('gcc8' 'git' 'cmake')
# pkgver() {
# cd $pkgname
# git describe --tags | sed 's/-/./g'
# sed -i 's,/dist-packages,.${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
# }
build() {
mkdir -p $pkgname/build && cd $pkgname/build
export CC=$(which gcc-8)
export CXX=$(which g++-8)
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_TESTS=ON \
-DUSE_SYSTEM_LIBS=ON \
-DCMAKE_BUILD_TYPE=Release
make
}
check() {
cd ${pkgname}/build
make test
}
package() {
cd "$srcdir/$pkgname/build"
make DESTDIR="$pkgdir/" install
}
But it fails with
==> Making package: curaengine-lulzbot v3.6.15-1 (Sun 28 Jul 2019 12:30:49 PM EDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating curaengine-lulzbot git repo...
Fetching origin
==> Validating source files with md5sums...
curaengine-lulzbot ... Skipped
==> Extracting sources...
-> Creating working copy of curaengine-lulzbot git repo...
Cloning into 'curaengine-lulzbot'...
done.
Switched to a new branch 'makepkg'
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/gcc-8
-- Check for working C compiler: /usr/bin/gcc-8 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++-8
-- Check for working CXX compiler: /usr/bin/g++-8 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building with Arcus
CMake Warning (dev) at /usr/lib64/cmake/Arcus/ArcusConfig.cmake:40 (set):
implicitly converting '' to 'STRING' type.
Call Stack (most recent call first):
CMakeLists.txt:14 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found Protobuf: /usr/lib/libprotobuf.so;-lpthread (found suitable version "3.7.0", minimum required is "3.0.0")
-- Building Stb from source.
-- Created Stb installation at: /home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/build/stb-prefix/src
-- RapidJSON found. Headers: /usr/include
-- Found Polyclipping: /usr/lib/libpolyclipping.so (found version "6.4.2")
-- Compile with more optimization flags
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Building tests...
CMake Warning at CMakeLists.txt:266 (find_package):
By not providing "Findcppunit.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "cppunit", but
CMake did not find one.
Could not find a package configuration file provided by "cppunit" with any
of the following names:
cppunitConfig.cmake
cppunit-config.cmake
Add the installation prefix of "cppunit" to CMAKE_PREFIX_PATH or set
"cppunit_DIR" to a directory containing one of the above files. If
"cppunit" provides a separate development package or SDK, be sure it has
been installed.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/build
Scanning dependencies of target stb
[ 1%] Creating directories for 'stb'
[ 1%] Performing download step (git clone) for 'stb'
Cloning into 'stb'...
Already on 'master'
Your branch is up to date with 'origin/master'.
[ 2%] No patch step for 'stb'
[ 3%] Performing update step for 'stb'
Current branch master is up to date.
[ 4%] No configure step for 'stb'
[ 5%] No build step for 'stb'
[ 6%] No install step for 'stb'
[ 7%] Completed 'stb'
[ 7%] Built target stb
[ 8%] Running cpp protocol buffer compiler on Cura.proto
Scanning dependencies of target _CuraEngine
[ 10%] Building CXX object CMakeFiles/_CuraEngine.dir/src/gcodeExport.cpp.o
[ 10%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill.cpp.o
[ 11%] Building CXX object CMakeFiles/_CuraEngine.dir/src/bridge.cpp.o
[ 11%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffProcessor.cpp.o
[ 12%] Building CXX object CMakeFiles/_CuraEngine.dir/src/ExtruderTrain.cpp.o
[ 14%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Application.cpp.o
[ 14%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffGcodeWriter.cpp.o
[ 14%] Building CXX object CMakeFiles/_CuraEngine.dir/src/ConicalOverhang.cpp.o
[ 15%] Building CXX object CMakeFiles/_CuraEngine.dir/src/InsetOrderOptimizer.cpp.o
[ 15%] Building CXX object CMakeFiles/_CuraEngine.dir/src/mesh.cpp.o
[ 16%] Building CXX object CMakeFiles/_CuraEngine.dir/src/FffPolygonGenerator.cpp.o
[ 17%] Building CXX object CMakeFiles/_CuraEngine.dir/src/LayerPlan.cpp.o
[ 17%] Building CXX object CMakeFiles/_CuraEngine.dir/src/layerPart.cpp.o
[ 19%] Building CXX object CMakeFiles/_CuraEngine.dir/src/LayerPlanBuffer.cpp.o
[ 19%] Building CXX object CMakeFiles/_CuraEngine.dir/src/GCodePathConfig.cpp.o
[ 20%] Building CXX object CMakeFiles/_CuraEngine.dir/src/MergeInfillLines.cpp.o
[ 21%] Building CXX object CMakeFiles/_CuraEngine.dir/src/MeshGroup.cpp.o
[ 22%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Mold.cpp.o
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/LayerPlan.cpp: In member function ‘cura::GCodePath& cura::LayerPlan::addTravel(cura::Point, bool, bool)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/LayerPlan.cpp:356:16: warning: unused variable ‘perform_z_hops’ [-Wunused-variable]
const bool perform_z_hops = extruder->settings.get<bool>("retraction_hop_enabled") || force_z_hop;
^~~~~~~~~~~~~~
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/LayerPlan.cpp: In member function ‘void cura::LayerPlan::writeGCode(cura::GCodeExport&)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/LayerPlan.cpp:1341:46: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<cura::ExtruderTrain>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
for(int extruder_nr = 0; extruder_nr < extruders.size(); extruder_nr++)
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/FffGcodeWriter.cpp: In member function ‘void cura::FffGcodeWriter::processStartingCode(const cura::SliceDataStorage&, size_t)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/FffGcodeWriter.cpp:480:42: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<cura::ExtruderTrain>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
for(int extruder_nr = 0; extruder_nr < extruders.size(); extruder_nr++)
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
[ 23%] Building CXX object CMakeFiles/_CuraEngine.dir/src/multiVolumes.cpp.o
[ 23%] Building CXX object CMakeFiles/_CuraEngine.dir/src/pathOrderOptimizer.cpp.o
[ 24%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Preheat.cpp.o
[ 25%] Building CXX object CMakeFiles/_CuraEngine.dir/src/PrimeTower.cpp.o
[ 26%] Building CXX object CMakeFiles/_CuraEngine.dir/src/raft.cpp.o
[ 27%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Scene.cpp.o
[ 27%] Building CXX object CMakeFiles/_CuraEngine.dir/src/skin.cpp.o
[ 28%] Building CXX object CMakeFiles/_CuraEngine.dir/src/SkirtBrim.cpp.o
[ 29%] Building CXX object CMakeFiles/_CuraEngine.dir/src/SupportInfillPart.cpp.o
[ 30%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Slice.cpp.o
[ 30%] Building CXX object CMakeFiles/_CuraEngine.dir/src/sliceDataStorage.cpp.o
[ 31%] Building CXX object CMakeFiles/_CuraEngine.dir/src/slicer.cpp.o
[ 32%] Building CXX object CMakeFiles/_CuraEngine.dir/src/support.cpp.o
[ 33%] Building CXX object CMakeFiles/_CuraEngine.dir/src/timeEstimate.cpp.o
[ 33%] Building CXX object CMakeFiles/_CuraEngine.dir/src/TopSurface.cpp.o
[ 34%] Building CXX object CMakeFiles/_CuraEngine.dir/src/TreeSupport.cpp.o
[ 35%] Building CXX object CMakeFiles/_CuraEngine.dir/src/WallsComputation.cpp.o
[ 36%] Building CXX object CMakeFiles/_CuraEngine.dir/src/wallOverlap.cpp.o
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/timeEstimate.cpp: In member function ‘void cura::TimeEstimateCalculator::plan(cura::TimeEstimateCalculator::Position, cura::Velocity, cura::PrintFeatureType)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/timeEstimate.cpp:140:36: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘class cura::TimeEstimateCalculator::Block’; use assignment or value-initialization instead [-Wclass-memaccess]
memset(&block, 0, sizeof(block));
^
In file included from /home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/timeEstimate.cpp:9:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/timeEstimate.h:45:11: note: ‘class cura::TimeEstimateCalculator::Block’ declared here
class Block
^~~~~
[ 37%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Weaver.cpp.o
[ 37%] Building CXX object CMakeFiles/_CuraEngine.dir/src/Wireframe2gcode.cpp.o
[ 38%] Building CXX object CMakeFiles/_CuraEngine.dir/src/communication/ArcusCommunication.cpp.o
[ 39%] Building CXX object CMakeFiles/_CuraEngine.dir/src/communication/ArcusCommunicationPrivate.cpp.o
[ 40%] Building CXX object CMakeFiles/_CuraEngine.dir/src/communication/CommandLine.cpp.o
[ 40%] Building CXX object CMakeFiles/_CuraEngine.dir/src/communication/Listener.cpp.o
[ 41%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill/ImageBasedDensityProvider.cpp.o
[ 42%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill/NoZigZagConnectorProcessor.cpp.o
[ 43%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill/ZigzagConnectorProcessor.cpp.o
[ 43%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill/SierpinskiFill.cpp.o
In file included from /home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/infill/ImageBasedDensityProvider.cpp:8:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/build/stb-prefix/src/stb/stb_image.h: In function ‘int stbi__parse_png_file(stbi__png*, int, int)’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/build/stb-prefix/src/stb/stb_image.h:4953:28: warning: variable ‘invalid_chunk’ set but not used [-Wunused-but-set-variable]
static char invalid_chunk[] = "XXXX PNG chunk not known";
^~~~~~~~~~~~~
[ 44%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill/SierpinskiFillProvider.cpp.o
[ 45%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill/SpaghettiInfill.cpp.o
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/communication/ArcusCommunication.cpp: In member function ‘virtual void cura::ArcusCommunication::sliceNext()’:
/home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/communication/ArcusCommunication.cpp:484:81: error: no matching function for call to ‘Arcus::Socket::takeNextMessage(bool)’
const Arcus::MessagePtr message = private_data->socket->takeNextMessage(true);
^
In file included from /home/hs/builds/curaengine-lulzbot/src/curaengine-lulzbot/src/communication/ArcusCommunication.cpp:6:
/usr/include/Arcus/Socket.h:136:28: note: candidate: ‘virtual Arcus::MessagePtr Arcus::Socket::takeNextMessage()’
virtual MessagePtr takeNextMessage();
^~~~~~~~~~~~~~~
/usr/include/Arcus/Socket.h:136:28: note: candidate expects 0 arguments, 1 provided
[ 46%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill/SpaghettiInfillPathGenerator.cpp.o
[ 47%] Building CXX object CMakeFiles/_CuraEngine.dir/src/infill/SubDivCube.cpp.o
make[2]: *** [CMakeFiles/_CuraEngine.dir/build.make:565: CMakeFiles/_CuraEngine.dir/src/communication/ArcusCommunication.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:293: CMakeFiles/_CuraEngine.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
"Melody reigns supreme!"
-J. J. Johnson
Offline
This builds and installs. Is it OK to combine these dependent packages like this?
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot
pkgver=v3.6.15
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=("git+https://code.alephobjects.com/source/cura-lulzbot.git#tag=$pkgver"
"git+https://code.alephobjects.com/diffusion/CBD/cura-binary-data.git#tag=${pkgver}"
"git+https://code.alephobjects.com/diffusion/U/uranium.git#tag=$pkgver")
md5sums=('SKIP' 'SKIP' 'SKIP')
depends=('arcus'
'cython'
'gcc-fortran'
'libsavitar'
'openblas'
'python'
'python-nose'
'python-numpy'
'python-opengl'
'python-parso'
'python-pyqt5'
'python-scipy'
'python-setuptools'
'python-typing_extensions'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2')
makedepends=('git' 'cmake' 'sip' 'python-sip' 'python-cx_freeze' 'python-netifaces' 'qt5-tools')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
build() {
## Uranium
mkdir -p $srcdir/uranium/build
cd $srcdir/uranium/build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
## CuraLE
mkdir -p $srcdir/$pkgname/build
cd $srcdir/$pkgname/build
printf "PWD: $(pwd)\n\n"
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SOURCE_DIR=/usr/share \
-DURANIUM_DIR=$srcdir/uranium \
-DCURA_VERSION=$pkgver
make
}
package() {
## Cura Binary Data
install -d "cura-binary-data/usr/share/"
mkdir -p "${pkgdir}/usr/share/"
cp -r "${srcdir}/cura-binary-data/cura/" "${pkgdir}/usr/share/cura"
# see https://github.com/Ultimaker/cura-binary-data/issues/6
#rm -rf "${pkgdir}/usr/share/cura/resources/i18n"
## Uranium
cd "$srcdir/uranium/build"
make DESTDIR="$pkgdir/" install
## CuraLE
cd "$srcdir/$pkgname/build"
make DESTDIR="$pkgdir/" install
# make sure cura can find uranium plugins:
# ln -s /usr/lib/uranium/plugins/* "${pkgdir}/usr/lib/$srcname/plugins/."
}
"Melody reigns supreme!"
-J. J. Johnson
Offline
I built and installed a previous version of arcus with
pkgname=arcus3
pkgver=3.6.0
pkgrel=1
pkgdesc="Communication library between internal components for Ultimaker software"
url="https://github.com/Ultimaker/libArcus"
arch=('x86_64')
license=('LGPL')
makedepends=('cmake' 'sip')
depends=('python' 'protobuf' 'python-sip')
source=("$pkgname-$pkgver.tar.gz::https://github.com/Ultimaker/libArcus/archive/${pkgver}.tar.gz")
sha512sums=('1bc50a08cbec61edefd78f3c347cca08f6bc40a308472bf6788c2c8962b03ea81b32357be18a3c34847c121eb52ee6836da22cea65b1a8f64b7c924bda290430')
build() {
cd libArcus-${pkgver}
mkdir -p build
cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_EXAMPLES=OFF \
-DCMAKE_INSTALL_LIBDIR=/usr/lib/
make
}
package() {
cd libArcus-${pkgver}/build
make DESTDIR="${pkgdir}" install
That installs but the build still fails for curaengine-lulzbot with
[ 90%] Building CXX object CMakeFiles/ArcusCommunicationTest.dir/tests/arcus/ArcusCommunicationTest.cpp.o
In file included from /home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/tests/arcus/MockSocket.cpp:4:
/home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/tests/arcus/MockSocket.h:30:23: error: ‘Arcus::MessagePtr cura::MockSocket::takeNextMessage()’ marked ‘override’, but does not override
Arcus::MessagePtr takeNextMessage() override;
^~~~~~~~~~~~~~~
In file included from /home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/tests/arcus/MockSocket.cpp:4:
/home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/tests/arcus/MockSocket.h:30:23: error: ‘Arcus::MessagePtr cura::MockSocket::takeNextMessage()’ marked ‘override’, but does not override
Arcus::MessagePtr takeNextMessage() override;
^~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/ArcusCommunicationTest.dir/build.make:76: CMakeFiles/ArcusCommunicationTest.dir/tests/arcus/MockSocket.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/ArcusCommunicationPrivateTest.dir/build.make:76: CMakeFiles/ArcusCommunicationPrivateTest.dir/tests/arcus/MockSocket.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 91%] Linking CXX executable TimeEstimateCalculatorTest
[ 92%] Linking CXX executable CuraEngine
In file included from /home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/tests/arcus/ArcusCommunicationTest.cpp:6:
/home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/tests/arcus/MockSocket.h:30:23: error: ‘Arcus::MessagePtr cura::MockSocket::takeNextMessage()’ marked ‘override’, but does not override
Arcus::MessagePtr takeNextMessage() override;
^~~~~~~~~~~~~~~
[ 93%] Linking CXX executable IntPointTest
[ 93%] Built target TimeEstimateCalculatorTest
In file included from /home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/tests/arcus/ArcusCommunicationPrivateTest.cpp:5:
/home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/tests/arcus/MockSocket.h:30:23: error: ‘Arcus::MessagePtr cura::MockSocket::takeNextMessage()’ marked ‘override’, but does not override
Arcus::MessagePtr takeNextMessage() override;
^~~~~~~~~~~~~~~
"Melody reigns supreme!"
-J. J. Johnson
Offline
I'm now trying to build Arcus from Lulzbot source as well but am getting failures with loading modules when building curaengine-lulzbot
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot
pkgver=v3.6.15
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=("git+https://code.alephobjects.com/source/arcus.git#tag=v3.6.9"
"git+https://code.alephobjects.com/source/cura-lulzbot.git#tag=$pkgver"
"git+https://code.alephobjects.com/diffusion/CBD/cura-binary-data.git#tag=${pkgver}"
"git+https://code.alephobjects.com/source/curaengine-lulzbot.git#tag=$pkgver"
"git+https://code.alephobjects.com/diffusion/U/uranium.git#tag=$pkgver")
md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
depends=('cython'
'gcc-fortran'
'libsavitar'
'openblas'
'polyclipping'
'protobuf'
'python'
'python-nose'
'python-numpy'
'python-opengl'
'python-parso'
'python-pyqt5'
'python-scipy'
'python-setuptools'
'python-typing_extensions'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2'
'rapidjson')
makedepends=('cmake' 'gcc8' 'git' 'sip' 'python-sip' 'python-cx_freeze' 'python-netifaces' 'qt5-tools')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
build() {
export CC=$(which gcc-8)
export CXX=$(which g++-8)
## libArcus
mkdir -p $srcdir/arcus/build
cd $srcdir/arcus/build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_CXX_FLAGS=-static-libstdc++ \
-DBUILD_STATIC=ON \
-DBUILD_EXAMPLES=OFF \
-DCMAKE_BUILD_TYPE=Release
#-DCMAKE_INSTALL_LIBDIR=/usr/lib
#cp $srcdir/arcus/build/CMakeFiles/Export/_usr/lib/cmake/Arcus/Arcus-targets.cmake $srcdir/arcus/build/
make
## Uranium
mkdir -p $srcdir/uranium/build
cd $srcdir/uranium/build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
## CuraEngineLE
mkdir -p $srcdir/curaengine-lulzbot/build
cd $srcdir/curaengine-lulzbot/build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DUSE_SYSTEM_LIBS=ON \
-DArcus_DIR=$srcdir/arcus/build \
-DCMAKE_BUILD_TYPE=Release
make
## CuraLE
mkdir -p $srcdir/$pkgname/build
cd $srcdir/$pkgname/build
printf "PWD: $(pwd)\n\n"
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SOURCE_DIR=/usr/share \
-DURANIUM_DIR=$srcdir/uranium \
-DCURA_VERSION=$pkgver
make
}
package() {
## libArcus
cd $srcdir/arcus/build
make DESTDIR="$pkgdir/" install
## Cura Binary Data
install -d "cura-binary-data/usr/share/"
mkdir -p "${pkgdir}/usr/share/"
cp -r "${srcdir}/cura-binary-data/cura/" "${pkgdir}/usr/share/cura"
# see https://github.com/Ultimaker/cura-binary-data/issues/6
#rm -rf "${pkgdir}/usr/share/cura/resources/i18n"
## Uranium
cd "$srcdir/uranium/build"
make DESTDIR="$pkgdir/" install
## CuraEngineLE
cd "$srcdir/curaengine-lulzbot/build"
make DESTDIR="$pkgdir/" install
## CuraLE
cd "$srcdir/$pkgname/build"
make DESTDIR="$pkgdir/" install
# make sure cura can find uranium plugins:
# ln -s /usr/lib/uranium/plugins/* "${pkgdir}/usr/lib/$srcname/plugins/."
}
But this fails with the following while trying to load some Arcus modules. I've tried using symlinks and copying files around but it's not working
-- Building with Arcus
CMake Warning (dev) at /home/hs/builds/cura-lulzbot/src/arcus/build/ArcusConfig.cmake:40 (set):
implicitly converting '' to 'STRING' type.
Call Stack (most recent call first):
CMakeLists.txt:14 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found Protobuf: /usr/lib/libprotobuf.so;-lpthread (found suitable version "3.7.0", minimum required is "3.0.0")
-- Building Stb from source.
-- Created Stb installation at: /home/hs/builds/cura-lulzbot/src/curaengine-lulzbot/build/stb-prefix/src
-- RapidJSON found. Headers: /usr/include
-- Found Polyclipping: /usr/lib/libpolyclipping.so (found version "6.4.2")
-- Compile with more optimization flags
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Configuring done
CMake Error in CMakeLists.txt:
Imported target "Arcus" includes non-existent path
"/home/hs/builds/cura-lulzbot/include"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
* The path was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and references files it does not
provide.
CMake Error in CMakeLists.txt:
Imported target "Arcus" includes non-existent path
"/home/hs/builds/cura-lulzbot/include"
in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:
* The path was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and references files it does not
provide.
-- Generating done
CMake Generate step failed. Build files cannot be regenerated correctly.
"Melody reigns supreme!"
-J. J. Johnson
Offline
Trying to build with the build scripts again and have made some progress
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot-git
pkgver=v3.6.17.1.g93401f1
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPLv3')
source=('git+https://code.alephobjects.com/source/curabuild-lulzbot.git')
md5sums=('SKIP')
depends=('cython'
'gcc-fortran'
'libsavitar'
'openblas'
'python'
'python-nose'
'python-numpy'
'python-opengl'
'python-parso'
'python-pyqt5'
'python-scipy'
'python-setuptools'
'python-typing_extensions'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2')
makedepends=('git' 'cmake' 'sip' 'python-sip' 'python-cx_freeze' 'python-netifaces' 'qt5-tools')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
srcname=cura-lulzbot
pkgver() {
#sed -i 's,/dist-packages,.${PYTHON_VERSION_MINOR}/site-packages,g' CMakeLists.txt
cd curabuild-lulzbot
git describe --tags | sed 's/-/./g'
}
build() {
export CC=$(which gcc-8)
export CXX=$(which g++-8)
mkdir -p curabuild-lulzbot/build
cd curabuild-lulzbot/build
sed -i 's/DCURA_ENGINE_VERSION=${CURA_VERSION}/DCURA_ENGINE_VERSION=${CURA_VERSION} -DENABLE_OPENMP=OFF/' ../CMakeLists.txt
sed -i '33,34d' ../setup_linux.py.in #remove missing paths from using system python
sed -i '57,58d' ../setup_linux.py.in #remove missing qt plugins when using system version
sed -i 's/get_commit_hash("Savitar", cmake_binary_dir)/"4.1.0"/' ../scripts/cura_version.py #fake hash when using system libsavitar
cmake -DTAG_OR_BRANCH=master ../ \
-DBUILD_PYTHON=OFF \
-DBUILD_CYTHON=OFF \
-DBUILD_QT=OFF \
-DBUILD_SIP=OFF \
-DBUILD_PYQT=OFF \
-DBUILD_OPENBLAS=OFF \
-DBUILD_NUMPY=OFF \
-DBUILD_SCIPY=OFF \
-DBUILD_SCIPY_LITE=OFF \
-DBUILD_PYSERIAL=OFF \
-DBUILD_NUMPY_STL=OFF \
-DBUILD_ZEROCONF=OFF \
-DBUILD_TYPING=OFF \
-DBUILD_SAVITAR=OFF \
-DBUILD_APPDIRS=OFF \
-DBUILD_NETIFACES=OFF \
-DBUILD_PYTHONSIX=OFF \
-DBUILD_PYTHON_SETUPTOOLS=OFF \
-DBUILD_PYTHON_PACKAGING=OFF \
-DBUILD_PYPARSING=OFF \
-DBUILD_PYTHON_NOSE=OFF
PYTHONPATH=`pwd`/inst/lib/python3/dist-packages make
#mkdir -p $srcname/build
#cd $srcname/build
#cmake .. \
# -DCMAKE_INSTALL_PREFIX=/usr \
# -DCMAKE_BUILD_TYPE=Release \
# -DURANIUM_SCRIPTS_DIR=/usr/share/uranium/scripts \
# -DCURA_VERSION=$pkgver \
# make
}
package() {
cd "$srcdir/$srcname/build"
make DESTDIR="$pkgdir/" install
# make sure cura can find uranium plugins:
# ln -s /usr/lib/uranium/plugins/* "${pkgdir}/usr/lib/$srcname/plugins/."
}
but it looks it's trying to build protobuf but it fails with
/usr/include/google/protobuf/port_def.inc:74:2: error: #error PROTOBUF_DEPRECATED was previously defined
#error PROTOBUF_DEPRECATED was previously defined
This appears to be similar to https://github.com/protocolbuffers/protobuf/issues/5376 but I can't remove protobuf since another package depends on it.
➤ pacman -Qi libphonenumber
Name : libphonenumber
Version : 8.10.15-1
Description : Google's common library for parsing, formatting, and validating international phone numbers
Architecture : x86_64
URL : https://github.com/googlei18n/libphonenumber
Licenses : Apache
Groups : None
Provides : None
Depends On : icu protobuf boost-libsusing system
Optional Deps : None
Required By : evolution-data-server
"Melody reigns supreme!"
-J. J. Johnson
Offline
Try building in a chroot, see https://wiki.archlinux.org/index.php/De … ean_chroot
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Ah, this is cool! I see now what @loqs was talking about. That does get me to the package step albeit slower and using more disk space than makepkg
"Melody reigns supreme!"
-J. J. Johnson
Offline
OK, this builds and installs but launching the application files with:
➤ cura-lulzbot
Fatal Python error: initfsencoding: Unable to get the locale encoding
ImportError: invalid flags 1561352042 in 'encodings'
Current thread 0x00007fce8d355740 (most recent call first):
/usr/bin/cura-lulzbot: line 2: 11537 Aborted (core dumped) LD_LIBRARY_PATH=/usr/share/cura-lulzbot:/usr/share/cura-lulzbot/lib QT_PLUGIN_PATH=/usr/share/cura-lulzbot/qt/plugins QML2_IMPORT_PATH=/usr/share/cura-lulzbot/qml:/usr/share/cura-lulzbot/qt/qml /usr/share/cura-lulzbot/cura-lulzbot "$@"
PKGBUILD
# Maintainer: Kevin McCormack <harlemsquirrel@gmail.com>
# https://code.alephobjects.com/w/cura-lulzbot/
pkgname=cura-lulzbot-git
pkgver=v3.6.18.1.gb91eaf4
pkgrel=1
pkgdesc='Cura LulzBot Edition for LulzBot 3D Printers by Aleph Objects, Inc.'
arch=('x86_64')
url='https://www.lulzbot.com/cura'
license=('AGPL3')
source=('git+https://code.alephobjects.com/source/curabuild-lulzbot.git')
md5sums=('SKIP')
depends=('cython'
'gcc-fortran'
'libsavitar'
'openblas'
'python'
'python-nose'
'python-numpy'
'python-numpy-stl'
'python-opengl'
'python-parso'
'python-pyqt5'
'python-scipy'
'python-setuptools'
'python-typing_extensions'
'qt5-graphicaleffects'
'qt5-quickcontrols'
'qt5-quickcontrols2')
makedepends=('cmake'
'git'
'python-cx_freeze'
'python-sip'
'python-netifaces'
'python-pyserial'
'python-zeroconf'
'qt5-tools'
'sip')
optdepends=('python-zeroconf: Detecting mDNS printers'
'python-pyserial: USB printing')
pkgver() {
cd curabuild-lulzbot
git describe --tags | sed 's/-/./g'
}
build() {
mkdir -p curabuild-lulzbot/build
cd curabuild-lulzbot/build
sed -i 's/DCURA_ENGINE_VERSION=${CURA_VERSION}/DCURA_ENGINE_VERSION=${CURA_VERSION} -DENABLE_OPENMP=OFF/' ../CMakeLists.txt
sed -i '33,34d' ../setup_linux.py.in #remove missing paths from using system python
sed -i '57,58d' ../setup_linux.py.in #remove missing qt plugins when using system version
sed -i 's/get_commit_hash("Savitar", cmake_binary_dir)/"4.1.0"/' ../scripts/cura_version.py #fake hash when using system libsavitar
cmake -DTAG_OR_BRANCH=master ../ \
-DBUILD_PYTHON=OFF \
-DBUILD_CYTHON=OFF \
-DBUILD_QT=OFF \
-DBUILD_SIP=OFF \
-DBUILD_PYQT=OFF \
-DBUILD_OPENBLAS=OFF \
-DBUILD_NUMPY=OFF \
-DBUILD_SCIPY=OFF \
-DBUILD_SCIPY_LITE=OFF \
-DBUILD_PYSERIAL=OFF \
-DBUILD_NUMPY_STL=OFF \
-DBUILD_ZEROCONF=OFF \
-DBUILD_TYPING=OFF \
-DBUILD_SAVITAR=OFF \
-DBUILD_APPDIRS=OFF \
-DBUILD_NETIFACES=OFF \
-DBUILD_PYTHONSIX=OFF \
-DBUILD_PYTHON_SETUPTOOLS=OFF \
-DBUILD_PYTHON_PACKAGING=OFF \
-DBUILD_PYPARSING=OFF \
-DBUILD_PYTHON_NOSE=OFF \
-DEXTERNALPROJECT_INSTALL_PREFIX=$pkgdir/usr \
-DUSE_SYSTEM_LIBS=ON
PYTHONPATH=`pwd`/inst/lib/python3/dist-packages make
}
package() {
cd $srcdir/curabuild-lulzbot/build
PYTHONPATH=`pwd`/inst/lib/python3/dist-packages make package
cp -r _CPack_Packages/Linux/DEB/cura-lulzbot-*-Linux/usr $pkgdir/
}
"Melody reigns supreme!"
-J. J. Johnson
Offline
This looks similar https://stackoverflow.com/questions/511 … to-load-th
Looks like we need a new version of cx_freeze for Python 3.7 https://github.com/anthony-tuininga/cx_ … issues/496 or we have to build this with Python 3.6. Ugh.
Last edited by HarlemSquirrel (2019-08-05 22:34:34)
"Melody reigns supreme!"
-J. J. Johnson
Offline
Ah, it looks like the current build has the patch, so we need to make sure we're not building cx_Freeze here
"Melody reigns supreme!"
-J. J. Johnson
Offline