Having trouble installing or compiling FreeCAD? Get help here.
HansEinar
Posts: 3 Joined: Wed Nov 07, 2018 11:45 am
Post
by HansEinar » Fri Feb 15, 2019 10:33 am
Hi! I got a segfault while loading a model in FreeCAD 17 on OpenSuse Leap 15. The model was created on FreeCAD 17 on Win 10.
Code: Select all
FreeCAD 0.17, Libs: 0.17RUnknown
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2018
##### #### ### ####
# # # # # #
# ## #### #### # # # # #
#### # # # # # # # ##### # #
# # #### #### # # # # #
# # # # # # # # # ## ## ##
# # #### #### ### # # #### ## ## ##
Cannot create object 'Body': (/usr/lib64/FreeCAD/lib/Part.so: undefined symbol: _ZN9BRep_Tool14CurveOnSurfaceERK11TopoDS_EdgeRK11TopoDS_FaceRdS6_Pb)
Program received signal SIGSEGV, Segmentation fault.
Segmentation fault (core dumped)
Is it possible to say if it's the FreeCad build on Leap 15 or the model that is causing the trouble based on this error message?
chrisb
Veteran
Posts: 53945 Joined: Tue Mar 17, 2015 9:14 am
Post
by chrisb » Fri Feb 15, 2019 11:21 am
Moved to Install forum. It's not a developer question.
wmayer
Founder
Posts: 20245 Joined: Thu Feb 19, 2009 10:32 am
Contact:
Post
by wmayer » Fri Feb 15, 2019 2:51 pm
Something is wrong with your FreeCAD installation.
After starting FreeCAD go to its Python console window (maybe you have to activate first under View > Panels > Python console).
Then enter
Do you still get the same error message?
If yes open a terminal window and enter:
Code: Select all
ldd /usr/lib64/FreeCAD/lib/Part.so
What is the output?
HansEinar
Posts: 3 Joined: Wed Nov 07, 2018 11:45 am
Post
by HansEinar » Wed Feb 20, 2019 8:44 am
Hi wmayer,
Sorry for a late reply but thanks for helping me out here
the import Part in python gave the same result.
Code: Select all
import Part
Traceback (most recent call last):
File "<input>", line 1, in <module>
ImportError: /usr/lib64/FreeCAD/lib/Part.so: undefined symbol: _ZN9BRep_Tool14CurveOnSurfaceERK11TopoDS_EdgeRK11TopoDS_FaceRdS6_Pb
here is my output of ldd
Code: Select all
ldd /usr/lib64/FreeCAD/lib/Part.so
linux-vdso.so.1 (0x00007ffdb0144000)
libTKFillet.so.7 => /usr/lib64/libTKFillet.so.7 (0x00007f3cdc805000)
libTKMesh.so.7 => /usr/lib64/libTKMesh.so.7 (0x00007f3cdc568000)
libTKernel.so.7 => /usr/lib64/libTKernel.so.7 (0x00007f3cdc1d3000)
libTKG2d.so.7 => /usr/lib64/libTKG2d.so.7 (0x00007f3cdbf5d000)
libTKG3d.so.7 => /usr/lib64/libTKG3d.so.7 (0x00007f3cdbc3b000)
libTKMath.so.7 => /usr/lib64/libTKMath.so.7 (0x00007f3cdb7d0000)
libTKIGES.so.7 => /usr/lib64/libTKIGES.so.7 (0x00007f3cdb196000)
libTKSTL.so.7 => /usr/lib64/libTKSTL.so.7 (0x00007f3cdaf7a000)
libTKShHealing.so.7 => /usr/lib64/libTKShHealing.so.7 (0x00007f3cdaacd000)
libTKXSBase.so.7 => /usr/lib64/libTKXSBase.so.7 (0x00007f3cda612000)
libTKBool.so.7 => /usr/lib64/libTKBool.so.7 (0x00007f3cd9fca000)
libTKBO.so.7 => /usr/lib64/libTKBO.so.7 (0x00007f3cd9b78000)
libTKBRep.so.7 => /usr/lib64/libTKBRep.so.7 (0x00007f3cd9874000)
libTKTopAlgo.so.7 => /usr/lib64/libTKTopAlgo.so.7 (0x00007f3cd9364000)
libTKGeomAlgo.so.7 => /usr/lib64/libTKGeomAlgo.so.7 (0x00007f3cd8bab000)
libTKGeomBase.so.7 => /usr/lib64/libTKGeomBase.so.7 (0x00007f3cd8467000)
libTKOffset.so.7 => /usr/lib64/libTKOffset.so.7 (0x00007f3cd80e0000)
libTKPrim.so.7 => /usr/lib64/libTKPrim.so.7 (0x00007f3cd7e7c000)
libTKSTEP.so.7 => /usr/lib64/libTKSTEP.so.7 (0x00007f3cd7900000)
libTKFeat.so.7 => /usr/lib64/libTKFeat.so.7 (0x00007f3cd75cd000)
libFreeCADApp.so => /usr/lib64/FreeCAD/lib/libFreeCADApp.so (0x00007f3cd7105000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f3cd6e5e000)
libFreeCADBase.so => /usr/lib64/FreeCAD/lib/libFreeCADBase.so (0x00007f3cd6aba000)
libpython3.6m.so.1.0 => /usr/lib64/libpython3.6m.so.1.0 (0x00007f3cd6556000)
libxerces-c-3.1.so => /usr/lib64/libxerces-c-3.1.so (0x00007f3cd5fba000)
libboost_system.so.1.66.0 => /usr/lib64/libboost_system.so.1.66.0 (0x00007f3cd5db5000)
libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5 (0x00007f3cd5672000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f3cd52e9000)
libm.so.6 => /lib64/libm.so.6 (0x00007f3cd4f9e000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3cd4d87000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3cd49cd000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3cd47af000)
librt.so.1 => /lib64/librt.so.1 (0x00007f3cd45a7000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3cd43a3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3cdd31a000)
libTKSTEPAttr.so.7 => /usr/lib64/libTKSTEPAttr.so.7 (0x00007f3cd408b000)
libTKSTEP209.so.7 => /usr/lib64/libTKSTEP209.so.7 (0x00007f3cd3dd8000)
libTKSTEPBase.so.7 => /usr/lib64/libTKSTEPBase.so.7 (0x00007f3cd3927000)
libboost_program_options.so.1.66.0 => /usr/lib64/libboost_program_options.so.1.66.0 (0x00007f3cd36aa000)
libboost_regex.so.1.66.0 => /usr/lib64/libboost_regex.so.1.66.0 (0x00007f3cd339c000)
libboost_signals.so.1.66.0 => /usr/lib64/libboost_signals.so.1.66.0 (0x00007f3cd3184000)
libQt5Xml.so.5 => /usr/lib64/libQt5Xml.so.5 (0x00007f3cd2f48000)
libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f3cd2d2b000)
libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f3cd2ae7000)
libz.so.1 => /lib64/libz.so.1 (0x00007f3cd28d0000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f3cd26cd000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f3cd2445000)
libicuuc.so.60.2 => /usr/lib64/libicuuc.so.60.2 (0x00007f3cd2086000)
libsystemd.so.0 => /usr/lib64/libsystemd.so.0 (0x00007f3cd1df1000)
libicui18n.so.60.2 => /usr/lib64/libicui18n.so.60.2 (0x00007f3cd193c000)
libdouble-conversion.so.1 => /usr/lib64/libdouble-conversion.so.1 (0x00007f3cd172b000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f3cd1415000)
libnghttp2.so.14 => /usr/lib64/libnghttp2.so.14 (0x00007f3cd11ef000)
libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007f3cd0fd2000)
libssh.so.4 => /usr/lib64/libssh.so.4 (0x00007f3cd0d60000)
libpsl.so.5 => /usr/lib64/libpsl.so.5 (0x00007f3cd0b50000)
libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f3cd08e4000)
libcrypto.so.1.1 => /usr/lib64/libcrypto.so.1.1 (0x00007f3cd0457000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f3cd020c000)
libldap_r-2.4.so.2 => /usr/lib64/libldap_r-2.4.so.2 (0x00007f3ccffb8000)
liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007f3ccfda9000)
libicudata.so.60.2 => /usr/lib64/libicudata.so.60.2 (0x00007f3ccfba8000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f3ccf991000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f3ccf768000)
libcap.so.2 => /usr/lib64/libcap.so.2 (0x00007f3ccf563000)
liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f3ccf328000)
liblz4.so.1 => /usr/lib64/liblz4.so.1 (0x00007f3ccf113000)
libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007f3ccedf7000)
libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007f3ccebd7000)
libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f3cce94a000)
libunistring.so.2 => /usr/lib64/libunistring.so.2 (0x00007f3cce5c8000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f3cce2ee000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f3cce0bc000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f3ccdeb8000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f3ccdcab000)
libsasl2.so.3 => /usr/lib64/libsasl2.so.3 (0x00007f3ccda8e000)
libkeyutils.so.1 => /usr/lib64/libkeyutils.so.1 (0x00007f3ccd88a000)
is this what you need?
HansEinar
wmayer
Founder
Posts: 20245 Joined: Thu Feb 19, 2009 10:32 am
Contact:
Post
by wmayer » Wed Feb 20, 2019 10:57 am
Yes, that's the information I asked for. But unfortunately, I couldn't figure out what the actual reason is.
The function BRep_Tool::CurveOnSurface is part of the file BRep_Tool.cxx and this should be offered by the libTKBRep.so file.
Now according to the output of ldd the module Part.so also links against libTKBRep.so.
Theoretically there are two things that could have happened:
1. Your FreeCAD version was linked against a slightly different version of OCCT and due to this there are some binary incompatibilities.
2. For some reason libTKBRep.so does not provide BRep_Tool::CurveOnSurface. If the symbol information haven't been stripped from OCCT libs you can try:
nm /usr/lib64/libTKBRep.so.7 | grep _ZN9BRep_Tool14CurveOnSurface
HansEinar
Posts: 3 Joined: Wed Nov 07, 2018 11:45 am
Post
by HansEinar » Thu Feb 21, 2019 1:15 pm
Thanks!
I did the nm /usr/lib64/libTKBRep.so.7 | grep _ZN9BRep_Tool14CurveOnSurface
and it returned with
nm: /usr/lib64/libTKBRep.so.7: no symbols
I searched for the provider of libTKBRep.so.7 and found it to be OpenCASCADE. Here is some detailed information from my package manager
Code: Select all
libopencascade7 - OpenCASCADE libraries
Installed Version: 7.2.0-lp150.1.21
Sun 13 May 2018 05:59:35 AM CEST
Sat 03 Nov 2018 01:07:23 PM CET
Development/Libraries/C and C++
LGPL-2.1 WITH OCCT-exception-1.0
73.7 MiB
0 B
openSUSE Leap 15.0
openSUSE
https://bugs.opensuse.org
x86_64
http://www.opencascade.org/
occt-7.2.0-lp150.1.21
0
I tried to reinstall the package, but no luck.
Can this be a problem with OpenSUSE Leap 15.0?
HansEinar
wmayer
Founder
Posts: 20245 Joined: Thu Feb 19, 2009 10:32 am
Contact:
Post
by wmayer » Thu Feb 21, 2019 1:29 pm
Can this be a problem with OpenSUSE Leap 15.0?
Yes, to me this seems to be the case.