[SOLVED]FC 0.14.3692 failure at startup ("undefined symbol")

Having trouble installing or compiling FreeCAD? Get help here.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
DanielH
Posts: 7
Joined: Thu Apr 10, 2014 8:09 pm

[SOLVED]FC 0.14.3692 failure at startup ("undefined symbol")

Post by DanielH »

Yesterday I've upgraded to FreeCAD 0.14.3692-1 from 0.13.1830-1 (wich have worked for me since few months ago without problems).

FC 0.14.3692-1 doesn't work at all, showing "/opt/freecad/lib/PartGui.so: undefined symbol: _ZN8Standard4FreeERPv" message at start in status bar.
Same message in Terminal, if FC was started from.

Switching to Sketcher, PartDesign, Part and another related workbenchs: FC shows a failure window with the same message showed at startup: "/opt/freecad/lib/PartGui.so: undefined symbol: _ZN8Standard4FreeERPv".
Creating a new file or opening a previous file in these workbenchs: FC immediatly closes with Segmentation fault.

PartGui.so file (2365816 bytes) is in /opt/freecad/lib/, so FC is not missing any library.

Another example:
Opening FC from Terminal, creating a new file in Draft workbench: "Draft workbench activated"; then drawing a circle: "Running the Python command 'Draft_Circle' failed:
Traceback (most recent call last): File "/opt/freecad/Mod/Draft/DraftTools.py", line 965, in Activated Creator.Activated(self,self.featureName) \ File "/opt/freecad/Mod/Draft/DraftTools.py", line 421, in Activated DraftTool.Activated(self) \ File "/opt/freecad/Mod/Draft/DraftTools.py", line 222, in Activated import Part, DraftGeomUtils"
Segmentation fault.

I'm using ArchBang x86_64 (Arch Linux spin-off); Kernel: 3.15.3-1-ARCH; Window Manager: openbox; RAM 2004 MB; CPU: Intel(R) Core(TM)2 Duo CPU T8100.
Python version: 2.7.8; Qt version: 4.8.6; Coin version: 3.1.3; SoQt version: 1.5.0.

My system, dependences and all these stuff are up to date, FC 0.14.3692-1 was compiled without problems...
(Note: to compile FC 0.13.1380, I have used -DCMAKE_C_FLAGS:STRING="$CFLAGS -fpermissive" and -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS -fpermissive"; not needed to compile 0.14.3692-1).

Failure is "distro related", "compiling related" or "source related"?
Any clue?

Thanks for all in advance (and forgive my bad english, I'm argentinian and only speak spanish).
DanielH

-------------------------------------------------------------------------------------------------------------------------

At July 11, 2014 21:24 local hour (-3 GMT)

SOLVED! :D

I've removed and recompiled FC 0.14.3962 in Arch Linux, and now it works!!!

The one and only change I have made: edit makedepend= statement line from 'eigen3' to 'eigen' in PKGBUILD (Arch's script to compile and install a package).

In Arch repository, now Arch's "eigen" package provides eigen 3.2.1 and "eigen2" package provides eigen 2.0.17; in the recent past "eigen" package provides eigen 2.x.x and "eigen3" package provides eigen 3.x.x.
What a mess!!! :oops:
Arch's user GI-Jack notice this issue in AUR FreeCAD's package comments...

BTW: I still LOVE Arch Linux :lol:

Evidently, topic was a "compiling" mistake (dependencies!), not "distro" or "source" failure; I apologize...
Now, I'm enjoying 0.14.3692, and exploring it's new features.

Thanks to all for your patience and support, and specially to FC team for your hard work.
DanielH
Last edited by DanielH on Sat Jul 12, 2014 1:20 am, edited 1 time in total.
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: FC 0.14.3692 failure at startup ("undefined symbol")

Post by jmaustpc »

Hi DanielH

I don't know what is wrong in your case but the following general tips may (or may not) help :)
1) use Cmake-gui, this is important as it eliminates most common errors due to typing errors and the like, it also shows you what option are available
2) try using external pivy, this may not be needed but on some systems it is, at the least it will most likely give you a more up to date pivy.
3) it may help to tell us what version of Open Cascade you are using and if it is OCE or OCC
4) It is possible, particularly when doing a major upgrade, for something in your FreeCAD config file to cause problems, try changing the name of your ".FreeCAD" directory (being a hidden directory, it is named "dot" FreeCAD). Its a hidden directory normally in /home/username/. If FreeCAD can not find the ./FreeCAD directory (because you have renamed it) FreeCAD will create a new one (when you next start FreeCAD), with a new config file containing default values.


Jim
User avatar
yorik
Founder
Posts: 13664
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels
Contact:

Re: FC 0.14.3692 failure at startup ("undefined symbol")

Post by yorik »

To me it looks like some library is not present or with a wrong version... (undefined symbol xxx). Maybe try running freecad inside gdb? (gdb freecad -> "run" -> crash -> "bt")
DanielH
Posts: 7
Joined: Thu Apr 10, 2014 8:09 pm

Re: FC 0.14.3692 failure at startup ("undefined symbol")

Post by DanielH »

Hi Jim, thanks you for your fast response.

1) I have installed FreeCAD 0.14.3692-1 from AUR (Arch User Repository) in a PKGBUILD (package build description) that allows to automatically download the source ("http://downloads.sourceforge.net/source ... er}.tar.gz"), compile it in a package with makepkg, and then install it via pacman (Arch's package management system).
In this case, PKGBUILD uses Cmake (no-GUI) to compile, but I will try to recompile FC with CMake-GUI, if it is available in AUR and it (really) provides more warnings about errors and options.

2) I'm using external pivy-hg 609.8eab90908f2a-1, I don't know what "pivy's official version" it match. :(

3) I'm using OCC 6.7.1-1.
OCE 0.15-1 is available through AUR, but I haven't instaled it yet (I don't know if they are conflicts between OCC and OCE).

4) I've tried your sugestion, but doesn't work: same error "/opt/freecad/lib/Part.so: undefined symbol: _ZN8Standard4FreeERPv" when switching to Part wb from Start wb.
By the way: original .FreeCAD folder and *.cfg files seems be OK, I was allowed to run FC and change Preferences via GUI when I use it, but same errors arise using original and new .FreeCAD folder...

Best regards,
DanielH
DanielH
Posts: 7
Joined: Thu Apr 10, 2014 8:09 pm

Re: FC 0.14.3692 failure at startup ("undefined symbol")

Post by DanielH »

Hello Yorik.

I never have used gdb, but I will try tonight (I have to learn, to read man, etc.).
Luckyly, Arch has GDB 7.7.1 in its repository. :D

I will try to remove and reinstall FC 0.14 too, perhaps errors dissapear "automagically". ;)

Best regards, and thank you and all FC staff for your hard work.
DanielH
User avatar
shoogen
Veteran
Posts: 2823
Joined: Thu Dec 01, 2011 5:24 pm

Re: FC 0.14.3692 failure at startup ("undefined symbol")

Post by shoogen »

DanielH wrote: 3) I'm using OCC 6.7.1-1.
OCE 0.15-1 is available through AUR, but I haven't instaled it yet (I don't know if they are conflicts between OCC and OCE).

4) I've tried your sugestion, but doesn't work: same error "/opt/freecad/lib/Part.so: undefined symbol: _ZN8Standard4FreeERPv"

Code: Select all

Standard::Free(void*&)
This looks like a problem, caused by loading the wrong version of OCC/OCE. (A version which differs from the version used for dynamic linking.)
You should investigate if you got multiple versions of OCC/OCE installed.
But in case you have only installed one, we should probably contact the package maintainer.
DanielH
Posts: 7
Joined: Thu Apr 10, 2014 8:09 pm

Re: FC 0.14.3692 failure at startup ("undefined symbol")

Post by DanielH »

@shoogen

from http://freecadweb.org/wiki/index.php?ti ... pendencies
..."
OpenCASCADE community edition (OCE)
OpenCasCade has recently been forked into a Community edition, which is much, much easier to build.
FreeCAD can use any version installed on your system, either the "official" edition or the community edition.
The OCE website contains detailed build instructions.

OpenCASCADE official version
Note: You are advised to use the OpenCasCade community edition above, which is easier to build, but this one works too.
Not all Linux distributions have an official OpenCASCADE package in their repositories.
"...

I have OFFICIAL OpenCASCADE v.6.7.1, this is the up-to-date upstream version. :)
OCE not installed (avoiding coonflicts).

BTW: Arch Linux is a rolling release system, bleeding edge distro, the vast majority of its software is up-to-date with upstream version. :D

@developers and wiki maintainers:

Could you post an up-to-date list of dependencies, including its version numbers, for FC 0.14.3692 (stable).
CompileOnUnix wiki article seems old and (probably) out of date.

Best regards,
DanielH
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: FC 0.14.3692 failure at startup ("undefined symbol")

Post by NormandC »

DanielH wrote:Could you post an up-to-date list of dependencies, including its version numbers
The version numbers actually depend on the ones in any distro. FreeCAD can be compiled on Debian stable which has pretty old library versions.
DanielH wrote:CompileOnUnix wiki article seems old and (probably) out of date.
As a way to verify it I've been using the Debian/Ubuntu dependencies section to prepare the Ubuntu packages for 0.14.3692, and I can confirm they are up to date. I have not looked at the rest of the page though.
wmayer
Founder
Posts: 20309
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: FC 0.14.3692 failure at startup ("undefined symbol")

Post by wmayer »

You should try to find out whether the undefined symbol error happens already at build time or only at runtime. Therefore start cmake-gui and set this:

Code: Select all

CMAKE_SHARED_LINKER_FLAGS = "-Wl,--no-undefined"
You said you upgraded from FreeCAD 0.13 to 0.14. Did this also cause an upgrade of the OCC version? And if I got you right for an upgrade you still have to build the binaries locally. So, did you build FreeCAD in a fresh directory or in the same as you once build FreeCAD 0.13?
Post Reply