FreeCAD libs installed but not found when program is run (path issues?)

Hi,

FreeCAD 0.13.48 installed from Packman in oS 12.3 KDE 4.11 64-bit.

When run from the cmdline I get:

:~> FreeCAD
FreeCAD: error while loading shared libraries: libFreeCADGui.so: cannot open shared object file: No such file or directory

I’m not sure, but it seems that the directory structure is a bit unusual. The partial file listing from Yast is:


FreeCAD - FreeCAD is a general purpose 3D CAD modeler

/usr/lib64/FreeCAD
/usr/lib64/FreeCAD/Mod
.... (a bunch of .py, .spt and .so files under ./Mod)
/usr/lib64/FreeCAD/bin
/usr/lib64/FreeCAD/bin/FreeCAD
/usr/lib64/FreeCAD/bin/FreeCADCmd
/usr/lib64/FreeCAD/bin/pivy
/usr/lib64/FreeCAD/bin/pivy/__init__.py
/usr/lib64/FreeCAD/bin/pivy/_coin.so
/usr/lib64/FreeCAD/bin/pivy/coin.py
/usr/lib64/FreeCAD/bin/pivy/gui
/usr/lib64/FreeCAD/bin/pivy/gui/__init__.py
/usr/lib64/FreeCAD/bin/pivy/gui/_soqt.so
/usr/lib64/FreeCAD/bin/pivy/gui/soqt.py
/usr/lib64/FreeCAD/bin/pivy/sogui.py
/usr/lib64/FreeCAD/lib
/usr/lib64/FreeCAD/lib/Assembly.so
/usr/lib64/FreeCAD/lib/AssemblyGui.so
/usr/lib64/FreeCAD/lib/Complete.so
/usr/lib64/FreeCAD/lib/CompleteGui.so
/usr/lib64/FreeCAD/lib/Drawing.so
/usr/lib64/FreeCAD/lib/DrawingGui.so
/usr/lib64/FreeCAD/lib/Fem.so
/usr/lib64/FreeCAD/lib/FemGui.so
/usr/lib64/FreeCAD/lib/FreeCAD.so
/usr/lib64/FreeCAD/lib/FreeCADGui.so
/usr/lib64/FreeCAD/lib/Image.so
/usr/lib64/FreeCAD/lib/ImageGui.so
/usr/lib64/FreeCAD/lib/ImportGui.so
/usr/lib64/FreeCAD/lib/Inspection.so
/usr/lib64/FreeCAD/lib/InspectionGui.so
/usr/lib64/FreeCAD/lib/Mesh.so
/usr/lib64/FreeCAD/lib/MeshGui.so
/usr/lib64/FreeCAD/lib/MeshPart.so
/usr/lib64/FreeCAD/lib/MeshPartGui.so
/usr/lib64/FreeCAD/lib/Part.so
/usr/lib64/FreeCAD/lib/PartGui.so
/usr/lib64/FreeCAD/lib/Points.so
/usr/lib64/FreeCAD/lib/PointsGui.so
/usr/lib64/FreeCAD/lib/QtUnitGui.so
/usr/lib64/FreeCAD/lib/Raytracing.so
/usr/lib64/FreeCAD/lib/RaytracingGui.so
/usr/lib64/FreeCAD/lib/ReverseEngineering.so
/usr/lib64/FreeCAD/lib/ReverseEngineeringGui.so
/usr/lib64/FreeCAD/lib/Robot.so
/usr/lib64/FreeCAD/lib/RobotGui.so
/usr/lib64/FreeCAD/lib/Sketcher.so
/usr/lib64/FreeCAD/lib/SketcherGui.so
/usr/lib64/FreeCAD/lib/Start.so
/usr/lib64/FreeCAD/lib/StartGui.so
/usr/lib64/FreeCAD/lib/WebGui.so
/usr/lib64/FreeCAD/lib/libDriver.so
/usr/lib64/FreeCAD/lib/libDriverDAT.so
/usr/lib64/FreeCAD/lib/libDriverSTL.so
/usr/lib64/FreeCAD/lib/libDriverUNV.so
/usr/lib64/FreeCAD/lib/libFreeCADApp.so
/usr/lib64/FreeCAD/lib/libFreeCADBase.so
/usr/lib64/FreeCAD/lib/libFreeCADGui.so
/usr/lib64/FreeCAD/lib/libSMDS.so
/usr/lib64/FreeCAD/lib/libSMESH.so
/usr/lib64/FreeCAD/lib/libSMESHDS.so
/usr/lib64/FreeCAD/lib/libStdMeshers.so
/usr/share/FreeCAD
/usr/share/FreeCAD/License.txt
/usr/share/FreeCAD/Mod
/usr/share/FreeCAD/Mod/Drawing
/usr/share/FreeCAD/Mod/Drawing/Templates
/usr/share/FreeCAD/Mod/Drawing/Templates/A3_Landscape.svg
/usr/share/FreeCAD/Mod/Drawing/Templates/A3_Landscape_ISO7200.svg
/usr/share/FreeCAD/Mod/Drawing/Templates/A4_Landscape.svg
/usr/share/FreeCAD/Mod/Drawing/Templates/A4_Portrait_ISO7200.svg
/usr/share/FreeCAD/Mod/Drawing/Templates/A4_Simple.svg
/usr/share/FreeCAD/Mod/Raytracing
/usr/share/FreeCAD/Mod/Raytracing/Templates
/usr/share/FreeCAD/Mod/Raytracing/Templates/ProjectStd.pov
/usr/share/FreeCAD/Mod/Robot
/usr/share/FreeCAD/Mod/Robot/Lib
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/kr125_3.wrl
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/kr16.wrl
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/kr210.WRL
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/kr500_1.csv
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/kr500_1.wrl
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/kr_125.csv
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/kr_16.csv
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/kr_210_2.csv
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/testprog.dat
/usr/share/FreeCAD/Mod/Robot/Lib/Kuka/testprog.src
/usr/share/FreeCAD/Mod/Start
/usr/share/FreeCAD/Mod/Start/StartPage
/usr/share/FreeCAD/Mod/Start/StartPage/ArchDesign.png
/usr/share/FreeCAD/Mod/Start/StartPage/ArchDesign.py
/usr/share/FreeCAD/Mod/Start/StartPage/ArchExample.png
/usr/share/FreeCAD/Mod/Start/StartPage/Background.jpg
/usr/share/FreeCAD/Mod/Start/StartPage/Complete.png
/usr/share/FreeCAD/Mod/Start/StartPage/DefaultWorkbench.py
/usr/share/FreeCAD/Mod/Start/StartPage/FreeCAD.png
/usr/share/FreeCAD/Mod/Start/StartPage/LoadArchExample.py
/usr/share/FreeCAD/Mod/Start/StartPage/LoadDrawingExample.py
/usr/share/FreeCAD/Mod/Start/StartPage/LoadMRU0.py
/usr/share/FreeCAD/Mod/Start/StartPage/LoadMRU1.py
/usr/share/FreeCAD/Mod/Start/StartPage/LoadMRU2.py
/usr/share/FreeCAD/Mod/Start/StartPage/LoadPartDesignExample.py
/usr/share/FreeCAD/Mod/Start/StartPage/LoadRobotExample.py
/usr/share/FreeCAD/Mod/Start/StartPage/LoadSchenkel.py
/usr/share/FreeCAD/Mod/Start/StartPage/Mesh.png
/usr/share/FreeCAD/Mod/Start/StartPage/Mesh.py
/usr/share/FreeCAD/Mod/Start/StartPage/PartDesign.png
/usr/share/FreeCAD/Mod/Start/StartPage/PartDesign.py
/usr/share/FreeCAD/Mod/Start/StartPage/PartDesignExample.png
/usr/share/FreeCAD/Mod/Start/StartPage/Ship.png
/usr/share/FreeCAD/Mod/Start/StartPage/Ship.py
/usr/share/FreeCAD/Mod/Start/StartPage/ShipExample.png
/usr/share/FreeCAD/Mod/Start/StartPage/blank.png
/usr/share/FreeCAD/Mod/Start/StartPage/complete.jpg
/usr/share/FreeCAD/Mod/Start/StartPage/web.png
/usr/share/FreeCAD/examples
/usr/share/FreeCAD/examples/ArchDetail.FCStd
/usr/share/FreeCAD/examples/DrawingExample.FCStd
/usr/share/FreeCAD/examples/EngineBlock.FCStd
/usr/share/FreeCAD/examples/PartDesignExample.FCStd
/usr/share/FreeCAD/examples/RobotExample.FCStd
/usr/share/FreeCAD/examples/Schenkel.stp
/usr/share/FreeCAD/freecad-doc.png
/usr/share/applications/FreeCAD.desktop
/usr/share/doc/packages/FreeCAD
/usr/share/doc/packages/FreeCAD/ChangeLog.txt
/usr/share/doc/packages/FreeCAD/README.Linux
/usr/share/doc/packages/FreeCAD/Start_Page.html
/usr/share/doc/packages/FreeCAD/copying.lib
/usr/share/doc/packages/FreeCAD/freecad.qch
/usr/share/doc/packages/FreeCAD/freecad.qhc
/usr/share/pixmaps/freecad.xpm

total de 463 arquivos

I tried including the /usr/lib64/FreeCAD/bin & /lib paths to $PATH but it made no difference:

:~> PATH=/usr/lib64/FreeCAD/lib:$PATH
:~> PATH=/usr/lib64/FreeCAD/bin:$PATH
:~> FreeCAD
FreeCAD: error while loading shared libraries: libFreeCADGui.so: cannot open shared object file: No such file or directory
:~> $PATH
bash: /usr/lib64/FreeCAD/lib:/usr/lib64/FreeCAD/bin:/home/blimmer/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games: Arquivo ou diretório não encontrado

The “missing” lib (highlighted in red in both listings above) is installed, however. How do I fix this?

I’m also curious about the “File or folder not found” (Arquivo ou diretório não encontrado) message of $PATH, as all listed folders exist.

Thanks.

Hi
You should probably raise a bug at packman (or jump on th mailing list). If you look at the project page last commit comment it appears to be a bit broken;
https://pmbs.links2linux.de/package/show?package=FreeCAD&project=Extra

As a workaround, you could try to add /usr/lib64/FreeCAD/lib to /etc/ld.conf (or better create a new file with just that in /etc/ld.conf.d/).
Adding the directory to $PATH won’t help with libraries… :wink:

@malcom, thank you for the link. Indeed, the 12.3 package is broken, it’s no surprise it wouldn’t run.

@wolfi, thank you for the tip. Although it didn’t work - the package problems are more serious, it seems - I learned something new (for me), and this is always good.

For now I uninstalled FreeCAD mostly due to the constant openCASDADE 600+ MB dependency that is constantly being updated. I’ll come back to it when I have some free time - I’m up to my ears in work right now.

Best regards,

Bruno

You can use the FreeCAD in the kde extra repositories, though it is still on version 0.12, it works.

Here is what I did on 12.3:

zypper in libftgl2

install these from packman (I did them individually not as a repo)
FreeCAD-0.13.480f28-1.6.x86_64.rpmlibCoin60-3.1.3-5.7.x86_64.rpm
libSoQt20-1.5.0-5.38.x86_64.rpm
OpenCASCADE-6.5.0-15.39.x86_64.rpm
python-cxx-6.2.3-2.2.noarch.rpm
python-pivy-0.5.0svn765-4.4.x86_64.rpm

Then edit /etc/ld.so.conf

  • /usr/lib64/FreeCAD/lib/

ldconfig

Run:
/usr/lib64/FreeCAD/bin/FreeCAD

But now I get a problem with PartDesign.so (cannot find). Putting that in the ls.so.conf did not help. Next step anyone?

AFAICS this is in the directory /usr/lib64/FreeCAD/Mod/PartDesign/, so try to add that one to ld.so.conf as well (and maybe all the other subdirs in /usr/lib64/MOD/ ?)

As malcomlewis mentioned in his reply, i think it is much better to file a bug report
or contact the packager at packman.