My system is Mac OS X Leopard 10.5.5 (Intel). eix-0.15.0 fails to build: depbase=`echo database/package_reader.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ i686-apple-darwin9-g++ -DHAVE_CONFIG_H -I. -I.. -DSYSCONFDIR=\"/Volumes/Gentoo/etc\" -O2 -pipe -march=core2 -MT database/package_reader.o -MD -MP -MF $depbase.Tpo -c -o database/package_reader.o database/package_reader.cc &&\ mv -f $depbase.Tpo $depbase.Po In file included from database/package_reader.h:14, from database/package_reader.cc:10: ./database/types.h:26: error: 'off_t' does not name a type ./database/types.h:27: error: 'OffsetType' does not name a type In file included from ./portage/version.h:13, from ./database/header.h:14, from database/package_reader.h:15, from database/package_reader.cc:10: ./database/io.h: In function 'void io::writeUChar(FILE*, io::UChar)': ./database/io.h:49: error: 'counter' was not declared in this scope database/package_reader.cc: In member function 'bool PackageReader::next()': database/package_reader.cc:96: error: 'OffsetType' is not a member of 'io' database/package_reader.cc:96: error: expected `;' before 'len' database/package_reader.cc:97: error: 'len' was not declared in this scope database/package_reader.cc: In member function 'bool PackageReader::nextPackage()': database/package_reader.cc:124: error: 'OffsetType' is not a member of 'io' database/package_reader.cc:124: error: 'OffsetType' is not a member of 'io' database/package_reader.cc:124: error: no matching function for call to 'read(FILE*&)' make[2]: *** [database/package_reader.o] Error 1 make[2]: Leaving directory `/Volumes/Gentoo/var/tmp/portage/app-portage/eix-0.15.0/work/eix-0.15.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/Volumes/Gentoo/var/tmp/portage/app-portage/eix-0.15.0/work/eix-0.15.0' make: *** [all] Error 2 The problem is that <cstdlib> on Leopard does not export off_t. After adding #include <unistd.h> to src/database/types.h fixes this problem.
*** Bug 246274 has been marked as a duplicate of this bug. ***
Thanks for the report and fix. The include <unistd.h> will of course go into svn trunk (>=eix-0.15.1). For the moment, the corresponding patch is attached to bug 246270.
Patch was checked in. Please reopen if more problems pop up.