On 10/08/2012 1:55 a.m., Dan Charlesworth wrote:
Hi
Apparently I'm having the exact same issue as Michael was in this thread:
http://www.squid-cache.org/mail-archive/squid-users/201204/0016.html
Differences are:
- I'm using 3.1.20
- I'm using CentOS 6.3 with openssl-1.0.0-20
- I'm building an RPM via mock
This is the configure section from the spec file:
%configure \
--libexecdir=%{_libdir}/squid \
--localstatedir=/var \
--datadir=%{_datadir}/squid \
--sysconfdir=%{_sysconfdir}/squid \
--with-logdir='$(localstatedir)/log/squid' \
--with-pidfile='$(localstatedir)/run/squid.pid' \
--disable-dependency-tracking \
--enable-arp-acl \
--enable-follow-x-forwarded-for \
--enable-auth="basic,digest,ntlm,negotiate" \
--enable-basic-auth-helpers="LDAP,MSNT,NCSA,PAM,SMB,YP,getpwnam,multi-domain-NTLM,SASL,DB,POP3,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" \
--enable-external-acl-helpers="ip_user,ldap_group,session,unix_group,wbinfo_group"
\
--enable-cache-digests \
--enable-cachemgr-hostname=localhost \
--enable-delay-pools \
--enable-epoll \
--enable-icap-client \
--enable-ident-lookups \
%ifnarch ppc64 ia64 x86_64 s390x
--with-large-files \
%endif
--enable-linux-netfilter \
--enable-referer-log \
--enable-removal-policies="heap,lru" \
--enable-snmp \
--enable-ssl \
--enable-ssl-crtd \
--enable-storeio="aufs,diskd,ufs" \
--enable-useragent-log \
--enable-wccpv2 \
--enable-esi \
--with-aio \
--with-default-user="squid" \
--with-filedescriptors=65535 \
--with-maxfd=65535 \
--with-dl \
--with-openssl \
Errors (the first few lines):
certificate_db.cc: In member function 'void Ssl::CertificateDb::load()':
certificate_db.cc:404: error: 'index_serial_hash_LHASH_HASH' was not declared
in this scope
certificate_db.cc:404: error: 'index_serial_cmp_LHASH_COMP' was not declared in
this scope
certificate_db.cc:407: error: 'index_name_hash_LHASH_HASH' was not declared in
this scope
certificate_db.cc:407: error: 'index_name_cmp_LHASH_COMP' was not declared in
this scope
certificate_db.cc: In member function 'bool
Ssl::CertificateDb::deleteInvalidCertificate()':
certificate_db.cc:441: error: cannot convert 'stack_st_OPENSSL_PSTRING*' to
'const _STACK*' for argument '1' to 'int sk_num(const _STACK*)'
certificate_db.cc:442: error: cannot convert 'stack_st_OPENSSL_PSTRING*' to
'const _STACK*' for argument '1' to 'void* sk_value(const _STACK*, int)
I don't quite understand what Michael did to work-around it. I would just like
to know if this can be worked around given my environment and if so, how
exactly?
He installed a different verioon of OpenSSL and used the --with-openssl=
configure option to tell Squid exactly which library to build against.
The early 1.0.0 had symbol issues and all signs are pointing at those
-fips libraries being patched with ABI breaking stuff.
Amos