Steve wrote:
Hi
This is my first post to such a list so please go easy with me and I
hope I have found the correct place. I have a problem compiling any
release after version squid-3.0.STABLE20 on IBM Power ppc64 running
Red Hat Enterprise Linux AS release 4 (Nahant Update 8).
I have been using Squid on this platform for about 5 years and been
compiling previous releases without any issues. I have done the usual
googling and searching of the list but it seems I am unique in
experiencing this problem!
The key errors I am seeing are displayed in the back end of the log
extract below and seem to relate to "rfc1738.c: In function
`rfc1738_unescape'" and the warnings generated relating to comparison
is always false.
Compiler is gcc version 3.4.6 20060404 (Red Hat 3.4.6-11).
mv -f .deps/md5.Tpo .deps/md5.Po
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include
-Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes
-Wmissing-declarations -Wcomments -Wall -g -O2 -MT radix.o -MD -MP -MF
.deps/radix.Tpo -c -o radix.o radix.c
mv -f .deps/radix.Tpo .deps/radix.Po
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include
-Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes
-Wmissing-declarations -Wcomments -Wall -g -O2 -MT rfc1035.o -MD -MP
-MF .deps/rfc1035.Tpo -c -o rfc1035.o rfc1035.c
mv -f .deps/rfc1035.Tpo .deps/rfc1035.Po
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include
-Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes
-Wmissing-declarations -Wcomments -Wall -g -O2 -MT rfc1123.o -MD -MP
-MF .deps/rfc1123.Tpo -c -o rfc1123.o rfc1123.c
mv -f .deps/rfc1123.Tpo .deps/rfc1123.Po
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include
-Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes
-Wmissing-declarations -Wcomments -Wall -g -O2 -MT rfc1738.o -MD -MP
-MF .deps/rfc1738.Tpo -c -o rfc1738.o rfc1738.c
rfc1738.c: In function `rfc1738_unescape':
rfc1738.c:209: warning: comparison is always false due to limited
range of data type
rfc1738.c:212: warning: comparison is always false due to limited
range of data type
make[2]: *** [rfc1738.o] Error 1
make[2]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib'make:
*** [all-recursive] Error 1
Making install in lib
make[1]: Entering directory `/arc1/Squid/squid-3.0.STABLE21/lib'
Making all in libTrie
make[2]: Entering directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie'
make all-recursive
make[3]: Entering directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie'
Making all in src
make[4]: Entering directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie/src'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie/src'
Making all in test
make[4]: Entering directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie/test'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie/test'
make[4]: Entering directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie'
make[3]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie'
make[2]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib/libTrie'
make[2]: Entering directory `/arc1/Squid/squid-3.0.STABLE21/lib'
gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include
-Werror -Wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes
-Wmissing-declarations -Wcomments -Wall -g -O2 -MT rfc1738.o -MD -MP
-MF .deps/rfc1738.Tpo -c -o rfc1738.o rfc1738.c
rfc1738.c: In function `rfc1738_unescape':
rfc1738.c:209: warning: comparison is always false due to limited
range of data type
rfc1738.c:212: warning: comparison is always false due to limited
range of data type
make[2]: *** [rfc1738.o] Error 1
make[2]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/arc1/Squid/squid-3.0.STABLE21/lib'
make: *** [install-recursive] Error 1
I get the same for squid-3.0.STABLE21, squid-3.0.STABLE22,
squid-3.0.STABLE23, squid-3.0.STABLE24 and squid-3.0.STABLE25.
Squid-3.1.1 also will not compile for me.
This suggests to me that lib/rfc1738.c is an area to look at and I
find that the file is different between releases. If I copy the
version from squid-3.0.STABLE20 to squid-3.0.STABLE21 and try again
then the build works. I don’t know what the knock on effect of this
would be but I guess a more permanent fix at source may be possible.
Any help on getting these working without copying source files between
releases would be gratefully received.
Thanks
Steve
The 3.0.STABLE21 rfc1738 code change was a security vulnerability fix
which contained some GCCisms.
This as been corrected in the current 3.1.1 snapshot and will be bundled
with 3.1.2.
Amos
--
Please be using
Current Stable Squid 2.7.STABLE9 or 3.1.1