← Back to team overview

hipl-core team mailing list archive

[Bug 620327] [NEW] compilation fails on CentOS 5.5

 

Public bug reported:

Compilation fails on CentOS 5.5:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=500 -std=c99 -Wall -Wextra -Werror -Wredundant-decls -Wdisabled-optimization -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wno-deprecated-declarations -Wpointer-arith -Wwrite-strings -Wshadow -Winline -fno-strict-aliasing -g -O2 -MT lib/core/message.lo -MD -MP -MF lib/core/.deps/message.Tpo -c lib/core/message.c -o lib/core/message.o
In file included from ./lib/tool/nlink.h:8,
                 from lib/core/message.c:89:
/usr/include/linux/xfrm.h:68: error: expected specifier-qualifier-list before ‘__u64’
/usr/include/linux/xfrm.h:80: error: expected specifier-qualifier-list before ‘__u64’

It seems that __u16 and __u32 get compiled but __u64 not (checked with
gcc -E flag on CentOS). The __u64 seems to be define only in one place:

/usr/include/asm/types.h
..
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#endif 

The problem is that __STRICT_ANSI__ is defined. Work in progress...

** Affects: hipl
     Importance: Undecided
         Status: New

-- 
compilation fails on CentOS 5.5
https://bugs.launchpad.net/bugs/620327
You received this bug notification because you are a member of HIPL core
team, which is subscribed to HIPL.

Status in Host Identity Protocol for Linux: New

Bug description:
Compilation fails on CentOS 5.5:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=500 -std=c99 -Wall -Wextra -Werror -Wredundant-decls -Wdisabled-optimization -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wno-deprecated-declarations -Wpointer-arith -Wwrite-strings -Wshadow -Winline -fno-strict-aliasing -g -O2 -MT lib/core/message.lo -MD -MP -MF lib/core/.deps/message.Tpo -c lib/core/message.c -o lib/core/message.o
In file included from ./lib/tool/nlink.h:8,
                 from lib/core/message.c:89:
/usr/include/linux/xfrm.h:68: error: expected specifier-qualifier-list before ‘__u64’
/usr/include/linux/xfrm.h:80: error: expected specifier-qualifier-list before ‘__u64’

It seems that __u16 and __u32 get compiled but __u64 not (checked with gcc -E flag on CentOS). The __u64 seems to be define only in one place:

/usr/include/asm/types.h
..
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#endif 

The problem is that __STRICT_ANSI__ is defined. Work in progress...





Follow ups

References