Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 17868 - gentoo-sources-2.4.20-r2 won't compile with ipv6/ipsec enabled.
Summary: gentoo-sources-2.4.20-r2 won't compile with ipv6/ipsec enabled.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-20 06:15 UTC by klavs klavsen
Modified: 2003-05-05 23:42 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
The kernel config used when the compile failed. (crapped-kern.config,26.31 KB, text/plain)
2003-03-21 01:29 UTC, klavs klavsen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description klavs klavsen 2003-03-20 06:15:41 UTC
kernel compile fails. see "Actual Results for details".

Reproducible: Always
Steps to Reproduce:
1.make menuconfig - enabling ipv6 and ipsec (that should be enough - I have
several grsecurity options enabled too - incl. sysctl support for grsecurity.

2. make dep bzImage
3. watch it fail :)

Actual Results:  
make[2]: Entering directory `/usr/src/linux-2.4.20-gentoo-r2/net'
rm -f network.o
ld -m elf_i386  -r -o network.o socket.o core/core.o ethernet/ethernet.o
802/802.o sched/sched.o netlink/netlink.o ipv4/ipv4.o ipv4/netfilter/netfilter.o
ipsec/ipsec.o unix/unix.o key/key.o ipv6/ipv6.o ipv6/netfilter/netfilter.o
packet/packet.o netsyms.o sysctl_net.o
key/key.o(.data+0x120): multiple definition of `extensions_bitmaps'
ipsec/ipsec.o(.data+0x1ec0): first defined here
key/key.o(.data+0xe0): multiple definition of `pfkey_v2_ext_bits_c_version'
ipsec/ipsec.o(.data+0x1e80): first defined here
ld: Warning: size of symbol `pfkey_v2_ext_bits_c_version' changed from 61 to 63
in key/key.o
key/key.o(.text+0x1841): In function `pfkey_msg_free':
: multiple definition of `pfkey_msg_free'
ipsec/ipsec.o(.text+0x1af9b): first defined here
key/key.o(.text+0x1629): In function `pfkey_x_kmprivate_build':
: multiple definition of `pfkey_x_kmprivate_build'
ipsec/ipsec.o(.text+0x1ab25): first defined here
key/key.o(.text+0x15a7): In function `pfkey_spirange_build':
: multiple definition of `pfkey_spirange_build'
ipsec/ipsec.o(.text+0x1aaa3): first defined here
key/key.o(.text+0x17c1): In function `pfkey_extensions_free':
: multiple definition of `pfkey_extensions_free'
ipsec/ipsec.o(.text+0x1af1b): first defined here
key/key.o(.text+0x143a): In function `pfkey_prop_build':
: multiple definition of `pfkey_prop_build'
ipsec/ipsec.o(.text+0x1a937): first defined here
ld: Warning: size of symbol `pfkey_prop_build' changed from 184 to 185 in key/key.o
key/key.o(.text+0x77d): In function `pfkey_proto_init':
: multiple definition of `pfkey_proto_init'
ipsec/ipsec.o(.text+0x839f): first defined here
key/key.o(.bss+0x0): multiple definition of `pfkey_registered_sockets'
ipsec/ipsec.o(.bss+0x660): first defined here
key/key.o(.text+0x1645): In function `pfkey_x_satype_build':
: multiple definition of `pfkey_x_satype_build'
ipsec/ipsec.o(.text+0x1ab41): first defined here
key/key.o(.text+0xf3d): In function `pfkey_lifetime_build':
: multiple definition of `pfkey_lifetime_build'
ipsec/ipsec.o(.text+0x1a3de): first defined here
ld: Warning: size of symbol `pfkey_lifetime_build' changed from 200 to 193 in
key/key.o
key/key.o(.text+0x6ff8): In function `ipsec_sysctl_unregister':
: multiple definition of `ipsec_sysctl_unregister'
ipsec/ipsec.o(.text+0x7c21): first defined here
key/key.o(.text+0x16b7): In function `pfkey_msg_build':
: multiple definition of `pfkey_msg_build'
ipsec/ipsec.o(.text+0x1ad5e): first defined here
ld: Warning: size of symbol `pfkey_msg_build' changed from 425 to 246 in key/key.o
key/key.o(.text+0x0): In function `pfkey_msg_interp':
: multiple definition of `pfkey_msg_interp'
ipsec/ipsec.o(.text+0x91a4): first defined here
ld: Warning: size of symbol `pfkey_msg_interp' changed from 354 to 650 in key/key.o
key/key.o(.data+0x4): multiple definition of `pfkey_open_sockets'
ipsec/ipsec.o(.data+0x8c4): first defined here
key/key.o(.text+0x17ad): In function `pfkey_extensions_init':
: multiple definition of `pfkey_extensions_init'
ipsec/ipsec.o(.text+0x1af07): first defined here
key/key.o(.text+0x5d0): In function `pfkey_get_info':
: multiple definition of `pfkey_get_info'
ipsec/ipsec.o(.text+0x80d1): first defined here
key/key.o(.text+0xe71): In function `pfkey_sa_build':
: multiple definition of `pfkey_sa_build'
ipsec/ipsec.o(.text+0x1a311): first defined here
ld: Warning: size of symbol `pfkey_sa_build' changed from 205 to 204 in key/key.o
key/key.o(.data+0x20): multiple definition of `pfkey_ops'
ipsec/ipsec.o(.data+0x8e0): first defined here
key/key.o(.text+0x1434): In function `pfkey_sens_build':
: multiple definition of `pfkey_sens_build'
ipsec/ipsec.o(.text+0x1a931): first defined here
key/key.o(.text+0x48fc): In function `ipsec_sa_put':
: multiple definition of `ipsec_sa_put'
ipsec/ipsec.o(.text+0x151): first defined here
ld: Warning: size of symbol `ipsec_sa_put' changed from 88 to 94 in key/key.o
key/key.o(.text+0x724): In function `pfkey_cleanup':
: multiple definition of `pfkey_cleanup'
ipsec/ipsec.o(.text+0x8284): first defined here
ld: Warning: size of symbol `pfkey_cleanup' changed from 283 to 89 in key/key.o
key/key.o(.data+0x80): multiple definition of `pfkey_v2_build_c_version'
ipsec/ipsec.o(.data+0x1e40): first defined here
ld: Warning: size of symbol `pfkey_v2_build_c_version' changed from 58 to 67 in
key/key.o
key/key.o(.text+0x1276): In function `pfkey_ident_build':
: multiple definition of `pfkey_ident_build'
ipsec/ipsec.o(.text+0x1a7e1): first defined here
ld: Warning: size of symbol `pfkey_ident_build' changed from 336 to 446 in key/key.o
key/key.o(.text+0x28a): In function `pfkey_list_remove_socket':
: multiple definition of `pfkey_list_remove_socket'
ipsec/ipsec.o(.text+0x7c30): first defined here
key/key.o(.text+0x2da): In function `pfkey_upmsg':
: multiple definition of `pfkey_upmsg'
ipsec/ipsec.o(.text+0x7cc7): first defined here
ld: Warning: size of symbol `pfkey_upmsg' changed from 514 to 519 in key/key.o
key/key.o(.text+0x4e1): In function `pfkey_registered_get_info':
: multiple definition of `pfkey_registered_get_info'
ipsec/ipsec.o(.text+0x7f9f): first defined here
key/key.o(.text+0x58d): In function `pfkey_list_insert_socket':
: multiple definition of `pfkey_list_insert_socket'
ipsec/ipsec.o(.text+0x804b): first defined here
key/key.o(.text+0x6ac): In function `pfkey_init':
: multiple definition of `pfkey_init'
ipsec/ipsec.o(.text+0x81ad): first defined here
ld: Warning: size of symbol `pfkey_init' changed from 215 to 120 in key/key.o
key/key.o(.text+0xdd8): In function `pfkey_msg_hdr_build':
: multiple definition of `pfkey_msg_hdr_build'
ipsec/ipsec.o(.text+0x1a278): first defined here
key/key.o(.text+0x14f3): In function `pfkey_supported_build':
: multiple definition of `pfkey_supported_build'
ipsec/ipsec.o(.text+0x1a9ef): first defined here
key/key.o(.text+0x1173): In function `pfkey_key_build':
: multiple definition of `pfkey_key_build'
ipsec/ipsec.o(.text+0x1a6de): first defined here
key/key.o(.data+0x8): multiple definition of `pfkey_family_ops'
ipsec/ipsec.o(.data+0x8c8): first defined here
key/key.o(.data+0x0): multiple definition of `pfkey_sock_list'
ipsec/ipsec.o(.data+0x8c0): first defined here
key/key.o(.text+0x6fe4): In function `ipsec_sysctl_register':
: multiple definition of `ipsec_sysctl_register'
ipsec/ipsec.o(.text+0x7bfc): first defined here
ld: Warning: size of symbol `ipsec_sysctl_register' changed from 37 to 20 in
key/key.o
key/key.o(.text+0xffe): In function `pfkey_address_build':
: multiple definition of `pfkey_address_build'
ipsec/ipsec.o(.text+0x1a4a6): first defined here
ld: Warning: size of symbol `pfkey_address_build' changed from 568 to 373 in
key/key.o
make[2]: *** [network.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.20-gentoo-r2/net'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.20-gentoo-r2/net'
make: *** [_dir_net] Error 2


Expected Results:  
finished compiling :)
Comment 1 Jay Pfeifer (RETIRED) gentoo-dev 2003-03-20 22:01:38 UTC
please post your kernel .config that was in use when you received the compile failure. 
 
thanks, 
 
Jay 
Comment 2 klavs klavsen 2003-03-21 01:29:24 UTC
Created attachment 9650 [details]
The kernel config used when the compile failed.

I got this - from running make oldconfig - and then enabling ipv6 (and ipsec
for ipv6 and ipv4) and grsecurity stuff.
Comment 3 Joe Kallar (RETIRED) gentoo-dev 2003-03-25 01:07:46 UTC
I have a similar error. The kernel compiles fine with any IPSEC options. However, if I compile with IPSEC (which requires Authentication Header or Encapsulating Security Payload) and Authentication Header, I receive an error. This only occured after upgrading to Gentoo-sources 2.4.20r2, it did not occur with Gentoo 2.4.19r10.

  x x        [*] IP Security Protocol (FreeS/WAN IPSEC)                       x x
  x x        --- IPSec options (FreeS/WAN)                                    x x
  x x        [ ]    IPSEC: IP-in-IP encapsulation (tunnel mode)               x x
  x x        [*]    IPSEC: Authentication Header                              x x
  x x        [ ]       HMAC-MD5 authentication algorithm                      x x
  x x        [ ]       HMAC-SHA1 authentication algorithm                     x x
  x x        [ ]    IPSEC: Encapsulating Security Payload                     x x
  x x        [ ]    IPSEC Modular Extensions                                  x x
  x x        [ ]    IPSEC: IP Compression                                     x x
  x x        [ ]    IPSEC Debugging Option                                    x x
  x x        [ ]    IPSEC NAT-Traversal                                       x x

pfkey_v2_build.c: In function `pfkey_address_build':
pfkey_v2_build.c:393: sizeof applied to an incomplete type
pfkey_v2_build.c:394: warning: implicit declaration of function `in6_ntop'
pfkey_v2_build.c:394: dereferencing pointer to incomplete type
make[3]: *** [pfkey_v2_build.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.20-gentoo-r2/net/key'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.20-gentoo-r2/net/key'
make[1]: *** [_subdir_key] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.20-gentoo-r2/net'
make: *** [_dir_net] Error 2
Comment 4 Joe Kallar (RETIRED) gentoo-dev 2003-03-25 01:09:02 UTC
This should have been:
The kernel compiles fine WITHOUT any IPSEC options. 
Comment 5 klavs klavsen 2003-03-25 02:13:20 UTC
Well as all the errors are related to pfkey and ipsec - the kernel will probably compile just fine without IPSEC (haven't tried as it would then be unusable for me).

I'm using 2.4.20-gentoo-r1 and it works fine and compiles fine too - with IPSEC and IPv6 :)

Comment 6 simon 2003-03-25 02:55:03 UTC
Same problem here,

there is also some information in the forums.

http://forums.gentoo.org/viewtopic.php?t=43332

Simon
Comment 7 Felix Lee 2003-03-28 00:40:00 UTC
It looks to me like FreeS/WAN and USAGI don't coexist well.  USAGI adds the linux/net/key directory which duplicates functionality in linux/net/ipsec.
Comment 8 klavs klavsen 2003-03-28 01:54:37 UTC
Well that' can be quite true - as gentoo-sources-2.4.20-r1 also contains Freeswan and USAGI - and it compiles fine - I'm even using it :)
Comment 9 Jay Pfeifer (RETIRED) gentoo-dev 2003-04-10 01:15:21 UTC
gentoo-sources-2.4.20-r1 does not have a USAGI patch. 
Look for an updated sources soon which fixes this issue (and a bunch more). My guess is I'll 
have the docs (to go with the code updates) later today (10Apr2003). 
 
Jay 
Comment 10 klavs klavsen 2003-04-10 02:24:33 UTC
if gentoo-sources-2.4.20-r1 doesn't have USAGI - then howcome I can select IPSec for IPv6? I didn't think any other projects offered that?
Comment 11 Russell Smith 2003-04-13 04:22:30 UTC
How long before these updates will be available?
Comment 12 Jay Pfeifer (RETIRED) gentoo-dev 2003-04-13 05:01:27 UTC
sorry, we had some memory leaks to work out from ck5 patches in this kernel, so things were 
delayed. should be real soon as i've packaged out to testors and all seems well from their 
feedback. 
 
here's a listing of some of the changes: 
 
 * Added latest ck5 (12Apr2003)  
 * Added support for either rmap(default) or aavm (your choice) 
 * Added support for evms 2.0 (user selects 1.2.1 or 2.0). evms 1.2.1 default. 
 * Added support for nforce2 ide & audio 
 * ext3 fixes 
 * jfs fixes - 1.1.1 + xattr & acl 
 * update ntfs to 2.1.2a 
 * grsecurity bumped to 1.9.9f (this contains the ptrace fix) 
 * SuperFreeS/WAN up to 1.9.6.1 
 * Readded missing ciphers from patch-int 
 * Fixed a number of USAGI issues (but some still remain). 
 * Updated adaptec 79xx to 18Mar2003 version 
 
thanks, 
 
Jay 
Comment 13 Robert Poole 2003-04-20 19:49:58 UTC
FWIW, I just tried to install Gentoo 1.4 RC4 fresh on my Athlon box, and had to disable 
IPsec to get the kernel to compile cleanly.  Although I'm not using IPv6 (which requires 
IPsec), I wanted to experiment with IPsec capabilities.

It seems in general that RC4 is less stable than RC3.  Even basic things like useradd 
don't seem to work AT ALL.
Comment 14 daniel connolly 2003-04-23 07:15:28 UTC
Regarding comments 3 and 13, I get the same error when I compile with IPSec built-in to the kernel. Try compiling IPSec as a module, works fine. Note: this is without IPv6.
Comment 15 Jay Pfeifer (RETIRED) gentoo-dev 2003-05-03 12:35:35 UTC
those of you with this issue, please try pfeifer-sources-2.4.20_pre8 - I've split out USAGI to not cause issues. the known issues seem to be solved.

Also, since this config attached has ipt_realm selected, you'll need to enable CONFIG_NET_CLS_ROUTE4 or it will fail as per the docs and bug 17870.

if using 'make menuconfig' 
 
Networking options ---> 
QoS and/or fair queueing  ---> 
[*] QoS and/or fair queueing 
<down a few options...> 
[*]   Packet classifier API (NEW) 
<M> Routing table based classifier  <--- that's it :)

Jay
Comment 16 Jay Pfeifer (RETIRED) gentoo-dev 2003-05-05 23:42:26 UTC
those of you needing this use pfeifer-sources-2.4.20_pre8 or higher - you should really use 
pre10 since it is the latest as has a few minor fixes and enhancements. 
 
Jay