KiCad on Ubuntu 20

Developers, is there some date to the official KiCad release at Ubuntu 20? (Nightly versions) Will it be released together with the official OS release?

Also is there some plan to create a general package system such snap?

I’m not a developer, but I can say that KiCad releases aren’t coordinated with any OS release. The main developers don’t package KiCad (although there’s no reason they couldn’t, the core developers and the packagers are different people ATM).

Snap or other packages are created if the famous “someone” takes that responsibility. Maintained packages can be added to the web page. Some packages which once were maintained but then left unmaintained have even been removed from the list.

On Debian you can install KiCad V5.1.5 via “backports”, at least for Buster, which is now stable.

In theory the packaging of programs for Linux is a wonderful concept. In practice it looks like a big mess to me. Edit: eelik is right of course, there are far more Linux distro’s (1000’s) than packaging systems ( 10 or so?).

If you want anything apart from some programs that are “historically included” or are very big, (such as Firefox) then it seems you enter a jungle and are not much better of then windows, where most people seem to download random programs from the internet and install them without giving thought to it, or people who do not dare to install anything anymore.

I recently installed KiCad V5.1.5 via the js-reynaud ppa, and I guessed they woud be trustworthy, but how do you know?
No offence to jsreynaud, but my global thought process is that I can trust anything that I can install with apt, and at least have to be careful with anything else.
But how can you be careful? When do you trust a stranger?
Some time ago I installed platformio. It took me about 2 months to do it, just because there is no trust. Platformio is also installed via pip, (a python thing) and from what I understand it can install about anything from random sources.

@jsreynaud May be able to answer when the PPA will be updated to compile for 20.04.

The general package for FlatPak is here https://kicad-pcb.org/download/flatpak/

That’s not true. Distros may have different packages, but that doesn’t mean different packaging systems. There are relatively few mainstream packaging systems. It’s just that the packages packaged for one system often aren’t compatible with other systems, even with the same packaging system.

I have to admit that the new distro “independent” packaging systems have made things more complicated, not less. Basically they have to either package a distro inside the package or have a distro inside a distro pre-installed, or something in-between. None of them works out-of-the-box without a hassle.

Exactly. Main change on Ubuntu 18 was the update on wxWidgets (and its dependencies) that made KiCad Nigthly not be available anymore to Ubuntu 16. On Ubuntu 20 is the removal Python2.
So, each package file (each system/version of same main OS) should take this into account on it compilation.

I think KiCad is already ported to python 3. (I think only the windows version stayed on python 2)

Yes. I had activate 20.04 build. I few days should be fully available.

1 Like

Will it be in ppa:js-reynaud/kicad-dev-nightly?
When released (https://launchpad.net/~js-reynaud/+archive/ubuntu/kicad-dev-nightly) I will start report…

Yes. It will be there. For the moment I have dependancies issue to fix…

It is released. I will report the first issue on Gitlab

I fear this isn’t completely true. I raised this question back in October last year on the mailing list.
https://lists.launchpad.net/kicad-developers/msg42349.html
And still some Python files (in the end the same file as in my first post to the list) depend on python{,2}.

$ for file in `find -type f -name "*.py"`; do if head -1 $file | grep -e python2 -e /python; then echo found in $file; fi ;done
#!/usr/bin/python
found in ./scripts/lib_convert.py
#!/usr/bin/python
found in ./scripts/test_plugin.py
#!/usr/bin/python
found in ./scripts/test_kicad_plugin.py
#!/usr/bin/env python2
found in ./scripts/ddr3_length_match.py
#!/usr/bin/env python2.7
found in ./pcbnew/python/examples/createFPC40.py

So far that I’ve looked into the existing files there are some more candidates that will need some adoption. But it’s some time ago I’ve done this. But I don’t expect anybody has done anything yet here. I’ve no idea what files are still needed here and what’s the purpose of them all. They aren’t documented well.

I didn’t test the plugins yet, just the basic capabilities of KiCad on Ubuntu 20.

I’ve got a blue shield in the taskbar, saying to me that a new KiCad update is available for my Linux Mint box. :slight_smile:

About the python thing… In my version info below there is a line with:

KICAD_SCRIPTING_PYTHON3=ON

.
.
.

Application: KiCad
Version: 5.1.5-52549c5~84~ubuntu18.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 5.3.0-42-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
Boost: 1.65.1
OpenCASCADE Community Edition: 6.9.1
Curl: 7.58.0
Compiler: GCC 7.4.0 with C++ ABI 1011

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=ON
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

KiCad itself uses python 3 (meaning the python API is using version 3.x)

Some scripts might still be made for python 2. If these scripts rely on the pcbnew API then they are currently unusable. If they are standalone then they can still be run with your operating systems python 2 installation.

The code base transition to Python3 is tracked here: https://gitlab.com/groups/kicad/-/epics/2

Only the Linux builds default to Python3 if the distro supports it - both windows and mac are still running with python2.

For windows, it is complicated to switch because the wxwidgets python framework we use (wxPython for python2, Phoenix for python3) has removed compilation support for msys2/mingw and switched their build chain to visual studio instead - and libraries compiled with visual studio aren’t compatible with applications compiled with msys2.

For mac, it is more of an issue of developer time. There are several changes to the mac packaging in the pipeline, and not many devs working on them.

To my knowledge, no one has touched them since then. This is again an issue of developer cycles and priorities - there is a lot on the lead dev team right now and this is very low on the priority list.

If anyone is a python developer - feel free to help us out by going through these files and making them python3 compatible. It may even be as simple as running 2to3 on them and fixing the invocation lines, but I don’t know.

Today I Updated Kicad twice on my Linux Mint box from js-reynaud.

paul@dualcore:~$ apt version kicad
5.1.5-202003261335+52549c5~85~ubuntu18.04.1

paul@dualcore:~$ apt version kicad
5.1.5-202003271336+52549c5~86~ubuntu18.04.1

KiCad info from the about box does not show the long date code which I found weird. Upon checking with this thread however I saw a steady increment in “84”, “85”, and now “86”. So I guess it’s normal and I just learned something about KiCad’s version numbers.

Just for kicks:

Application: KiCad
Version: 5.1.5-52549c5~86~ubuntu18.04.1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 5.3.0-42-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
Boost: 1.65.1
OpenCASCADE Community Edition: 6.9.1
Curl: 7.58.0
Compiler: GCC 7.5.0 with C++ ABI 1011
Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=ON
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

Nothing weird there, apt shows you package version, not application version. It’s up to package maintainer to chose how to version the packages but it’s generally accepted that package version will contain app version (or the important bits of it) for easier identification.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.