[squid-users] Squid 2.5.20 fails to compile with ecap

Alex Rousskov rousskov at measurement-factory.com
Tue Oct 11 14:42:01 UTC 2016


On 10/11/2016 06:54 AM, James Lay wrote:

> EXT_LIBECAP_CFLAGS="-I/opt/ecap/include"
> EXT_LIBECAP_LIBS="-L/opt/ecap/lib" ./configure --prefix=/opt
> --with-openssl=/opt/libressl --enable-ssl --enable-ssl-crtd
> --enable-linux-netfilter --enable-follow-x-forwarded-for
> --with-large-files --sysconfdir=/opt/etc/squid
> --enable-xternal-acl-helpers=none --enable-ecap

Your Squid executable is not linked with libecap, resulting in undefined
references to libecap symbols:

> /bin/bash ../libtool  --tag=CXX   --mode=link g++ -Wall -Wpointer-arith
> -Wwrite-strings -Wcomments -Wshadow -Woverloaded-virtual -Werror -pipe
> -D_REENTRANT -m64   -g -O2 -march=native -std=c++11 -export-dynamic
> -dlopen force -m64 -g -o squid 

<snipped many lines without -lecap, libecap, or equivalent>

> adaptation/.libs/libadaptation.a(libsquid_ecap_la-Host.o):
> undefined reference to `libecap::headerTransferEncoding'

I am not sure why Your Squid executable is not linked with libecap, but
I suspect that manually setting EXT_LIBECAP_CFLAGS and EXT_LIBECAP_LIBS
confuses ./configure. You should not set those variables manually and
let Squid compute them automatically instead. You may need to set
PKG_CONFIG_PATH if Squid cannot find libecap.pc without it.


HTH,

Alex.
P.S. I assume you meant to type "3.5.20" in the Subject


More information about the squid-users mailing list