I decided to try building #FreeCAD from source. I used a F39 toolbox on my #Fedora 40 #Silverblue and installed the prereqs; most from packages, but pyside2 from pip (inside the toolbox) since it hasn't been packaged in Fedora for years. The segfault I'm getting from libshiboken isn't illuminating to me. I could imagine a missing dependency on a package causing a segfault, or maybe no one is building FreeCAD on Fedora and it just doesn't work on F39. 🤔
Not clear that I'm close enough to the beaten path for this to be worth a bug report, though. Quite likely PEBCAK...
@mcdanlj i think here the problem is you need more than just the (compiled) pyside packages from pip.. To compile, FreeCAD needs the full pyside infrastructure (shiboken), because FreeCAD itself provides pyside stuff. Shiboken is indeed an annoying thing with kinds of config files that have to match qt/python versions.. I would advise to build shiboken+pyside yourself too if it's not available from the package manager
@yorik I installed shiboken from distro packages and pyside from pip because it has been dropped from Fedora for not keeping up with Python versions (if I understand correctly).
So shiboken should match system Python, but probably pyside didn't match shiboken.
Is there a Linux distribution and specific version of it that is common for FreeCAD developers? I should be able to install a toolbox or distrobox of it to build and run in. My goal here is to "paddle downstream" by using something similar to you folks who are regularly building current upstream. 😁
@yorik Building and running it in a debian:latest container is working, thank you! I used both shiboken and pyside as packaged, not using pip. The current docker build instructions are missing three packages. But one seems to have been intentionally removed, so I just put the information in github for someone who knows what's intended to decide what to do about it.
Some are likely modernization patches to get it to compile.
If using the flatpak of it is fine enough, then: problem solved. Otherwise, seeing how the flatpak built (especially the patches) could help with building it from source, even into a package.
My only purpose is to try builds from source, running from the build directory, so that I can try things out without waiting for a new weekly build. I use the weekly appimages rather than the flatpak in part because of flatpak moving configuration to not share with native installs.
Because I want to build from git without patches, I'd rather find out what the upstream developers build on, so I can set up a toolbox or distrobox of that particular environment.
@garrett Yeah, it's the same pyside2 problem I ran into in toolbox. Pyside2 has been dropped from Fedora, I think that was because it's not working on current Python.
I think this is a temporary state, and when FreeCAD moves to Pyside6 along with the Qt6 framework, it will be easier. But that's not going to come before FreeCAD 1.0 I think.
So I think at least currently I'll start from a Debian container since @yorik is using Debian.
Add comment