Compiling ep-engine on AIX

I am working on getting Couchbase to compile on AIX 6.1 and am stuck while compiling ep-engine. For some reason, the compiler is unable to determine which method overload to use. What would be the recommended approach to resolving this? I’m using gcc 4.81.

config.log:

libtool: compile: g++ -DHAVE_CONFIG_H -I. -I./src -pipe -I./include -I./src -I./include -pipe -O3 -MT src/ep_la-tapconnection.lo -MD -MP -MF src/.deps/ep_la-tapconnection.Tpo -c src/tapconnection.cc -DPIC -o src/.libs/ep_la-tapconnection.o
src/tapconnection.cc: In member function ‘Item* TapProducer::getNextItem(const void*, uint16_t*, tap_event_t&, bool&)’:
src/tapconnection.cc:1875:63: error: call of overloaded ‘Item(const char*, std::basic_string::size_type, int, int, int, int, int, uint16_t)’ is ambiguous
0, 0, 0, -1, qi->getVBucketId());
^
src/tapconnection.cc:1875:63: note: candidates are:
In file included from src/queueditem.hh:6:0,
from src/ep.hh:38,
from src/ep_engine.h:6,
from src/tapconnection.cc:19:
src/item.hh:188:5: note: Item::Item(const void*, uint16_t, uint32_t, time_t, const void*, size_t, uint64_t, int64_t, uint16_t, uint64_t)
Item(const void k, uint16_t nk, const uint32_t fl, const time_t exp,
^
src/item.hh:178:5: note: Item::Item(const string&, uint32_t, time_t, const value_t&, uint64_t, int64_t, uint16_t, uint64_t)
Item(const std::string &k, const uint32_t fl, const time_t exp,
^
src/item.hh:167:5: note: Item::Item(const string&, uint32_t, time_t, const void
, size_t, uint64_t, int64_t, uint16_t)
Item(const std::string &k, const uint32_t fl, const time_t exp,
^
src/item.hh:156:5: note: Item::Item(const void*, size_t, size_t, uint32_t, time_t, uint64_t, int64_t, uint16_t)
Item(const void* k, const size_t nk, const size_t nb,
^
src/tapconnection.cc:1907:59: error: call of overloaded ‘Item(const char*, std::basic_string::size_type, int, int, int, int, int, uint16_t)’ is ambiguous
0, 0, 0, -1, qi->getVBucketId());
^
src/tapconnection.cc:1907:59: note: candidates are:
In file included from src/queueditem.hh:6:0,
from src/ep.hh:38,
from src/ep_engine.h:6,
from src/tapconnection.cc:19:
src/item.hh:188:5: note: Item::Item(const void*, uint16_t, uint32_t, time_t, const void*, size_t, uint64_t, int64_t, uint16_t, uint64_t)
Item(const void k, uint16_t nk, const uint32_t fl, const time_t exp,
^
src/item.hh:178:5: note: Item::Item(const string&, uint32_t, time_t, const value_t&, uint64_t, int64_t, uint16_t, uint64_t)
Item(const std::string &k, const uint32_t fl, const time_t exp,
^
src/item.hh:167:5: note: Item::Item(const string&, uint32_t, time_t, const void
, size_t, uint64_t, int64_t, uint16_t)
Item(const std::string &k, const uint32_t fl, const time_t exp,
^
src/item.hh:156:5: note: Item::Item(const void*, size_t, size_t, uint32_t, time_t, uint64_t, int64_t, uint16_t)
Item(const void* k, const size_t nk, const size_t nb,
^
gmake[1]: *** [src/ep_la-tapconnection.lo] Error 1
gmake[1]: Leaving directory `/couch/couchbase-server_src/ep-engine’
gmake: *** [all] Error 2

Which version are you trying to compile? It would make it easier for me to look at the code :wink:

2.0.1, I believe, based off the similar question.
http://www.couchbase.com/communities/q-and-a/how-do-i-compile-aix#