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: *** [boostfd_file.libstxxl_boost.o] Error 1
make: Leaving directory `/home/user1/src/stxxl-1.3.1/io'
make: *** [lib-in-io] Error 2
make: Leaving directory `/home/user1/src/stxxl-1.3.1'
make: *** [_library_g++] Error 2
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.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.