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