2.4.26-pre1: SCTP compile error

4 messages, 3 authors, 2004-02-27 · open the first message on its own page

2.4.26-pre1: SCTP compile error

From: Adrian Bunk <hidden>
Date: 2004-02-26 21:28:29

On Wed, Feb 25, 2004 at 04:09:20PM -0300, Marcelo Tosatti wrote:
...
It contains a big SCTP merge (to match 2.6 API), networking updates,
...
I got the compile error forwarded below using gcc 2.95.3 .

cu
Adrian



...
gcc-2.95 -D__KERNEL__ -I/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4   -nostdinc -iwithprefix include -DKBUILD_BASENAME=ipv6  -c -o ipv6.o ipv6.c
In file included from ipv6.c:77:
/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include/net/sctp/sctp.h:119: warning: `MSECS_TO_JIFFIES' redefined
/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include/net/irda/irda.h:89: warning: this is the location of the previous definition
ipv6.c: In function `sctp_v6_xmit':
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c: In function `sctp_v6_get_dst':
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:213: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
ipv6.c:219: request for member `in6_u' in something not a structure or union
make[3]: *** [ipv6.o] Error 1
make[3]: Leaving directory `/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/net/sctp'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/net/sctp'
make[1]: *** [_subdir_sctp] Error 2
make[1]: Leaving directory `/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/net'
make: *** [_dir_net] Error 2

Re: 2.4.26-pre1: SCTP compile error

From: Sridhar Samudrala <hidden>
Date: 2004-02-26 23:55:58

On Thu, 26 Feb 2004, Adrian Bunk wrote:
On Wed, Feb 25, 2004 at 04:09:20PM -0300, Marcelo Tosatti wrote:
quoted
...
It contains a big SCTP merge (to match 2.6 API), networking updates,
...
I got the compile error forwarded below using gcc 2.95.3 .

cu
Adrian



...
gcc-2.95 -D__KERNEL__ -I/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4   -nostdinc -iwithprefix include -DKBUILD_BASENAME=ipv6  -c -o ipv6.o ipv6.c
In file included from ipv6.c:77:
/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include/net/sctp/sctp.h:119: warning: `MSECS_TO_JIFFIES' redefined
/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include/net/irda/irda.h:89: warning: this is the location of the previous definition
I missed this warning as i don't have irda enabled in my config.
A simple fix would be to rename the macro in sctp.h to
SCTP_MSECS_TO_JIFFIES.
ipv6.c: In function `sctp_v6_xmit':
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
I am not seeing these errors with either gcc3.2.2 or gcc2.96. But, looking at the
code, this definitely seems to be a problem. Not sure why the newer versions of
gcc didn't catch them.

looks like while backporting from 2.6, i missed the fact that in 2.4, fl6_src,
fl6_dst in struct flowi are pointers to struct in6_addr.

I will work on a patch to fix these issues shortly.

Thanks
Sridhar

Re: 2.4.26-pre1: SCTP compile error

From: Sridhar Samudrala <hidden>
Date: 2004-02-27 01:43:41

On Thu, 26 Feb 2004, Sridhar Samudrala wrote:
On Thu, 26 Feb 2004, Adrian Bunk wrote:
quoted
On Wed, Feb 25, 2004 at 04:09:20PM -0300, Marcelo Tosatti wrote:
quoted
...
It contains a big SCTP merge (to match 2.6 API), networking updates,
...
I got the compile error forwarded below using gcc 2.95.3 .

cu
Adrian



...
gcc-2.95 -D__KERNEL__ -I/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4   -nostdinc -iwithprefix include -DKBUILD_BASENAME=ipv6  -c -o ipv6.o ipv6.c
In file included from ipv6.c:77:
/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include/net/sctp/sctp.h:119: warning: `MSECS_TO_JIFFIES' redefined
/home/bunk/linux/kernel-2.4/linux-2.4.26-pre1-full/include/net/irda/irda.h:89: warning: this is the location of the previous definition
I missed this warning as i don't have irda enabled in my config.
A simple fix would be to rename the macro in sctp.h to
SCTP_MSECS_TO_JIFFIES.
quoted
ipv6.c: In function `sctp_v6_xmit':
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
I am not seeing these errors with either gcc3.2.2 or gcc2.96. But, looking at the
code, this definitely seems to be a problem. Not sure why the newer versions of
gcc didn't catch them.
It is my mistake. I don't have CONFIG_SCTP_DBG_MSG enabled and so these lines are
compiled out and hence i am not seeing these errors.

Thanks
Sridhar

Re: 2.4.26-pre1: SCTP compile error

From: David S. Miller <hidden>
Date: 2004-02-27 06:51:32

On Thu, 26 Feb 2004 15:53:58 -0800 (PST)
Sridhar Samudrala [off-list ref] wrote:
I missed this warning as i don't have irda enabled in my config.
A simple fix would be to rename the macro in sctp.h to
SCTP_MSECS_TO_JIFFIES.
I've fixed this in my tree.
quoted
ipv6.c: In function `sctp_v6_xmit':
ipv6.c:189: request for member `in6_u' in something not a structure or union
ipv6.c:189: request for member `in6_u' in something not a structure or union
I am not seeing these errors with either gcc3.2.2 or gcc2.96. But, looking at the
code, this definitely seems to be a problem. Not sure why the newer versions of
gcc didn't catch them.
It's trying to use NIP6() on an object that is not a struct in6_addr.
I'll just comment this thing out for now.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help