FYI: Debian Testing build broken (due to debian packaging)

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

FYI: Debian Testing build broken (due to debian packaging)

Post by mlampert »

Currently I can't build FC on Debian Testing because it pulled in python 3.10 as the default but still has Shiboken2 built against 3.9.
It's been this way for a few days - I'm afraid there's nothing we can do other than wait until they update Shiboken2.
Last edited by mlampert on Sun May 01, 2022 10:24 pm, edited 1 time in total.
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: [solved - kinda] FYI: Debian Testing build broken (due to debian packaging)

Post by mlampert »

'turns out if I uninstall the package `shiboken2-dev` the build succeeds - so far I haven't found an issue with the resulting binary, marking the thread as "solved".
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: [solved - kinda] FYI: Debian Testing build broken (due to debian packaging)

Post by mlampert »

I was wrong - after more testing FC does run into problems with the different python versions. Basic functionality works though and the unit tests pass.
wmayer
Founder
Posts: 20243
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: FYI: Debian Testing build broken (due to debian packaging)

Post by wmayer »

Most of FreeCAD will still work without a direct shiboken/PySide dependency. But directly getting or setting a quantity property as here won't work any more because the converter is implemented in C++.

AFAIR in the Path wb this feature is used in several places in the code.
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: FYI: Debian Testing build broken (due to debian packaging)

Post by mlampert »

Yes it is.

Did some digging and found this issue which was fixed in version 6.2: https://bugreports.qt.io/browse/PYSIDE-1436
The current version in debian is 5.15 - I suspect the versioning follows the major version of QT which probably makes it questionable if this fix (and thereby compatibility with python 3.10) gets backported.

If that's the case we might have an issue when the next debian version comes out.

Can I tell the FC build to use python 3.9 instead of the default python3 installation?
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: FYI: Debian Testing build broken (due to debian packaging)

Post by mlampert »

I have set the default python version in my installation to 3.9. I have successfully used that to compile some other packages. FreeCAD however insists on still using version 3.10.

What do I need to do in order for the FC build to pick up the set version of the OS?
wmayer
Founder
Posts: 20243
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: FYI: Debian Testing build broken (due to debian packaging)

Post by wmayer »

Can I tell the FC build to use python 3.9 instead of the default python3 installation?
Yes. If you open the CMake GUI panel then you will find the entry PYTHON_EXECUTABLE that by default is set to python3. Just change it to the absolute path of the Python executable of 3.9 and rerun Configure.
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: FYI: Debian Testing build broken (due to debian packaging)

Post by mlampert »

Interesting, although the system is configured to map `/usr/bin/python3` to version 3.9 the build system still picks up 3.10. However, explicitly specifying `-DPYTHON_EXECUTABLE=/usr/bin/python3` does the trick for the build to pick up 3.9.

Thanks! Not sure if this is a viable solution for when Debian will be released but it works for me!
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: FYI: Debian Testing build broken (due to debian packaging)

Post by mlampert »

I should know better than to post before the build completed and I did an actual test :mrgreen: . FC segfaults.

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
#0  /lib/x86_64-linux-gnu/libc.so.6(+0x38920) [0x7f531a466920]                                                         
#1  /usr/lib/x86_64-linux-gnu/libpyside2.cpython-310-x86_64-linux-gnu.so.5.15(+0x1f501) [0x7f53199fb501]               
#2  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0xda2be) [0x7f531bbe62be]                                           
#3  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6dce) [0x7f531bb83a9e]                    
#4  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f531bb7c053]                                           
#5  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyObject_FastCallDictTstate+0x53) [0x7f531bbdd093]                  
#6  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyObject_Call_Prepend+0xe0) [0x7f531bbdd2b0]                        
#7  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x13582a) [0x7f531bc4182a]                                          
#8  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x12a3aa) [0x7f531bc363aa]                                          
#9  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyObject_MakeTpCall+0x88) [0x7f531bbda9b8]                          
#10  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x839d) [0x7f531bb8506d]                   
#11  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1acafe) [0x7f531bcb8afe]                                         
#12  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalCodeWithName+0x4e) [0x7f531bcb8e3e]                     
#13  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyEval_EvalCodeEx+0x3b) [0x7f531bcb8e8b]                            
#14  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyEval_EvalCode+0x1b) [0x7f531bcb421b]                              
#15  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1a6ccd) [0x7f531bcb2ccd]                                         
#16  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x116fef) [0x7f531bc22fef]                                         
#17  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x2362) [0x7f531bb7f032]                   
#18  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1acafe) [0x7f531bcb8afe]                                         
#19  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyFunction_Vectorcall+0xa1) [0x7f531bbd3e01]                       
#20  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x811d) [0x7f531bb84ded]                   
#21  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f531bb7c053]                                          
#22  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6dce) [0x7f531bb83a9e]                   
#23  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f531bb7c053]                                          
#24  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6466) [0x7f531bb83136]                   
#25  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f531bb7c053]                                          
#26  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6466) [0x7f531bb83136]                   
#27  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x70053) [0x7f531bb7c053]                                          
#28  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0xd0894) [0x7f531bbdc894]                                          
#29  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyObject_CallMethodIdObjArgs+0xfb) [0x7f531bbdcbfb]                
#30  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyImport_ImportModuleLevelObject+0x29c) [0x7f531bcddf0c]            
#31  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1a8aea) [0x7f531bcb4aea]                                         
#32  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x112443) [0x7f531bc1e443]                                         
#33  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyObject_Call+0x5c) [0x7f531bbdd48c]                               
#34  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x2362) [0x7f531bb7f032]                   
#35  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1acafe) [0x7f531bcb8afe]                                         
#36  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyFunction_Vectorcall+0xa1) [0x7f531bbd3e01]                       
#37  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x5456) [0x7f531bb82126]                   
#38  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1acafe) [0x7f531bcb8afe]                                         
#39  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalCodeWithName+0x4e) [0x7f531bcb8e3e]                     
#40  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyEval_EvalCodeEx+0x3b) [0x7f531bcb8e8b]                            
#41  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyEval_EvalCode+0x1b) [0x7f531bcb421b]                              
#42  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1f147e) [0x7f531bcfd47e]                                         
#43  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyRun_StringFlags+0x93) [0x7f531bcfdd93]                            
#44  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1a6bac) [0x7f531bcb2bac]                                         
#45  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x116fef) [0x7f531bc22fef]                                         
#46  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6466) [0x7f531bb83136]                   
#47  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1acafe) [0x7f531bcb8afe]                                         
#48  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyFunction_Vectorcall+0xa1) [0x7f531bbd3e01]                       
#49  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6466) [0x7f531bb83136]                   
#50  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1acafe) [0x7f531bcb8afe]                                         
#51  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyFunction_Vectorcall+0xa1) [0x7f531bbd3e01]                       
#52  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x6466) [0x7f531bb83136]                   
#53  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1acafe) [0x7f531bcb8afe]                                         
#54  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(_PyEval_EvalCodeWithName+0x4e) [0x7f531bcb8e3e]                     
#55  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyEval_EvalCodeEx+0x3b) [0x7f531bcb8e8b]                            
#56  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyEval_EvalCode+0x1b) [0x7f531bcb421b]                              
#57  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(+0x1f147e) [0x7f531bcfd47e]                                         
#58  /usr/lib/x86_64-linux-gnu/libpython3.9.so.1.0(PyRun_StringFlags+0x93) [0x7f531bcfdd93]                            
#59  0x7f531c295ba7 in Base::InterpreterSingleton::runString[abi:cxx11](char const*) from /home/markus/projects/FreeCAD/dev/build/lib/libFreeCADBase.so+0xd5                                                                                  
#60  0x7f531e3e5c43 in Gui::Application::runInitGuiScript() from /home/markus/projects/FreeCAD/dev/build/lib/libFreeCADGui.so+0x3d                                                                                                            
#61  0x7f531e3e7aa6 in Gui::Application::runApplication() from /home/markus/projects/FreeCAD/dev/build/lib/libFreeCADGui.so+0x1e50                                                                                                            
#62  ../build/bin/FreeCAD(+0x124d3) [0x55b7deff04d3]                                                                   
#63  /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xcd) [0x7f531a4517fd]                                          
#64  ../build/bin/FreeCAD(+0x1166a) [0x55b7defef66a]   
wmayer
Founder
Posts: 20243
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: FYI: Debian Testing build broken (due to debian packaging)

Post by wmayer »

#1 /usr/lib/x86_64-linux-gnu/libpyside2.cpython-310-x86_64-linux-gnu.so.5.15(+0x1f501) [0x7f53199fb501]
What does this mean? Is your PySide2 version linked to Py3.10? Would be really strange if shiboken2 linked Py3.9 and PySide2 Py3.10.
Post Reply