Fedora provides the latest stable release of KiCad to its users, and updates are typically published within a couple of days after a new version has been released. But 5.1.x was branched off in March 2019, and since then a lot of new features have been merged to the KiCad development code base. This makes it more and more interesting to try out nightly builds.
The KiCad project already maintains a Copr repository for nightly builds. But the way the applications are packaged makes it impossible to install them in parallel to the stable KiCad release from the official Fedora repository. Users have to decide which one they want to use.
To make it easier for Fedora users to help testing the development version of KiCad, we are currently working on a new set of packaging scripts. It will allow to install the nightly build in parallel to the stable release and even to run both versions at the same time. As Fedora does not provide an easy mechanism to achieve this, we have to apply a couple of tricks similar to the ones used by the kicad-dev-nightly PPA for Ubuntu (which already supports this since quite some time).
To make sure that everything works as expected and we do not introduce any regressions, a lot of testing needs to be done. Therefore we are looking for volunteers who want to try out the new packages and give us feedback.
For the time being, I have set up a dedicated Copr repository. It is x86_64-only, but I can enable other architectures upon request.
https://copr.fedorainfracloud.org/coprs/aimylios/kicad-nightly-test/
If you have never used Copr before, you may first have to install the required dnf plugin:
dnf install dnf-plugins-core
Then the new repository must be enabled:
dnf copr enable aimylios/kicad-nightly-test
And the application can be installed:
dnf install kicad-nightly
Please note that this package does not bundle any of the libraries. But they are available as separate packages (kicad-nightly-templates, kicad-nightly-symbols, kicad-nightly-footprints, and kicad-nightly-packages3d), in case you need them.
Please leave your feedback here in this thread. We would like to hear if you are experiencing any issues installing the new package, and if all of the applications work as expected w/ and w/o having the stable KiCad package installed in parallel.
Disclaimer
Nightly development builds are untested, might be affected by serious bugs and/or produce files that are incompatible with the latest stable release. This can potentially lead to a corruption or even loss of data. Always take a backup of your projects before opening them with the applications from this package. I strongly recommend to take a look at this FAQ article before installing and using a nightly build:
Known limitations
- File type associations
The nightly and the release package register the same file extensions. If you have both of them installed in parallel, your file manager will therefore not know which application to use to open KiCad files (*.pro, *.sch, *.kicad_pcb), and it may arbitrarily choose the one or the other. To be sure to always open a project with the desired version, I would recommend to directly launch the correct application and then use the File -> Open… menu entry.
- Python scripting
The Pcbnew Python scripting functionality works from within Pcbnew (i.e., Scripting Console and Action Plugins). It does not work out-of-the-box when launching a standalone Python interpreter. Executing “import pcbnew” will most likely lead to one of the following error messages:
ModuleNotFoundError: No module named ‘pcbnew’
ImportError: libkicad_3dsg.so.2.0.0: cannot open shared object file: No such file or directory
This can be worked around by setting the LD_LIBRARY_PATH and PYTHONPATH environment variables before launching the Python interpreter (or by applying some tricks from within your script before importing the pcbnew module). E.g., on Fedora 32:
export LD_LIBRARY_PATH=/usr/lib/kicad-nightly/lib64/:/usr/lib/kicad-nightly/lib/
export PYTHONPATH=/usr/lib/kicad-nightly/lib/python3.8/site-packages/
When the stable release is installed in parallel, “import pcbnew” will import the 5.1.x version of the Python bindings (because they are installed to the default path).
- Debugging
The commands to launch the nightly versions of the KiCad applications are kicad-nightly, eeschema-nightly, pcbnew-nightly, etc. But the binaries themselves are installed in a non-standard location (/usr/lib/kicad-nightly/bin/). So if you want to debug the applications or get a backtrace for a bug report, you will have to point the debugger to the binaries, e.g., “gdb /usr/lib/kicad-nightly/bin/kicad” instead of “gdb kicad-nightly”.