Can't compile stxxl 1.3.1 against boost 1.46.1

2014-02-19
2014-02-20
  • Churros! More of them!

    I'm trying to build stxxl 1.3.1 on RHEL 6.4 (gcc 4.4.7) with Boost 1.46.1 but am getting the error below.

    Is stxxl 1.3.1 incompatible with Boost 1.46.1 or something?

    $ make library_g++
    ...
    g++  -pthread  -I../include -include stxxl/bits/defines.h -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE  -O3   -W -Wall -Woverloaded-virtual -Wundef  -I/home/user1/src/boost_1_46_1/include -DSTXXL_BOOST_CONFIG -DSTXXL_BOOST_FILESYSTEM -DSTXXL_BOOST_RANDOM -DSTXXL_BOOST_THREADS  -D_IN_LIBSTXXL -MD -MF boostfd_file.libstxxl_boost.dT -c -o boostfd_file.libstxxl_boost.o boostfd_file.cpp && mv boostfd_file.libstxxl_boost.dT boostfd_file.libstxxl_boost.d
    boostfd_file.cpp: In constructor ‘stxxl::boostfd_file::boostfd_file(const std::string&, int, int, int)’:
    boostfd_file.cpp:129: error: invalid conversion from ‘bool (*)(const std::string&)’ to ‘void*’
    boostfd_file.cpp:129: error:   initializing argument 2 of ‘boost::filesystem3::path::path(const Source&, typename boost::enable_if<boost::filesystem3::path_traits::is_pathable<typename boost::decay<Source>::type>, void>::type*) [with Source = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]’
    make[2]: *** [boostfd_file.libstxxl_boost.o] Error 1
    make[2]: Leaving directory `/home/user1/src/stxxl-1.3.1/io'
    make[1]: *** [lib-in-io] Error 2
    make[1]: Leaving directory `/home/user1/src/stxxl-1.3.1'
    make: *** [_library_g++] Error 2
    
     
  • Timo Bingmann

    Timo Bingmann - 2014-02-20

    This is one of the problems with using the boost library: they can change the interface. This seems to have something to do with the new filesystem 3 interface.
    Somewhere along the line of stxxl 1.3.1 -> 1.4.0 there was a patch which fixed the problem using #ifdefs
    This should be fixed in a 1.3.2, if that version ever happens.
    Timo

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks