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