cc'ing squid-dev where code problems shodul be sent.
On 15/03/2012 11:54 p.m., Jose-Marcio Martins da Cruz wrote:
Hello,
I'm having some difficulty to compile squid 3.2.0.16 under Solaris 10
(u7 5/09) - x86.
Known issues. the problems you mentino below are just the top of the
iceberg.
Basically it boils down to Solaris being past its end-of-life as an
operating system. OpenSolaris has better success but is now also closed
down. There is some hope coming in from the direction of OpenIndiana,
but even there are some issues.
At first, it doesn't compile nor with gcc 3.4.6 nor Sun CC. So, I
finally (and hardly) succeeded to have a gcc-4.6.3 compiled...
Err. Yes GCC 4.x is required for the C++ features Squid-3.2 uses. Bit
sad about Sun CC, Oracle shut things down just a few months after we
managed to get Squid working, then something changed and it broke with
no way for us to fix.
Now the problems...
The starting configuration options are (derived from my running squid
3.1.x) :
HELPERS="basic,digest,ntlm"
BASIC_HELPERS="DB,LDAP,PAM,getpwnam,SASL"
DIGEST_HELPERS="ldap,password"
./configure\
--prefix=/var/squid \
--disable-icmp \
--enable-snmp \
--enable-delay-pools \
--enable-useragent-log \
--enable-referer-log \
*-log are obsolete. Made into config file log types now.
--enable-cache-digests \
--enable-kill-parent-hack \
--enable-cachemgr-hostname=proxy.ensmp.fr \
--enable-ssl \
--with-openssl=/usr/local/ssl \
--enable-auth \
--enable-basic-auth-helpers=$BASIC_HELPERS \
--enable-digest-auth-helpers=$DIGEST_HELPERS \
These have all changed. They now use the form
--enable-auth-basic=$BASIC_HELPERS --enable-auth-digest=$DIGEST_HELPERS.
--disable-ident-lookups \
--enable-async-io \
--enable-carp \
--enable-xmalloc-statistics \
--with-large-files \
--with-build-environment=POSIX_V6_ILP32_OFFBIG \
--disable-gnuregex \
LDFLAGS=-lsasl
*******************************************
With these options, configure rants :
checking for broken Solaris krb5.h... yes
configure: WARNING: You have a broken Solaris <krb5.h> system include.
configure: WARNING: Please see
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6837512
configure: WARNING: If you need Kerberos support you'll have to patch
configure: WARNING: your system. See
contrib/solaris/solaris-krb5-include.patch
but the contrib pointed file :
"contrib/solaris/solaris-krb5-include.patch" can't be found in any
distribution of squid (3.0.x, 3.1.x and 3.2.x). Neither the
opensolaris URL...
To circunvent this, as I think I don't need kerberos, I added the
option "--without-krb5-config".
Ah. Thanks for that. It should have been bundled. Looking into it.
Meanwhile if you want to fix that header for any other software you
build against kerberos it can be found at
http://bazaar.launchpad.net/~squid/squid/3.2/view/11535/contrib/solaris/solaris-krb5-include.patch
So far, so good, configure is OK, but the compile process stops later
with :
...
<snip>
TypedMsgHdr.cc: In member function 'void
Ipc::TypedMsgHdr::address(const sockaddr_un&)':
TypedMsgHdr.cc:78:32: error: 'SUN_LEN' was not declared in this scope
Patch here
http://ww.squid-cache.org/Versions/v3/3.HEAD/changesets/squid-3-12089.patch
Amos