I guess we should've been expecting this ;) source='database/package_reader.cc' object='database/package_reader.o' libtool=no \ DEPDIR=.deps depmode=sgi /opt/portage/bin/bash ../config/depcomp \ CC -DHAVE_CONFIG_H -I. -I.. -I/opt/portage/usr/include -DSYSCONFDIR=\"/opt/portage/etc\" -J2 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip35:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 -FE:eliminate_duplicate_inline_copies:template_in_elf_section -woff 1174,1183,1185,1552,3968,3970 -c -o database/package_reader.o database/package_reader.cc cc-1020 CC: ERROR File = ./database/types.h, Line = 20 The identifier "size_t" is undefined. typedef size_t UNumber; ^ cc-1020 CC: ERROR File = ./database/types.h, Line = 26 The identifier "off_t" is undefined. typedef off_t OffsetType; ^ cc-1295 CC: ERROR File = ./database/header.h, Line = 50 The indicated data member initializer is not allowed. static const DBVersion current = 28; ^ 3 errors detected in the compilation of "database/package_reader.cc". make[2]: *** [database/package_reader.o] Error 2 make[2]: Leaving directory `/usr/opt/portage/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 `/usr/opt/portage/var/tmp/portage/app-portage/eix-0.15.0/work/eix-0.15.0' make: *** [all] Error 2 I believe that size_t is a C99 definition, and therefore not available to (IRIX) C++. (Note that on IRIX, care should be taken to run configure against cc for C/C99 code, and CC for C++ code - the capabilities of the two are markedly different. Specifically, <stdint.h> contains as the very start of the header: #ifndef __STDINT_H__ #define __STDINT_H__ #ifndef __c99 #error This header file is to be used only for c99 mode compilations #else ... and __c99 is not defined for C++ code.
Created attachment 171296 [details, diff] Patch to include unistd.h for size_t and off_t According to the C++ standard http://www.cplusplus.com/reference/clibrary/cstdlib/ at least size_t should have been defined by #include <stdlib>. However, unistd.h should define both, size_t and off_t, and including this helps on MacOS (see bug 246222). Does the attached patch work on IRIX, too?
Yes, perfect - adding <unistd.h> fixes the IRIX build-process :)
I checked in the patch, please reopen if more problems pop up.