Boost logo

Boost Users :

Subject: [Boost-users] Boost Filesystem fails with FreeBSD 10, clang, and boost
From: Ricky Huang (rhuang.work_at_[hidden])
Date: 2014-06-19 20:55:10


Hello all,

I am currently migrating to a FreeBSD 10 system which comes default with clang language. I was able to compile Boost just fine. But when I include filesysstem.hpp to it, I get the following error message:

> Linking CXX executable boost_clang_test
> /usr/bin/ld: : invalid DSO for symbol `_ZN5boost6system15system_categoryEv' definition
> /usr/local/lib/libboost_system.so.1.55.0: could not read symbols: Bad value
> CC: error: linker command failed with exit code 1 (use -v to see invocation)
> *** Error code 1
>
> Stop.

I am using cmake as my build system, could it be possible that I need to adjust my cmake variables? I am not sure if I've came to correct forum or should this be on FreeBSD, clang, CMake forum(s)? Please let me know if I am at the wrong place…

The minimum amount of code to induce the problem are the following 2 files:

CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)

# Find and include Boost libraries
find_package(Boost 1.55 COMPONENTS filesystem REQUIRED)
include_directories(${Boost_INCLUDE_DIR})
set(LIBS ${LIBS} ${Boost_LIBRARIES})

set(BOOST_CLANG_TEST_SOURCES ${SOURCES} main.cpp)

add_executable(boost_clang_test ${BOOST_CLANG_TEST_SOURCES})
target_link_libraries(boost_clang_test ${LIBS})

main.cpp:

#include <stdio.h>
#include <iostream>
#include <sstream>
#include <string>
#include <boost/filesystem.hpp>

using namespace std;
using namespace boost::filesystem;

const char *progname;

int main(int argc, char **argv){
  return 0;
}

Thanks in advance.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net