添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Code: Select all

$ FreeCAD
FreeCAD 0.16, Libs: 0.16RUnknown
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2015
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##
Unhandled std::exception caught in GUIApplication::notify.
The error message is: Keine Berechtigung
Draft workbench activated
FreeCAD: SoType.cpp:730: SbBool SoType::isDerivedFrom(SoType) const: Zusicherung »!this->isBad()« nicht erfüllt.
Abgebrochen (Speicherabzug geschrieben)
			
FreeCAD: SoType.cpp:730: SbBool SoType::isDerivedFrom(SoType) const: Zusicherung »!this->isBad()« nicht erfüllt.
Check the dependencies of the _coin.so lib of the pivy package and libFreeCADGui.so

Code: Select all

ldd _coin.so
ldd libFreeCADGui.so
What is the output of both?
there is no _coin.so, only

Code: Select all

/usr/lib64 # find . -iname "*coin*" -exec ls -l {} \;
lrwxrwxrwx 1 root root 17 26. Dez 2016  ./libCoin.so.80 -> libCoin.so.80.0.0
-rwxr-xr-x 1 root root 10165896 18. Nov 2016  ./libCoin.so.80.0.0
lrwxrwxrwx 1 root root 17 15. Aug 22:50 ./libCoin.so.60 -> libCoin.so.60.1.3
-rwxr-xr-x 1 root root 9506272 22. Mai 19:04 ./libCoin.so.60.1.3
and here is the output of ...

Code: Select all

/usr/lib64 # ldd ./FreeCAD/lib/libFreeCADGui.so
        linux-vdso.so.1 (0x00007ffef8b6f000)
        libFreeCADApp.so => /usr/lib64/FreeCAD/lib/libFreeCADApp.so (0x00007fc176754000)
        libCoin.so.60 => /usr/lib64/libCoin.so.60 (0x00007fc175c3c000)
        libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fc1759cc000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fc17568c000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc17546c000)
        libQtOpenGL.so.4 => /usr/lib64/libQtOpenGL.so.4 (0x00007fc17516c000)
        libQtSvg.so.4 => /usr/lib64/libQtSvg.so.4 (0x00007fc174f14000)
        libQtWebKit.so.4 => /usr/lib64/libQtWebKit.so.4 (0x00007fc172bbc000)
        libQtGui.so.4 => /usr/lib64/libQtGui.so.4 (0x00007fc171efc000)
        libQtXml.so.4 => /usr/lib64/libQtXml.so.4 (0x00007fc171cb4000)
        libQtNetwork.so.4 => /usr/lib64/libQtNetwork.so.4 (0x00007fc17196c000)
        libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x00007fc17147c000)
        libboost_regex.so.1.58.0 => /usr/lib64/libboost_regex.so.1.58.0 (0x00007fc171174000)
        libboost_signals.so.1.58.0 => /usr/lib64/libboost_signals.so.1.58.0 (0x00007fc170f5c000)
        libboost_system.so.1.58.0 => /usr/lib64/libboost_system.so.1.58.0 (0x00007fc170d54000)
        libspnav.so.0 => /usr/lib64/libspnav.so.0 (0x00007fc170b4c000)
        libshiboken-python2.7.so.1.2 => /usr/lib64/libshiboken-python2.7.so.1.2 (0x00007fc17091c000)
        libFreeCADBase.so => /usr/lib64/FreeCAD/lib/libFreeCADBase.so (0x00007fc17059c000)
        libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x00007fc17018c000)
        libxerces-c-3.1.so => /usr/lib64/libxerces-c-3.1.so (0x00007fc16fbcc000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fc16f83c000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fc16f53c000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc16f324000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fc16ef7c000)
        libboost_program_options.so.1.58.0 => /usr/lib64/libboost_program_options.so.1.58.0 (0x00007fc16ed04000)
        libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x00007fc16ea84000)
        libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007fc16e874000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fc16e65c000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fc16e3bc000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fc16e1b4000)
        libopenal.so.1 => /usr/lib64/libopenal.so.1 (0x00007fc16df44000)
        libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fc16dd14000)
        libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007fc16db0c000)
        libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 (0x00007fc16d904000)
        libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007fc16d6fc000)
        libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007fc16d4f4000)
        libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007fc16d2c4000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fc16d0ac000)
        libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fc16cea4000)
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fc16cc9c000)
        libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007fc16ca94000)
        libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007fc16c87c000)
        libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007fc16c674000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fc16c454000)
        libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007fc16c24c000)
        libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007fc16c034000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc1777fc000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fc16be24000)
        libjpeg.so.8 => /usr/lib64/libjpeg.so.8 (0x00007fc16bbcc000)
        libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007fc16b98c000)
        libwebp.so.5 => /usr/lib64/libwebp.so.5 (0x00007fc16b72c000)
        libxslt.so.1 => /usr/lib64/libxslt.so.1 (0x00007fc16b4ec000)
        libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fc16b17c000)
        libgstapp-1.0.so.0 => /usr/lib64/libgstapp-1.0.so.0 (0x00007fc16af6c000)
        libgstpbutils-1.0.so.0 => /usr/lib64/libgstpbutils-1.0.so.0 (0x00007fc16ad34000)
        libgstvideo-1.0.so.0 => /usr/lib64/libgstvideo-1.0.so.0 (0x00007fc16aaac000)
        libgstaudio-1.0.so.0 => /usr/lib64/libgstaudio-1.0.so.0 (0x00007fc16a84c000)
        libgstbase-1.0.so.0 => /usr/lib64/libgstbase-1.0.so.0 (0x00007fc16a5ec000)
        libgstreamer-1.0.so.0 => /usr/lib64/libgstreamer-1.0.so.0 (0x00007fc16a2c4000)
        libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fc16a06c000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fc169d5c000)
        libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0 (0x00007fc169a94000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fc169854000)
        libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007fc16964c000)
        libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007fc16942c000)
        libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007fc16921c000)
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007fc16900c000)
        libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007fc168dfc000)
        libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007fc168bf4000)
        libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007fc168984000)
        libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007fc168524000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fc16831c000)
        libicui18n.so.52.1 => /usr/lib64/libicui18n.so.52.1 (0x00007fc167f04000)
        libicuuc.so.52.1 => /usr/lib64/libicuuc.so.52.1 (0x00007fc167b84000)
        libutil.so.1 => /lib64/libutil.so.1 (0x00007fc16797c000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fc167774000)
        liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007fc167544000)
        libgsttag-1.0.so.0 => /usr/lib64/libgsttag-1.0.so.0 (0x00007fc167304000)
        liborc-0.4.so.0 => /usr/lib64/liborc-0.4.so.0 (0x00007fc16707c000)
        libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007fc166e74000)
        libffi.so.4 => /usr/lib64/libffi.so.4 (0x00007fc166c64000)
        libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007fc1669f4000)
        libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007fc1667ec000)
        libicudata.so.52.1 => /usr/lib64/libicudata.so.52.1 (0x00007fc1665e4000)
I get the feeling, that this will be your next question  

Code: Select all

/usr/lib64 # rpm -aq | grep pivy
python-pivy-0.5.0+hg20101206.2327-2.2.x86_64
Greetings
Don't you have a package called pivy or python-pivy on suse? Usually you get this error
FreeCAD: SoType.cpp:730: SbBool SoType::isDerivedFrom(SoType) const: Zusicherung »!this->isBad()« nicht erfüllt.
when an application links two different Coin versions.
Obviously FreeCAD GUI links against libCoin.so.60 which is v3.1.3 and another library (I assume pivy) links against libCoin.so.80 which is 3.1.4 (or 4.0.0)
already posted I installed python-pivy from packman

Code: Select all

python-pivy-0.5.0+hg20101206.2327-2.2.x86_64
I found the coin lib files under

Code: Select all

/usr/lib/python2.7/site-packages/pivy/_coin.so

Code: Select all

/usr/lib64/libCoin.so.60
On which path does FreeCAD looking for these librarys? Maybe it would help to create a logical link on this path.
Greetings
So, what is the output of

Code: Select all

ldd /usr/lib/python2.7/site-packages/pivy/_coin.so
Is it also /usr/lib64/libCoin.so.60 or is it /usr/lib64/libCoin.so.80?
On which path does FreeCAD looking for these librarys? Maybe it would help to create a logical link on this path.
It's not the problem that FreeCAD can't find the library. The problem is that two different Coin versions are loaded at runtime and this leads to undefined behaviour.
Hello,

Code: Select all

$ ldd /usr/lib/python2.7/site-packages/pivy/_coin.so | grep libCoin
        libCoin.so.80 => /usr/lib64/libCoin.so.80 (0x00007efe9245f000)
$ ldd /usr/lib/python2.7/site-packages/pivy/_coin.so | grep 60
Well, if I understand right, FreeCAD needs libCoin 60, but python links 80s version. Is there an elegant method to bend the linker to the right library?
Greetings
Well, if I understand right, FreeCAD needs libCoin 60, but python links 80s version. Is there an elegant method to bend the linker to the right library?
No, that's not possible. Coin3d is a C++ library and version 3.1.3 and 3.1.4 (or 4.0.0 respectively) are binary incompatible. Any attempt to trick out the linker will either lead to an immediate crash or the linker reports unresolved symbols.
The one and only way is to report a bug to the package maintainer. Since pivy links against the newer version I recommend to contact the package maintainer for FreecAD to move to the newer Coin3d version. This should be fairly easy because only a build script or so needs to be adjusted, I guess. Source code of FreeCAD doesn't need to be touched as it runs with that Coin3d version for several years now.
Hello,
after deinstalling python-pivy FreeCAD starts and loads old sketches without crashing.
Currently I don't see a negative effect on FreeCAD. It will take time to find side effects.