This application now needs Python 3:
Search Criteria
Package Details: klipper-git r3853.338bc82d0-1
Git Clone URL: | https://aur.archlinux.org/klipper-git.git (read-only, click to copy) |
---|---|
Package Base: | klipper-git |
Description: | 3D printer firmware with motion planning on the host |
Upstream URL: | https://github.com/KevinOConnor/klipper |
Licenses: | GPL3 |
Conflicts: | klipper |
Provides: | klipper |
Submitter: | jade1 |
Maintainer: | loredan13 |
Last Packager: | loredan13 |
Votes: | 3 |
Popularity: | 0.000016 |
First Submitted: | 2018-10-19 05:10 (UTC) |
Last Updated: | 2021-05-22 22:29 (UTC) |
Dependencies (18)
- libusb (libusb-git)
- python2-can
- python2-cffi
- python2-greenlet
- python2-jinja
- python2-pyserial
- git (git-git, git-vfs, git-run-command-patch-git) (make)
- arm-none-eabi-binutils (arm-none-eabi-linaro-binutils, gcc-arm-none-eabi-bin) (optional, x86_64)
- arm-none-eabi-gcc (arm-none-eabi-gcc47-linaro, arm-none-eabi-gcc48-linaro, arm-none-eabi-gcc53-linaro, arm-none-eabi-gcc49-linaro, arm-none-eabi-gcc55, gcc-arm-none-eabi-bin) (optional, x86_64) – for ARM MCU firmware compilation
- arm-none-eabi-newlib (arm-none-eabi-newlib-linaro-git, gcc-arm-none-eabi-bin) (optional, x86_64) – for ARM MCU firmware compilation
- avr-binutils (avr-binutils-atmel, avr-binutils-219, avr-binutils-220) (optional) – for AVR MCU firmware compilation
- avr-gcc (avr-gcc-atmel, avr-gcc-43, avr-gcc-45) (optional) – for AVR MCU firmware compilation
- avr-libc (avr-libc-svn, avr-libc-atmel, avr-libc-tinyos, avr-libc-avrxmega3-svn, avr-libc-atmega328pb, avr-libc-16, avr-libc-18, avr-libc-debian-git, avr-libc-git) (optional) – for AVR MCU firmware compilation
- avrdude (avrdude-bobdude, avrdude-svn) (optional) – for flashing firmware on AVR MCU
- ncurses (ncurses-nohex, ncurses-git) (optional) – for choosing compilation config
- python2-matplotlib (optional) – for resonance measurement
- python2-numpy (optional) – for resonance measurement
- stm32flash (stm32flash-git, stm32flash) (optional) – for flashing firmware on STM MCU
Required by (1)
- moonraker-git (requires klipper)
Sources (4)
Latest Comments
MarsSeed commented on 2022-06-16 18:31 (UTC) (edited on 2022-06-16 18:32 (UTC) by MarsSeed)
bobobo1618 commented on 2021-04-04 08:51 (UTC) (edited on 2021-04-04 08:52 (UTC) by bobobo1618)
A workaround for missing python2-pyserial:
curl -O https://raw.githubusercontent.com/archlinux/svntogit-community/fa67d039a4f5c7462af38e62ceec14249f56685b/python-pyserial/trunk/PKGBUILD
makepkg
pacman -U python2-pyserial-3.5-1-any.pkg.*
wlhlm commented on 2021-04-03 20:13 (UTC)
Small suggestions: Klipper needs numpy and matplotlib for resonance measurements 1. python2-numpy
and python2-matplotlib
could be added as optional dependencies.
patlefort commented on 2021-03-29 10:09 (UTC)
Dependency no longer exists: python2-pyserial
.
novenary commented on 2021-03-28 14:28 (UTC)
The AVR toolchain, libusb and ncurses should all be optional dependencies as they are only necessary for building and flashing the MCU firmware, and are not required during normal operation. stm32flash is also not x86_64-specific, the PKGBUILD includes ARM in its arch array.
celogeek commented on 2020-01-24 18:13 (UTC)
hi, thanks for the patch
also I have dig more, and compile all have alert on build directory that appear in the binary package.
I have fix this way (also the way to bundle python package):
- python2 -m compileall klippy
- python2 klippy/chelper/__init__.py
+ python2 -m compileall -d /opt/klipper/klippy klippy
+ python2 -O -m compileall -d /opt/klipper/klippy klippy
+ python2 klippy/chelper/__init__.py
So I add an optimize compilation after the usual one, and include the final destination in the compile process.
loredan13 commented on 2020-01-21 08:12 (UTC)
Okay, thank you everyone, everything you said seems valid, I will include your changes in the package.
dack, about the logs, I removed that option with the intention of letting systemd-journal take care of it, but I wasn't aware of thread handling in klipper. I'll revert it to log file
dack commented on 2020-01-21 07:38 (UTC)
Apologies for repeating myself - I accidentally deleted my previous comment.
I think it would be better to go back to logging to a file (via the -l option), rather than letting systemd/journald do the logging. When logging to stdout (journald), klipper warns "No log file specified! Severe timing issues may result!". From looking at their code, logging to a file is handled completely differently. It uses a separate thread to log asynchronously to file. This would prevent log buffer issues from affecting time critical tasks. Logging to stdout is done in the main thread, which has the potential to cause issues.
celogeek commented on 2020-01-13 20:43 (UTC)
Hi,
The packaging also fail to include compile file and version file resulting in FIRMWARE_VERSION: ? in the log
I applied this change to fix this:
+ python2 scripts/make_version.py ARCHLINUX > klippy/.version
+ python2 -m compileall klippy
+ python2 klippy/chelper/__init__.py
GLOBIGNORE=.git cp -r * "$pkgdir/opt/klipper"
- chown -R klipper:klipper "$pkgdir/opt/klipper"
This way the package contains precompiled files and starts faster.
celogeek commented on 2020-01-11 10:09 (UTC) (edited on 2020-01-11 12:43 (UTC) by celogeek)
Hi,
I want to install this package and got this errors:
==> Starting pkgver()...
==> Updated version: klipper-git r2748.2f8ad5e6-1
==> Sources are ready.
==> Making package: klipper-git r2748.2f8ad5e6-1 (Sat 11 Jan 2020 11:04:18 AM CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Entering fakeroot environment...
==> Starting package()...
chown: invalid user: ‘klipper:klipper’
==> ERROR: A failure occurred in package().
Aborting...
Error making: klipper-git
I guess the klipper exists at this stage
FIX:
instead of chown inside the install process, add this to your tempfile:
d /etc/klipper 0755 klipper klipper - -
z /etc/klipper/klipper.cfg 0644 klipper klipper - -
d /run/klipper 0755 klipper tty - -
Z /opt/klipper - klipper klipper - -
It will adjust automatically the right on config and opt directory
loredan13 commented on 2020-01-09 10:09 (UTC)
Sorry, I made a mistake of updating instructions without properly testing everything myself. I ended up reverting to /run/klipper/sock because /tmp/printer is not accessible by octoprint in current setup
plutonium commented on 2020-01-08 09:38 (UTC) (edited on 2020-01-08 10:22 (UTC) by plutonium)
I just updated klipper and am unable to connect from octoprint.
[Errno 2] could not open port /run/klipper/sock: [Errno 2] No such file or directory: '/run/klipper/sock'' @ comm.py:_openSerial:2661 (hook default)
Your latest instructions tells to use /tmp/printer, but I don't have it on my system... and according to klipper.service
listed in sources, the socket is still /run/klipper/sock
(and it exists indeed on my RPi)...
[edit] I got it to work with /run/klipper/sock
loredan13 commented on 2020-01-07 19:30 (UTC) (edited on 2021-05-22 22:38 (UTC) by loredan13)
README
Packages python2-pyserial and python2-greenlet were removed from [community] repository and due to bug in AURweb I couldn't create an AUR package for those, so you'll have to install those manually. Here are links to PKGBUILD files for those packages:
After you have this package installed, copy an example config from /opt/klipper/config to /etc/klipper/klipper.cfg and adjust the values to suit your printer.
If needed, build and flash firmware as outlined in the documentation: https://github.com/KevinOConnor/klipper/blob/master/docs/Installation.md#building-and-flashing-the-micro-controller keeping in mind that klipper is placed in /opt/klipper directory
Then, start/enable the klipper service with systemctl.
Logs can be seen at /var/log/klipper/klippy.log
OctoPrint
Use the socket /run/klipper/sock. OctoKlipper is highly recommended.
WARNING
If you have ARM MCU on your printer you won't be able to compile firmware on ARM PC (which is the case for most computers running klipper). You will have to compile firmware on x86_64 PC
loredan13 commented on 2020-01-07 18:04 (UTC)
dack: the problem is with compiling ARM MCU firmware, it requires arm-none-eabi-gcc package, which is only for x86_64 architecture, and I still haven't found an alternative.
I have adopted the package, and I will try to update it as much as I can
dack commented on 2020-01-05 21:32 (UTC)
Deathwarror: Are you talking about requirements to compile the PKGBUILD, or to compile AVR microcontroller firmware?
If you are talking about the PKGBUILD, gcc and make are part of base-devel. That should not be listed as a dependency in the PKGBUILD as per the wiki page for Makepkg ("Before continuing, install the base-devel group. Packages belonging to this group are not required to be listed as build-time dependencies (makedepends) in PKGBUILD files.").
If you are talking about compiling the AVR microcontroller code, avr-gcc is already listed as a runtime dependency. Make is not listed, and should perhaps be added as a runtime dependency. Most people will probably not encounter that issue, since they would have already installed base-devel (and therefore make) in order to compile the PKGBUILD.
jade1 commented on 2020-01-04 21:16 (UTC)
Hi! Unfortunately I don't use Klipper anymore so I'm relinquishing maintainership of this package. If anyone wishes to adopt it, that would be fantastic.
I should have done this a long time ago, and I'm sorry for procrastinating flagging this unmaintained package as unmaintained.
Deathwarror commented on 2020-01-04 18:30 (UTC)
I'm using a raspberry pi 4. Two more dependencies that are needed are gcc and make gcc is apparently needed by the klipper code to compile
dack commented on 2020-01-04 05:12 (UTC)
Can you add a dependency for python2-jinja? Without it, klipper fails with the following in the log:
Unhandled exception during connect
Traceback (most recent call last):
File "/opt/klipper/klippy/klippy.py", line 134, in _connect
self._read_config()
File "/opt/klipper/klippy/klippy.py", line 129, in _read_config
m.add_printer_objects(config)
File "/opt/klipper/klippy/toolhead.py", line 567, in add_printer_objects
config.get_printer().add_object('toolhead', ToolHead(config))
File "/opt/klipper/klippy/toolhead.py", line 262, in init
self.printer.try_load_module(config, "idle_timeout")
File "/opt/klipper/klippy/klippy.py", line 116, in try_load_module
self.objects[section] = init_func(config.getsection(section))
File "/opt/klipper/klippy/extras/idle_timeout.py", line 113, in load_config
return IdleTimeout(config)
File "/opt/klipper/klippy/extras/idle_timeout.py", line 24, in init
gcode_macro = self.printer.try_load_module(config, 'gcode_macro')
File "/opt/klipper/klippy/klippy.py", line 110, in try_load_module
mod = importlib.import_module('extras.' + module_name)
File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
File "/opt/klipper/klippy/extras/gcode_macro.py", line 7, in <module>
import jinja2
ImportError: No module named jinja2
Psych0d0g commented on 2019-09-01 15:26 (UTC)
could you add aarch64 to the architectures supported so we can use this pkg on raspi3 with the a4a rpi3 image?
jade1 commented on 2018-10-28 14:43 (UTC)
@breadman indeed that is a mistake on my part. The reason it was moved was because I wanted to privilege separate OctoPrint from Klipper. But /tmp/printer, being in a setuid directory, can't be followed by non owner users.
The socket is at /run/klipper/sock.
breadman commented on 2018-10-28 13:00 (UTC)
For some reason I do not have /tmp/printer. After flashing the MCU klipper is communicating with the printer but there's no symlink.
I think this began after yesterday's update as I tried this package two days ago and everything seemed to work fine. Now this happens both in virtualbox and on a physical machine. I do not see any warnings in klippy's log, nothing regarding /tmp/printer in journald.
I'm using Manjaro and not Arch, but I don't think this should be a problem. Any suggestions in which direction to look?
jade1 commented on 2018-10-19 05:25 (UTC) (edited on 2018-10-28 14:45 (UTC) by jade1)
README
After you have this package installed, copy an example config from /opt/klipper/config to /etc/klipper/klipper.cfg and adjust the values to suit your printer.
Copy the firmware out of /opt/klipper to your user directory and follow the procedure as outlined in the documentation: https://github.com/KevinOConnor/klipper/blob/master/docs/Installation.md#building-and-flashing-the-micro-controller
Then, start/enable the klipper service with systemctl.
The log file is available at /var/log/klipper/klippy.log
OctoPrint
Use the socket /run/klipper/sock. OctoKlipper is highly recommended.
Pinned Comments
loredan13 commented on 2020-01-07 19:30 (UTC) (edited on 2021-05-22 22:38 (UTC) by loredan13)
README
Packages python2-pyserial and python2-greenlet were removed from [community] repository and due to bug in AURweb I couldn't create an AUR package for those, so you'll have to install those manually. Here are links to PKGBUILD files for those packages:
https://gist.githubusercontent.com/loredan/ec63324205d778d7d3c912533d8cd8df/raw/f43980a8cc1f29a8837746aaf52361e7fcd477e7/PKGBUILD
https://gist.githubusercontent.com/loredan/be4e00b51881a1494b93382334b13640/raw/c796a6fba98e415bcd06cf53e664bafb26f785ef/PKGBUILD
After you have this package installed, copy an example config from /opt/klipper/config to /etc/klipper/klipper.cfg and adjust the values to suit your printer.
If needed, build and flash firmware as outlined in the documentation: https://github.com/KevinOConnor/klipper/blob/master/docs/Installation.md#building-and-flashing-the-micro-controller keeping in mind that klipper is placed in /opt/klipper directory
Then, start/enable the klipper service with systemctl.
Logs can be seen at /var/log/klipper/klippy.log
OctoPrint
Use the socket /run/klipper/sock. OctoKlipper is highly recommended.
WARNING
If you have ARM MCU on your printer you won't be able to compile firmware on ARM PC (which is the case for most computers running klipper). You will have to compile firmware on x86_64 PC