Compiler error in graphlab/deps/local/include/boost/iostreams/stream.hpp

User 121 | 7/22/2014, 4:08:37 PM

Hi all,

I have (almost) ported the gibbs sampling example (from deprecated folder) to fit in the GAS model of PowerGraph. However, I encountered this error , which stems from stream.hpp. I have no clue how to circumvent this.

Any hint would be appreciated.

In file included from /home/uji300/graphlab/src/graphlab/serialization/serializetofromstring.hpp:27, from /home/uji300/graphlab/src/graphlab/serialization/serialize.hpp:38, from /home/uji300/graphlab/src/graphlab/serialization/serializationincludes.hpp:25, from /home/uji300/graphlab/src/graphlab/util/generics/any.hpp:54, from /home/uji300/graphlab/src/graphlab/parallel/pthreadtools.hpp:41, from /home/uji300/graphlab/src/graphlab/options/graphlaboptions.hpp:40, from /home/uji300/graphlab/src/graphlab/engine/iengine.hpp:42, from /home/uji300/graphlab/src/graphlab/engine/engineincludes.hpp:26, from /home/uji300/graphlab/src/graphlab.hpp:31, from /home/uji300/graphlab/apps/gibbssampling/sampler.cpp:58: [EDIT : This is the line where it includes graphlab.hpp] /home/uji300/graphlab/deps/local/include/boost/iostreams/stream.hpp: In constructor ���boost::iostreams::stream<Device, Tr, Alloc>::stream(U100&, typename boost::disableif<boost::issame<U0, T>, void>::type*) [with U100 = boost::iostreams::stream<boost::iostreams::basicnullsink<char>, std::chartraits<char>, std::allocator<char> >, Device = boost::iostreams::basicnullsink<char>, Tr = std::chartraits<char>, Alloc = std::allocator<char>]���: /home/uji300/graphlab/src/graphlab/rpc/dc.hpp:200: instantiated from here /home/uji300/graphlab/deps/local/include/boost/iostreams/stream.hpp:130: error: no matching function for call to ���boost::iostreams::basicnullsink<char>::basicnullsink(boost::iostreams::stream<boost::iostreams::basicnullsink<char>, std::chartraits<char>, std::allocator<char> >&)��� /home/uji300/graphlab/deps/local/include/boost/iostreams/device/null.hpp:54: note: candidates are: boost::iostreams::basicnullsink<char>::basicnullsink() /home/uji300/graphlab/deps/local/include/boost/iostreams/device/null.hpp:54: note: boost::iostreams::basicnullsink<char>::basicnullsink(const boost::iostreams::basicnullsink<char>&) /home/uji300/graphlab/deps/local/include/boost/system/errorcode.hpp: At global scope: /home/uji300/graphlab/deps/local/include/boost/system/errorcode.hpp:214: warning: ���boost::system::posixcategory��� defined but not used /home/uji300/graphlab/deps/local/include/boost/system/errorcode.hpp:215: warning: ���boost::system::errnoecat��� defined but not used /home/uji300/graphlab/deps/local/include/boost/system/errorcode.hpp:216: warning: ���boost::system::nativeecat��� defined but not used cc1plus: warning: unrecognized command line option "-Wno-unused-local-typedefs" make[2]: * [apps/gibbs_sampling/CMakeFiles/sampler.dir/sampler.cpp.o] Error 1 make[1]: [apps/gibbs_sampling/CMakeFiles/sampler.dir/all] Error 2 make: ** [all] Error 2

Comments

User 497 | 7/22/2014, 6:43:16 PM

If you're using the clang compiler then switch to the gcc compiler because clang++ doesn't work well with boost.


User 497 | 7/22/2014, 6:43:50 PM

I guess it's possible:http://blog.llvm.org/2010/05/clang-builds-boost.html


User 121 | 7/22/2014, 9:34:28 PM

I did not change the compiler and using the cmake generated make-files. I think the default is gcc. But none of those makefiles have compiler names

am doing configure in the src and then running make in the release/app/gibbs_sampling/ folder.