Re: [squid-users] cant build squid 3.3.5 with external_acl_helper ldap_group on CentOS 6.4 64bits

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Sat, 01 Jun 2013 15:39:49 +1200

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
Received on Sat Jun 01 2013 - 03:40:00 MDT

This archive was generated by hypermail 2.2.0 : Sat Jun 01 2013 - 12:00:07 MDT