Port www/squid33 fails to build

Building www/squid33 via

Code:
cd /usr/ports/www/squid33
make config
make

fails with:

Code:
peer_proxy_negotiate_auth.cc: In function 'int krb5_create_cache(char*, char*)':
peer_proxy_negotiate_auth.cc:226: error: 'krb5_kdc_flags' was not declared in this scope
peer_proxy_negotiate_auth.cc:226: error: expected `;' before 'flags'
peer_proxy_negotiate_auth.cc:227: error: 'krb5_realm' was not declared in this scope
peer_proxy_negotiate_auth.cc:227: error: 'client_realm' was not declared in this scope
peer_proxy_negotiate_auth.cc:246: error: 'flags' was not declared in this scope
peer_proxy_negotiate_auth.cc:262: error: 'krb5_make_principal' was not declared in this scope
peer_proxy_negotiate_auth.cc:271: error: 'krb5_get_kdc_cred' was not declared in this scope
peer_proxy_negotiate_auth.cc:320: error: 'krb5_get_max_time_skew' was not declared in this scope
*** [peer_proxy_negotiate_auth.o] Error code 1
1 error
*** [all-recursive] Error code 1
1 error
*** [all] Error code 2
1 error
*** [all-recursive] Error code 1
1 error
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** [do-build] Error code 1

Stop in /usr/ports/www/squid33.
*** [build] Error code 1

Stop in /usr/ports/www/squid33.
And a subsequent

make MAKE_JOBS_UNSAFE=yes

yields:

Code:
Making all in icap
depbase=`echo peer_proxy_negotiate_auth.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; c++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/etc/squid/squid.conf\"  -DDEFAULT_SQUID_DATA_DIR=\"/usr/local/etc/squid\"  -DDEFAULT_SQUID_CONFIG_DIR=\"/usr/local/etc/squid\"  -I.. -I../include -I../lib  -I../src -I../include   -I/usr/include  -I/usr/include   -I../src  -I/usr/include  -I/usr/include   -I/usr/include  -I/usr/include  -I/usr/include -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -O2 -pipe -I/usr/local/include -I/usr/include -DLDAP_DEPRECATED -fno-strict-aliasing -I/usr/local/include -MT peer_proxy_negotiate_auth.o -MD -MP -MF $depbase.Tpo -c -o peer_proxy_negotiate_auth.o peer_proxy_negotiate_auth.cc && mv -f $depbase.Tpo $depbase.Po
peer_proxy_negotiate_auth.cc: In function 'int krb5_create_cache(char*, char*)':
peer_proxy_negotiate_auth.cc:226: error: 'krb5_kdc_flags' was not declared in this scope
peer_proxy_negotiate_auth.cc:226: error: expected `;' before 'flags'
peer_proxy_negotiate_auth.cc:227: error: 'krb5_realm' was not declared in this scope
peer_proxy_negotiate_auth.cc:227: error: 'client_realm' was not declared in this scope
peer_proxy_negotiate_auth.cc:246: error: 'flags' was not declared in this scope
peer_proxy_negotiate_auth.cc:262: error: 'krb5_make_principal' was not declared in this scope
peer_proxy_negotiate_auth.cc:271: error: 'krb5_get_kdc_cred' was not declared in this scope
peer_proxy_negotiate_auth.cc:320: error: 'krb5_get_max_time_skew' was not declared in this scope
*** [peer_proxy_negotiate_auth.o] Error code 1

Stop in /usr/ports/www/squid33/work/squid-3.3.9/src.
*** [all-recursive] Error code 1

Stop in /usr/ports/www/squid33/work/squid-3.3.9/src.
*** [all] Error code 1

Stop in /usr/ports/www/squid33/work/squid-3.3.9/src.
*** [all-recursive] Error code 1

Stop in /usr/ports/www/squid33/work/squid-3.3.9.
*** [do-build] Error code 1

Stop in /usr/ports/www/squid33.
*** [build] Error code 1

Stop in /usr/ports/www/squid33.
Here is what

make showconfig

shows:

Code:
===> The following configuration options are available for squid-3.3.9:
     ARP_ACL=off: Enable ARP/MAC/EUI based authentification
     AUTH_KERB=off: Install Kerberos authentication helpers
     AUTH_LDAP=on: Install LDAP authentication helpers
     AUTH_NIS=off: Install NIS/YP authentication helpers
     AUTH_SASL=off: Install SASL authentication helpers
     AUTH_SMB=off: Install SMB auth. helpers (req. Samba)
     AUTH_SQL=off: Install SQL based auth (uses MySQL)
     CACHE_DIGESTS=off: Use cache digests
     DEBUG=off: Build with extended debugging support
     DELAY_POOLS=off: Enable delay pools (bandwidth limiting)
     DNS_HELPER=off: Use external dnsserver processes for DNS
     DOCS=on: Build and/or install documentation
     ECAP=off: Enable loadable content adaptation modules
     ESI=off: Enable support for ESI
     EXAMPLES=on: Build and/or install examples
     FOLLOW_XFF=off: Enable support for the X-Following-For header
     FS_AUFS=on: Enable AUFS (async-io) support
     FS_COSS=off: Enable COSS (not stable yet)
     HTCP=on: Enable HTCP support
     ICAP=on: Enable the ICAP client
     ICMP=off: Enable ICMP pinging and network measurement
     IDENT=on: Enable Ident lookups (RFC 931)
     IPV6=on: IPv6 protocol support
     KQUEUE=on: Enable kqueue(2) support
     LARGEFILE=off: Support large (>2GB) cache and log files
     SNMP=on: Enable SNMP support
     SSL=on: Enable SSL gatewaying support
     SSL_CRTD=off: Use ssl_crtd to handle SSL cert requests
     STACKTRACES=off: Enable automatic backtraces on fatal errors
     STRICT_HTTP=off: Make Squid strictly HTTP compliant
     TP_IPF=off: Enable transparent proxying with IPFilter
     TP_IPFW=off: Enable transparent proxying with IPFW
     TP_PF=off: Enable transparent proxying with PF
     VIA_DB=off: Enable Forward/Via database
     WCCP=on: Enable Web Cache Coordination Protocol
     WCCPV2=on: Enable Web Cache Coordination Protocol v2
===> Use 'make config' to modify these settings
I have no idea what this error means. In paricular I am wondering about the obvious kerberos relationship where I did select
Code:
AUTH_KERB=off
 
Well, I just tried building it myself and I can't reproduce any problems on my end. So I'm wondering if you have anything special set up in /etc/make.conf? Also; which FreeBSD version are you using, and did you make sure to keep your ports tree up to date?

Also; did you enable or disable the fetch option in net/openldap24-client?

The only thing I can come up with right now is using # make clean, then trying to run # make build again.
 
ShelLuser said:
Well, I just tried building it myself and I can't reproduce any problems on my end. So I'm wondering if you have anything special set up in /etc/make.conf? Also; which FreeBSD version are you using, and did you make sure to keep your ports tree up to date?
Thanks for your hints. Yes, I did portsnap fetch and portsnap update right before the build. My /etc/make.conf is:
Code:
WITH_VIM_OPTIONS=yes
NO_SENDMAIL=true
ShelLuser said:
Also; did you enable or disable the fetch option in net/openldap24-client?
I have currently installed openldap-sasl-client-2.4.36 where fetch support is obviously off: FETCH=off: Enable fetch(3) support. Right after reading your answer my cron informed me that there is a new openldap version available: openldap-sasl-client-2.4.37 together with the corresponding server version. I should upgrade before a build attempt. Should I also enable fetch support? To be honest, I have currently no idea how to judge this option. The same version of Squid builds just fine under Linux.

ShelLuser said:
The only thing I can come up with right now is using # make clean, then trying to run # make build again.
I will retry after clarifying things above.
 
Sorry, forgot to mention: I am using FreeBDS 9.2-RELEASE-p1 - according to /usr/src/sys/conf/newvers.sh.
 
Meanwhile I have upgraded openldap server and client to version 2.4.37 und finished another www/squid33 build. Unfortunately the error remains the same.

I am quite new to FreeBSD. In the last weeks I've spent a lot of hours to set up a home server under FreeBSD. All started with 9.1-RELEASE and I've successfully upgraded to 9.2-RELEASE-p1. I've configured, build and upgraded a lot of ports and this Squid beast finally makes me stuck ;). My aim is to move my home server from Linux to FreeBSD. I hope someone more experienced than me can give me some hints to get Squid built.
 
I have just successfully built and installed www/squid33: The solution was to deinstall security/krb5 before. I have no idea which port might have caused an installation of Kerberos due to corresponding dependencies. I just tried a shot in the dark: pkg_delete krb5-1.11.3_1. No package complained about breaking dependencies. Subsequently Squid 3.3.9 installed smoothly.

I have always been wondering why Squid compilation exited at Kerberos settings although I had explicitly disabled Kerberos support. Anyway, I am glad that I can proceed :). Maybe somebody has an idea on this.
 
Back
Top