Re: [squid-users] Build Squid 3.3.1 on Solaris 10

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 01 Mar 2013 00:23:39 +1300

On 28/02/2013 11:45 p.m., Markus Sonnenberg wrote:
> On 2/28/2013 1:39 AM, Amos Jeffries wrote:
>> On 28/02/2013 10:32 a.m., Markus Sonnenberg wrote:
>>> On 2/27/2013 5:04 PM, C. Pelissier wrote:
>>>> Le mer. 27/02/2013 à 16:21, Markus Sonnenberg a écrit :
>>>>> Hi All,
>>>>>
>>>>> i'm trying to build the latest squid on solaris 10 and i'm facing the
>>>>> following problem.
>>>>>
>>>>> <snip>
>>>>> ismine/Download/squid-3.3.1# gmake
>>>>> Making all in compat
>>>>> gmake[1]: Entering directory `/Download/squid-3.3.1/compat'
>>>>> /usr/sfw/bin/g++ -DHAVE_CONFIG_H -I.. -I../include -I../lib -I../src
>>>>> -I../include -I/usr/include/gssapi -I/usr/include/kerberosv5
>>>>> -I../libltdl -I/usr/include -I/opt/csw/include -I/usr/local/include
>>>>> -I/usr/include/gssapi -I/usr/include/kerberosv5 -Wall -Wpointer-arith
>>>>> -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -pthreads
>>>>> -I/usr/include -I/opt/csw/include -I/usr/local/include -MT assert.o -MD
>>>>> -MP -MF .deps/assert.Tpo -c -o assert.o assert.cc
>>>>> In file included from ../compat/compat_shared.h:202,
>>>>> from ../compat/compat.h:80,
>>>>> from ../include/squid.h:66,
>>>>> from assert.cc:32:
>>>>> /usr/include/kerberosv5/com_err.h:20: warning: ignoring #pragma ident
>>>>> gmake[1]: *** [assert.o] Error 1
>>>>> gmake[1]: Leaving directory `/Download/squid-3.3.1/compat'
>>>>> gmake: *** [all-recursive] Error 1
>>>>> </snip>
>>>>
>>>> This is a known problem since 3.2 release. Inside squid src directory
>>>> just do :
>>>>
>>>> cd compat
>>>> mv xstrto.h xstrto.h.ref
>>>> sed -e '1i\
>>>> #if defined(__cplusplus)' -e '$a\
>>>> #endif' xstrto.h.ref> xstrto.h
>>>> cd ..
>>>>
>>>> Add to xstrto.h
>>>>
>>>> #if defined(__cplusplus) at the top
>>>> and
>>>> #endif at the bottom
>>>>
>>>> It would be nice to integrate this patch to future squid releases ...
>>>> Thank's
>>
>> NOTE: this is *not* the xstrto.h wrapping. (Which is fixed in the next
>> releases coming out ~48hrs.)
>>
>>
>> Markus,
>>
>> There is a patch file in your Squid source directory
>> contrib/solaris/solaris-krb5-include.patch
>>
>> Can you please apply it to your /usr/include/kerberosv5/krb5.h system
>> file (carefully with a backup) and report back if it resolves this issue?
>>
>>
>> Thanks
>> Amos
> Amos,
>
> the patch didn't apply correctly. so i added "KRB5INT_BEGIN_DECLS" by hand.
>
> <snip>
> ismine/usr/include/kerberosv5# patch < /Download/squid-3.3.1/contrib/solaris/solaris-krb5-include.patch
> Looks like a unified context diff.
> Hunk #1 failed at line 171.
> Hunk #2 succeeded at 3121 (offset 128 lines)
> 1 out of 2 hunks failed: saving rejects to krb5.h.rej
> done
> </snip>
>
> however i still get the same error.
>
> <snip>
> ismine/Download/squid-3.3.1# gmake
> Making all in compat
> gmake[1]: Entering directory `/Download/squid-3.3.1/compat'
> /opt/csw/bin/g++ -DHAVE_CONFIG_H -I.. -I../include -I../lib -I../src -I../include -I/usr/include/gssapi -I/usr/include/kerberosv5 -I../libltdl -I/usr/include -I/opt/csw/include -I/usr/local/include -I/usr/include/gssapi -I/usr/include/kerberosv5 -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -pthreads -I/usr/include -I/opt/csw/include -I/usr/local/include -std=c++0x -MT assert.o -MD -MP -MF .deps/assert.Tpo -c -o assert.o assert.cc
> In file included from ../compat/compat_shared.h:202:0,
> from ../compat/compat.h:80,
> from ../include/squid.h:66,
> from assert.cc:32:
> /usr/include/kerberosv5/com_err.h:20:0: error: ignoring #pragma ident [-Werror=unknown-pragmas]
> cc1plus: all warnings being treated as errors
> gmake[1]: *** [assert.o] Error 1
> gmake[1]: Leaving directory `/Download/squid-3.3.1/compat'
> gmake: *** [all-recursive] Error 1
> </snip>
>
> this was done on a sparc based solaris 10/u9 (Oracle Solaris 10 9/10 s10s_u9wos_14a SPARC).
> just for fun i copied over the krb5.h and com_err.h from a current solaris 10/u11, which should have patch 148069-02 (the sparc version of 148070-02) integrated. the patch file do not apply and gmake ends with the same error.
>
> <snip>
> ismine/Download/squid-3.3.1# gmake
> Making all in compat
> gmake[1]: Entering directory `/Download/squid-3.3.1/compat'
> /opt/csw/bin/g++ -DHAVE_CONFIG_H -I.. -I../include -I../lib -I../src -I../include -I/usr/include/gssapi -I/usr/include/kerberosv5 -I../libltdl -I/usr/include -I/opt/csw/include -I/usr/local/include -I/usr/include/gssapi -I/usr/include/kerberosv5 -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -pipe -D_REENTRANT -pthreads -I/usr/include -I/opt/csw/include -I/usr/local/include -std=c++0x -MT assert.o -MD -MP -MF .deps/assert.Tpo -c -o assert.o assert.cc
> In file included from ../compat/compat_shared.h:202:0,
> from ../compat/compat.h:80,
> from ../include/squid.h:66,
> from assert.cc:32:
> /usr/include/kerberosv5/com_err.h:20:0: error: ignoring #pragma ident [-Werror=unknown-pragmas]
> cc1plus: all warnings being treated as errors
> gmake[1]: *** [assert.o] Error 1
> gmake[1]: Leaving directory `/Download/squid-3.3.1/compat'
> gmake: *** [all-recursive] Error 1
> </snip>
>
> regards
> markus
>
> ct,

Wonderful. Thank you for that.

The fix then, is probably still as described here:
http://wiki.squid-cache.org/KnowledgeBase/Solaris#Compiling

If that works would you be able to make a patch for me to bundle with
Squid for just the com_err.h alteration?

Amos
Received on Thu Feb 28 2013 - 11:23:56 MST

This archive was generated by hypermail 2.2.0 : Thu Feb 28 2013 - 12:00:04 MST