View Issue Details

IDProjectCategoryView StatusLast Update
0000208FreeCADBugpublic2010-12-18 11:21
Reporterfhachenberg Assigned Towmayer  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version0.11 
Summary0000208: boost1.44.0::filesystem::no_check causes undefined reference linker error
DescriptionI'm not sure whether this is more a bug in boost1.44 default build script, but nm is unable to find the symbol "no_check" in my libboost_filesystem. My linker isn't either, so building FreeCad 0.11 ends in a linker error for me.
FreeCAD is using the function in
Application.cpp
PropertyStandard.cpp

In order to build FreeCAD, I have changed the concerned lines to use of boost::filesystem::native.
Additional InformationSystem: SUSE Linux Enterprise Desktop 10
boost-Version: 1.44.0

TagsNo tags attached.
FreeCAD Information

Activities

wmayer

2010-11-15 12:01

administrator   ~0000422

Try this:

#if defined(__GNUC__)
#if BOOST_VERSION == 104400
namespace boost { namespace filesystem {
    bool no_check( const std::string & ) { return true; }
} }
#endif
#endif

You can add this block to Application.cpp just before the function customSyntax()

wmayer

2010-11-23 16:12

administrator   ~0000435

Added in rev. 3758. Coudn't test it but should be fixed now.

fhachenberg

2010-12-16 13:59

reporter   ~0000458

I just tried your fix and now my compiler complained, that no_check was defined already in boost/filesystem/v2/path.hpp, where it sais

 inline bool no_check( const std::string & )
      { return true; }
Although inline, my linker nontheless searches for the function and doesn't find it in the boost libs. As a fix I replaced the defintion in path.hpp by

bool no_check( const std::string & );
so your fix works.

wmayer

2010-12-18 11:21

administrator   ~0000460

That's really weird if your compiler says that the function is already there but then the linker cannot resolve the symbols. So, IMO this is actually a bug in the boost package, not in FreeCAD.

Issue History

Date Modified Username Field Change
2010-11-15 11:16 fhachenberg New Issue
2010-11-15 12:01 wmayer Note Added: 0000422
2010-11-23 16:12 wmayer Note Added: 0000435
2010-11-23 16:12 wmayer Assigned To => wmayer
2010-11-23 16:12 wmayer Status new => closed
2010-11-23 16:12 wmayer Resolution open => fixed
2010-12-16 13:59 fhachenberg Note Added: 0000458
2010-12-16 13:59 fhachenberg Status closed => feedback
2010-12-16 13:59 fhachenberg Resolution fixed => reopened
2010-12-18 11:21 wmayer Note Added: 0000460
2010-12-18 11:21 wmayer Status feedback => closed
2010-12-18 11:21 wmayer Resolution reopened => fixed