srv01 ~ # emerge -v net-proxy/squid These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] net-proxy/squid-3.0.15 [3.0.14-r2] USE="logrotate pam samba ssl -epoll -icap-client (-ipf-transparent) -kerberos -kqueue -ldap -mysql -nis (-pf-transparent) -postgres -radius -sasl (-selinux) -snmp -sqlite -zero-penalty-hit" 0 kB [...] depbase=`echo tools.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -fhuge-objects -D_REENTRANT -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=prescott -O2 -pipe -fomit-frame-pointer -MT tools.o -MD -MP -MF $depbase.Tpo -c -o tools.o tools.cc &&\ mv -f $depbase.Tpo $depbase.Po cc1plus: warning: switch '-fhuge-objects' is no longer supported cc1plus: warning: switch '-fhuge-objects' is no longer supported depbase=`echo unlinkd.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -fhuge-objects -D_REENTRANT -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=prescott -O2 -pipe -fomit-frame-pointer -MT unlinkd.o -MD -MP -MF $depbase.Tpo -c -o unlinkd.o unlinkd.cc &&\ mv -f $depbase.Tpo $depbase.Po cc1plus: warning: switch '-fhuge-objects' is no longer supported depbase=`echo URLScheme.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -fhuge-objects -D_REENTRANT -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=prescott -O2 -pipe -fomit-frame-pointer -MT URLScheme.o -MD -MP -MF $depbase.Tpo -c -o URLScheme.o URLScheme.cc &&\ mv -f $depbase.Tpo $depbase.Po cc1plus: warning: switch '-fhuge-objects' is no longer supported depbase=`echo urn.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -fhuge-objects -D_REENTRANT -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=prescott -O2 -pipe -fomit-frame-pointer -MT urn.o -MD -MP -MF $depbase.Tpo -c -o urn.o urn.cc &&\ mv -f $depbase.Tpo $depbase.Po cc1plus: warning: switch '-fhuge-objects' is no longer supported depbase=`echo useragent.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -I. -I../include -I. -I. -I../include -I../include -I../lib/libTrie/include -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -fhuge-objects -D_REENTRANT -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -march=prescott -O2 -pipe -fomit-frame-pointer -MT useragent.o -MD -MP -MF $depbase.Tpo -c -o useragent.o useragent.cc &&\ mv -f $depbase.Tpo $depbase.Po cc1plus: warning: switch '-fhuge-objects' is no longer supported tools.cc: In function 'void restoreCapabilities(int)': tools.cc:1363: error: 'capget' was not declared in this scope tools.cc:1387: error: 'capset' was not declared in this scope make[3]: *** [tools.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/var/tmp/portage/net-proxy/squid-3.0.15/work/squid-3.0.STABLE15/src' [...] srv01 ~ # cd /usr/include srv01 include # grep -r -E "capget|capset" * asm/unistd_64.h:#define __NR_capget 125 asm/unistd_64.h:__SYSCALL(__NR_capget, sys_capget) asm/unistd_64.h:#define __NR_capset 126 asm/unistd_64.h:__SYSCALL(__NR_capset, sys_capset) asm/unistd_32.h:#define __NR_capget 184 asm/unistd_32.h:#define __NR_capset 185 bits/syscall.h:#define SYS_capget __NR_capget bits/syscall.h:#define SYS_capset __NR_capset sys/capability.h:extern int capset(cap_user_header_t header, cap_user_data_t data); sys/capability.h:extern int capget(cap_user_header_t header, const cap_user_data_t data); sys/capability.h:extern int capgetp(pid_t pid, cap_t cap_d); sys/capability.h:extern int capsetp(pid_t pid, cap_t cap_d);
Created attachment 195138 [details] build.log
Created attachment 195139 [details] emerge --info
I cannot reproduce this. What version of sys-libs/libcap do you have? If version is less than 2.16, update libcap and try again. If not, attach here your /usr/include/sys/capability.h.
srv01 ~ # emerge -vp sys-libs/libcap These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] sys-libs/libcap-2.16 [1.10-r5] USE="pam%* (-debug%) (-nocxx%) (-python%*) (-static%)" 48 kB [?=>0] After upgrading to sys-libs/libcap-2.16, net-proxy/squid-3.0.15 installs and works for me, too. Before getting the error in squid-3.0.15, I ran "emerge -uDv world", which tried to update squid, but not libcap. Is the dependency missing?
libcap is not declared as a dependency because it is optional and it cannot be disabled through configure options, not with current configure.in anyway. I will fix it for squid-3.0.16.
Fixed in versions 2.7.6-r1, 3.0.15, 3.0.16 and 3.1.0.8_beta w/o rev bumps.
*** Bug 275722 has been marked as a duplicate of this bug. ***