Re: [squid-users] Compiling squid 3.2.0.16 under Solaris 10

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 16 Mar 2012 01:47:52 +1300

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
Received on Thu Mar 15 2012 - 12:48:02 MDT

This archive was generated by hypermail 2.2.0 : Fri Mar 16 2012 - 12:00:04 MDT