Thomas-Martin Seck wrote:
Squid devs,
I had a look at 3.1.0.1 today and started to create a FreeBSD port for
the 3.1 series.
The environments in which I test the port are clean FreeBSD jails
running 6.3-RELEASE and 7.0-RELEASE i386 respectively. The directory
prefix passed to configure is set to /usr/scratch, CFLAGS are the
FreeBSD default of "-O2 -fno-strict-aliasing") and CONFIG_SHELL is
/bin/sh. I included aufs and COSS into the build.
I ran into the following issues while build-testing:
1) two (probably harmless) bashisms snuck into configure.in, see this
patch:
Thanks. Now Fixed. Will be in next daily snapshot and 3.1.0.2 shortly.
2) squid_kerb_auth does not build on either FreeBSD 6 or 7 (and
probably 8-CURRENT):
The kerb issue is more difficult. (cc'ing the author).
For an initial build the helper can be omitted.
The configure is going to have to change something to get the squid
portability file 'config.h' included before every system header.
Making all in negotiate_auth
Making all in squid_kerb_auth
make all-recursive
if cc -DHAVE_CONFIG_H -I. -I. -I. -Ispnegohelp -I/usr/include -I/usr/scratch/include -I../../../include -O2
-fno-strict-aliasing -pipe -Wall -Wextra -Werror -Wcomment -Wpointer-arith -Wcast-align -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wdeclaration-after-statement -Wshadow -MT
squid_kerb_auth.o -MD -MP -MF ".deps/squid_kerb_auth.Tpo" -c -o squid_kerb_auth.o squid_kerb_auth.c; then mv
-f ".deps/squid_kerb_auth.Tpo" ".deps/squid_kerb_auth.Po"; else rm -f
".deps/squid_kerb_auth.Tpo"; exit 1; fi
In file included from ../../../include/getaddrinfo.h:21,
from squid_kerb_auth.c:65:
../../../include/config.h:196:1: "FD_SETSIZE" redefined
In file included from /usr/include/sys/types.h:299,
from /usr/include/unistd.h:41,
from squid_kerb_auth.c:36:
/usr/include/sys/select.h:59:1: this is the location of the previous definition
squid_kerb_auth.c:121:20: base64.h: No such file or directory
squid_kerb_auth.c:123:24: spnegohelp.h: No such file or directory
squid_kerb_auth.c: In function `main':
squid_kerb_auth.c:424: warning: implicit declaration of function
`ska_base64_decode_len'
squid_kerb_auth.c:429: warning: implicit declaration of function
`ska_base64_decode'
squid_kerb_auth.c:433: warning: implicit declaration of function
`parseNegTokenInit'
squid_kerb_auth.c:512: warning: implicit declaration of function
`makeNegTokenTarg'
squid_kerb_auth.c:529: warning: implicit declaration of function
`ska_base64_encode_len'
squid_kerb_auth.c:537: warning: implicit declaration of function
`ska_base64_encode'
*** Error code 1
On FreeBSD 6, helpers/negotiate_auth/squid_kerb_auth/config.h looks
like the following, on FreeBSD 7 the only difference is that
HAVE_GSSAPI_GSSAPI_KRB5_H is (correctly) defined:
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.in by autoheader. */
/*
* -----------------------------------------------------------------------------
*
* Author: Markus Moeller ([EMAIL PROTECTED])
*
* Copyright (C) 2007 Markus Moeller. All rights reserved.
*
<snip>
#ifdef HAVE_HEIMDAL_KERBEROS
#ifdef HAVE_GSSAPI_GSSAPI_H
#include <gssapi/gssapi.h>
#elif defined(HAVE_GSSAPI_H)
#include <gssapi.h>
#endif
#define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE
#else
#ifdef HAVE_SEAM_KERBEROS
#ifdef HAVE_GSSAPI_GSSAPI_H
#include <gssapi/gssapi.h>
#elif defined(HAVE_GSSAPI_H)
#include <gssapi.h>
#endif
#ifdef HAVE_GSSAPI_GSSAPI_EXT_H
#include <gssapi/gssapi_ext.h>
#endif
#define gss_nt_service_name GSS_C_NT_HOSTBASED_SERVICE
#else /*MIT*/
#ifdef HAVE_GSSAPI_GSSAPI_H
#include <gssapi/gssapi.h>
#elif defined(HAVE_GSSAPI_H)
#include <gssapi.h>
#endif
#ifdef HAVE_GSSAPI_GSSAPI_KRB5_H
#include <gssapi/gssapi_krb5.h>
#endif
#ifdef HAVE_GSSAPI_GSSAPI_GENERIC_H
#include <gssapi/gssapi_generic.h>
#endif
#endif
#endif
Amos
--
Please be using
Current Stable Squid 2.7.STABLE5 or 3.0.STABLE10
Current Beta Squid 3.1.0.1