On 1/06/2013 7:40 a.m., Ricardo Klein wrote:
Hi there,
I am trying to build squid on CentOS 6.4 64bits with
external_acl_helper "ldap_group", but my ./configure log says:
configure: external acl helper ldap_group ... found but cannot be built
I have fired a but in the bugtrack, but, if any of you know what is
wrong, please tell me so I can cancel that bugtracker.
The script detecting external-acl-helpers entries has a bug displaying the
wrong message for the error. It will report "found but cannot be built" for
both the found and not-found error cases. In your situation I believe the
helpers as named cannot be found at all due to incorrect ./configure
options.
Details inline with your options...
Here is my ./configure options:
./configure \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--datadir=/usr/share \
--includedir=/usr/include \
--libdir=/usr/lib64 \
--libexecdir=/usr/libexec \
--sharedstatedir=/var/lib \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-internal-dns \
internal-dns is enabeld by default. You can omit this.
--disable-strict-error-checking \
--exec_prefix=/usr \
--libexecdir=/usr/lib64/squid \
--localstatedir=/var \
--datadir=/usr/share/squid \
--sysconfdir=/etc/squid \
You already specified several of the above batch of options (datadir,
sysconfdir, libexecdir) with different values. This may cause unexpected
results when installing.
And "--exec_prefix" does not exist. There is a different "--exec-prefix"
option earlier which will be used ... so more unexpected results when
installing.
--with-logdir=$LOCALSTATEDIR/log/squid \
--with-pidfile=$LOCALSTATEDIR/run/squid.pid \
--disable-dependency-tracking \
--enable-arp-acl \
"--enable-arp-acl" does not exit. The replacement --enable-eui is already
enabled by default, so all you need do is to remove the above option.
--enable-follow-x-forwarded-for \
--enable-auth \
NP: auth is enabled by default, and when omitted will be auto-enabled by the
below helpers options anyway. You can omit "--enable-auth" entirely.
--enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SMB,YP,getpwnam,multi-domain-NTLM,SASL,DB,squid_radius_auth
--enable-ntlm-auth-helpers=smb_lm,no_check,fakeauth \
--enable-digest-auth-helpers=password,ldap,eDirectory \
--enable-negotiate-auth-helpers=squid_kerb_auth \
The auth build options underwent a major change in the squid-3.2 series.
--enable-X-auth-helpers options no longer exist.
Squid ./configure script is ignoring the above auth helper options and using
the default versions of the new --enable-auth-X options.
For example your basic auth helpers line should be:
--enable-auth-basic="LDAP,MSNT,NCSA,PAM,SMB,NIS,getpwnam,MSNT-multi-domain,SASL,DB,RADIUS"
--enable-external-acl-helpers=ip_user,ldap_group,session,unix_group,wbinfo_group
You are not getting build problems with the auth helpers because the entire
configure --enable-* option name changed and the broken ones above are
ignored in favour of the auto-detected helpers.
The external-acl-helpers option however did not change, so you hit error
messages trying to build the differently named helpers.
Run "ls -1 helpers/*/" to see all the new helper names. Note that the list
here is case sensitive.
--enable-cache-digests \
--enable-cachemgr-hostname=localhost \
--enable-delay-pools \
--enable-epoll \
--enable-icap-client \
--enable-ident-lookups \
--enable-linux-netfilter \
--enable-referer-log \
--enable-referer-log no longer exists. It is a built-in squid.conf logformat
type instead now.
--enable-removal-policies=heap,lru \
--enable-snmp \
--enable-ssl \
--enable-storeio=aufs,diskd,ufs \
NP: with 3.2 and later you probably want to build "rock" cache type as well.
--enable-useragent-log \
--enable-useragent-log no longer exists. It is a built-in squid.conf
logformat type instead now.
--enable-wccpv2 \
--enable-esi \
--with-aio \
--with-default-user=squid \
--with-filedescriptors=30000 \
--with-dl \
--with-openssl \
--with-pthreads
Amos