multi_index 1.33.0, known problems with RHEL 3 compiler (gcc 3.2.3)?
Hi, Let me start off by saying that I consider multi_index to be the most stunningly clever AND useful piece of c++ around. Thanks! A PowerDNS user on RHEL 3 with a gcc that calls itself 'gcc 3.2.3' reports the following error compiling PowerDNS snapshot 576 (http://svn.powerdns.com/snapshots/576/pdns-2.9.20.20060311.576.tar.gz): Message: http://mailman.powerdns.com/pipermail/pdns-users/2006-March/003134.html mtasker.cc: In member function `bool MTasker<EventKey, EventVal>::schedule() [with EventKey = PacketID, EventVal = std::string]': pdns_recursor.cc:723: instantiated from here mtasker.cc:286: no matching function for call to `boost::multi_index::multi_index_container<MTasker<PacketID, std::string>::Waiter, boost::multi_index::indexed_by<boost::multi_index::ordered_unique<boost::multi_index::member<MTasker<PacketID, std::string>::Waiter, PacketID, &MTasker<PacketID, std::string>::Waiter::key>, mpl_::na, mpl_::na>, boost::multi_index::ordered_non_unique<boost::multi_index::tag<MTasker<PacketID, std::string>::KeyTag, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::member<MTasker<PacketID, std::string>::Waiter, time_t, &MTasker<PacketID, std::string>::Waiter::ttd>, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocator<MTasker<PacketID, std::string>::Waiter> >::get()' make[3]: *** [pdns_recursor.o] Error 1 make[3]: Leaving directory /temp/pdns-2.9.20.20060311.576/pdns' To reproduce, download the tar file, run ./configure --with-modules="" ; cd pdns ; make pdns_recursor, besides boost there are no dependencies when compiled like this. Relevant details from mtasker.hh http://wiki.powerdns.com/projects/trac/browser/trunk/pdns/pdns/mtasker.cc?re... 60 struct KeyTag {}; 61 typedef multi_index_container< 62 Waiter, 63 indexed_by < 64 ordered_unique<member<Waiter,EventKey,&Waiter::key> >, 65 ordered_non_unique<tag<KeyTag>, member<Waiter,time_t,&Waiter::ttd> > 66 > 67 > waiters_t; 68 69 waiters_t d_waiters;
From mtasker.cc: http://wiki.powerdns.com/projects/trac/browser/trunk/pdns/pdns/mtasker.hh?re...
285 typedef typename waiters_t::template index<KeyTag>::type waiters_by_ttd_index_t; 286 waiters_by_ttd_index_t& ttdindex=d_waiters.get<KeyTag>(); Any ideas, especially on a workaround? It compiles fine on all gcc's I have access to. Thanks! -- http://www.PowerDNS.com Open source, database driven DNS Software http://netherlabs.nl Open and Closed source services
participants (1)
-
bert hubert