Re: [squid-users] Build fail for versions squid-3.0.STABLE21 and later on IBM PowerPC64

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 16 Apr 2010 13:46:44 +1200

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
Received on Fri Apr 16 2010 - 01:46:56 MDT

This archive was generated by hypermail 2.2.0 : Sat Apr 17 2010 - 12:00:05 MDT