I've received a bug: https://bugzilla.redhat.com/show_bug.cgi?id=2134832
The basic issue is that Fedora uses both /usr/lib/python3.10 and
/usr/lib64/python3.10; i.e. they separate the 32-bit and 64-bit files. The
KiCad build scripts currently put _pcbnew.so into /usr/lib/python3.10, but
because that file is a 64-bit shared library, it should go into
/usr/lib64/python3.10 on Fedora.
I tried manually running the command that CMakeLists.txt uses to find the path:
python3 -c "import
distutils.sysconfig;print(\"%s\"%distutils.sysconfig.get_python_lib(plat_specific=0,
standard_lib=0, prefix=''))"
and that indeed returns:
lib/python3.10/site-packages
I could try overriding this by explicitly setting the PYTHON_SITE_PACKAGE_PATH
variable, but I doubt that is the correct approach. The above command returns
a deprecation warning, suggesting using sysconfig instead of
distutils.sysconfig.
Here is everything that python3 has for the sysconfig.get_paths() method:
python3 -c "from sysconfig import get_paths; print(get_paths())"
{'stdlib': '/usr/lib64/python3.10', 'platstdlib':
'/usr/local/lib64/python3.10', 'purelib':
'/usr/local/lib/python3.10/site-packages', 'platlib':
'/usr/local/lib64/python3.10/site-packages', 'include':
'/usr/include/python3.10', 'platinclude': '/usr/include/python3.10', 'scripts':
'/usr/local/bin', 'data': '/usr/local'}
So stdlib looks like the correct base path, although we'd have to tack on the
site-packages suffix. Note that I don't think we should use platlib, because
the bulk of KiCad is installed into /usr rather than /usr/local.
Please let me know what you think is the correct solution.
Steve
--
You received this message because you are subscribed to the Google Groups "KiCad
Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/kicad.org/d/msgid/devlist/5a8a8020-0f35-0eac-027e-1e159400f9cd%40gmail.com.