Re: Compiling squid 3.0 STABLE24 on AIX

From: <yaberger_at_ca.ibm.com>
Date: Mon, 15 Mar 2010 12:12:56 -0400

Hi

< What does the static/inline test show after that comment is fixed?
< (inline is supposed to work by itself).

well the same error we had with 3.0

Making all in lib
        source='rfc1738.c' object='rfc1738.o' libtool=no DEPDIR=.deps
depmode=aix /bin/sh ../cfgaux/depcomp cc -qlanglvl=extc89 -DHAVE_CONFIG_H
 -I.. -I../include -I../src -I../include -g -c rfc1738.c
"rfc1738.c", line 184.1: 1506-277 (S) Syntax error: possible missing ';'
or ','?
"rfc1738.c", line 182.8: 1506-485 (S) Parameter declaration list is
incompatible with declarator for inline.
"rfc1738.c", line 198.21: 1506-045 (S) Undeclared identifier s.
make: 1254-004 The error code from the last command is 1.

Stop.
make: 1254-004 The error code from the last command is 1.

Stop.
make: 1254-004 The error code from the last command is 1.

Stop.

< I found for GCC to accept inline I had to add a dummy prototype:
<
<
< inline int fromhex(char ch); /* prototype to keep GCC happy. */
<
< inline int
< fromhex(char ch)
< ...

I've tried several options:
static inline (default)
inline
prototype + static inline
prototype + inline

none of these worked. Here is the ouput for prototype + inline

inline int fromhex(char ch); /* prototype to keep GCC happy. */
/*
 * rfc1738_unescape() - Converts escaped characters (%xy numbers) in
 * given the string. %% is a %. %ab is the 8-bit hexadecimal number "ab"
 */
inline int
fromhex(char ch)
{
    if (ch >= '0' && ch <= '9')
        return ch - '0';
    if (ch >= 'a' && ch <= 'f')
        return ch - 'a' + 10;
    if (ch >= 'A' && ch <= 'F')
        return ch - 'A' + 10;
    return -1;
}

Making all in lib
        source='rfc1738.c' object='rfc1738.o' libtool=no DEPDIR=.deps
depmode=aix /bin/sh ../cfgaux/depcomp cc -qlanglvl=extc89 -DHAVE_CONFIG_H
 -I.. -I../include -I../src -I../include -g -c rfc1738.c
"rfc1738.c", line 180.1: 1506-485 (S) Parameter declaration list is
incompatible with declarator for inline.
"rfc1738.c", line 185.1: 1506-276 (S) Syntax error: possible missing '{'?
"rfc1738.c", line 188.9: 1506-045 (S) Undeclared identifier ch.
make: 1254-004 The error code from the last command is 1.

Stop.
make: 1254-004 The error code from the last command is 1.

Stop.
make: 1254-004 The error code from the last command is 1.

Stop.

< So just that one now?
< That particular symbol requires linking SquidTime.o. Safe enough for
cf_gen, but is not used so should not be showing up undefined anyway.

for now yes, but who know what else can pop after this one is fixed.
I'm not sure which change need to be added in which file and saw that
Hendrik also put a reply on it, can you let me know what you want me to
test?

Regards,

Yannick Bergeron
yaberger_at_ca.ibm.com
IT Specialist
AIX / Samba / Load Balancer / DCE/DFS / SCM / Apache / Security / Perl
scripting / etc.
Received on Mon Mar 15 2010 - 16:13:11 MDT

This archive was generated by hypermail 2.2.0 : Tue Mar 16 2010 - 12:00:06 MDT