graph-tool problems with gcc 4.4.5 on ubuntu

Hi!

I am on ubuntu 10.10 and trying to compile git version of graph-tool with gcc 4.4.5 and I get this error:

  CXX graph_properties_copy.lo
In file included from /home/sweber/.local/include/boost/python/detail/wrap_python.hpp:50,
                 from /home/sweber/.local/include/boost/python/detail/prefix.hpp:13,
                 from /home/sweber/.local/include/boost/python/extract.hpp:8,
                 from graph_properties_copy.cc:19:
/usr/local/include/python2.7/pyconfig.h:1149: warning: "_POSIX_C_SOURCE" redefined
/usr/include/features.h:162: note: this is the location of the previous definition
/usr/local/include/python2.7/pyconfig.h:1171: warning: "_XOPEN_SOURCE" redefined
/usr/include/features.h:164: note: this is the location of the previous definition
/home/sweber/.local/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp: In member function ‘void graph_tool::GraphInterface::CopyVertexProperty(const graph_tool::GraphInterface&, boost::any, boost::any)’:
/home/sweber/.local/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp:18: error: ‘template<class F, class T1, class T2, class T3, class T4, class T5> struct boost::mpl::bind’ is not a function,
/home/sweber/.local/include/boost/bind/bind.hpp:1728: error: conflict with ‘template<class A1, class M, class T> boost::_bi::bind_t<typename boost::_bi::dm_result<M T::*, A1>::type, boost::_mfi::dm<M, T>, typename boost::_bi::list_av_1<A1>::type> boost::bind(M T::*, A1)’
graph_properties_copy.cc:122: error: in call to ‘bind’
/home/sweber/.local/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp: In member function ‘void graph_tool::GraphInterface::CopyEdgeProperty(const graph_tool::GraphInterface&, boost::any, boost::any)’:
/home/sweber/.local/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp:18: error: ‘template<class F, class T1, class T2, class T3, class T4, class T5> struct boost::mpl::bind’ is not a function,
/home/sweber/.local/include/boost/bind/bind.hpp:1728: error: conflict with ‘template<class A1, class M, class T> boost::_bi::bind_t<typename boost::_bi::dm_result<M T::*, A1>::type, boost::_mfi::dm<M, T>, typename boost::_bi::list_av_1<A1>::type> boost::bind(M T::*, A1)’
graph_properties_copy.cc:133: error: in call to ‘bind’
make[4]: *** [graph_properties_copy.lo] Error 1
make[4]: Leaving directory `/home/sweber/libs/graph-tool/src/graph'

BTW, the git archive on skewed is not working for me any more. I have to use one of the other mirrors. My boost version is 1.46.1.

If this is not trivial to solve, I just skip to gcc 4.5 which is also available on this platform.

Cheers,

I am on ubuntu 10.10 and trying to compile git version of graph-tool
with gcc 4.4.5 and I get this error:

  CXX graph_properties_copy.lo
In file included from /home/sweber/.local/include/boost/python/detail/wrap_python.hpp:50,
                 from /home/sweber/.local/include/boost/python/detail/prefix.hpp:13,
                 from /home/sweber/.local/include/boost/python/extract.hpp:8,
                 from graph_properties_copy.cc:19:
/usr/local/include/python2.7/pyconfig.h:1149: warning: "_POSIX_C_SOURCE" redefined
/usr/include/features.h:162: note: this is the location of the previous definition
/usr/local/include/python2.7/pyconfig.h:1171: warning: "_XOPEN_SOURCE" redefined
/usr/include/features.h:164: note: this is the location of the previous definition
/home/sweber/.local/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp: In member function ‘void graph_tool::GraphInterface::CopyVertexProperty(const graph_tool::GraphInterface&, boost::any, boost::any)’:
/home/sweber/.local/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp:18: error: ‘template<class F, class T1, class T2, class T3, class T4, class T5> struct boost::mpl::bind’ is not a function,
/home/sweber/.local/include/boost/bind/bind.hpp:1728: error: conflict with ‘template<class A1, class M, class T> boost::_bi::bind_t<typename boost::_bi::dm_result<M T::*, A1>::type, boost::_mfi::dm<M, T>, typename boost::_bi::list_av_1<A1>::type> boost::bind(M T::*, A1)’
graph_properties_copy.cc:122: error: in call to ‘bind’

It seems you are using your own python and boost, not the Ubuntu
packages... With the packaged version, everything used to work fine (but
I've only been testing it on 11.04 lately).

For some reason, in your setup the compiler is mixing up
boost::mpl::bind and boost::bind. Try prefixing the bind call in
graph_properties_copy.cc:122 with boost:: to see if the problem goes
away.

These two functions should not be mixed up like this, since they are in
different namespaces and boost::mpl is not being imported. My guess is
that there is something strange with your boost installation, or with
the compiler (the first option is more likely).

BTW, the git archive on skewed is not working for me any more. I have
to use one of the other mirrors.

What happens? I've just checked it, and it is working fine for me.

Cheers,
Tiago

Hi!

It seems you are using your own python and boost, not the Ubuntu
packages... With the packaged version, everything used to work fine (but
I've only been testing it on 11.04 lately).

For some reason, in your setup the compiler is mixing up
boost::mpl::bind and boost::bind. Try prefixing the bind call in
graph_properties_copy.cc:122 with boost:: to see if the problem goes
away.

These two functions should not be mixed up like this, since they are in
different namespaces and boost::mpl is not being imported. My guess is
that there is something strange with your boost installation, or with
the compiler (the first option is more likely).

Yes, indeed, I use my own python and boost installation. I added boost:: to the bind call in line 122 and the subsequent call right below it. Now everything compiles fine. Thanks!

BTW, the git archive on skewed is not working for me any more. I have
to use one of the other mirrors.

What happens? I've just checked it, and it is working fine for me.

I get:

Initialized empty Git repository in /home/sweber/libs/gt2/.git/
fatal: The remote end hung up unexpectedly

Cheers,

Sebastian