Subject: kern/8310: Kernel build with IPSEC_ESP fails
To: None <gnats-bugs@gnats.netbsd.org>
From: None <dokas@cs.umn.edu>
List: netbsd-bugs
Date: 09/01/1999 19:07:42
>Number: 8310
>Category: kern
>Synopsis: Kernel build with IPSEC_ESP fails
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Sep 1 19:05:01 1999
>Last-Modified:
>Originator: Paul Dokas
>Organization:
University of Minnesota, Department of Computer Science
>Release: NetBSD-current as of Sept 1, 1999
>Environment:
System: NetBSD caligula 1.4K NetBSD 1.4K (CTHULHU.v6) #0: Wed Sep 1 10:29:13 CDT 1999 root@caligula:/big/src/sys/arch/i386/compile/CTHULHU.v6 i386
>Description:
I've been copying GENERIC and GENERIC.v6, making appropriate changes
for my computer and tracking -current for quite some time now. But
today, I realized that I was not building with IPSEC_ESP in GENERIC.v6,
so I uncommented it. The kernel build fails with this:
.
.
.
sh ../../../../conf/newvers.sh
cc -O2 -Werror -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wno-main -I. -I../../../../arch -I../../../.. -nostdinc -DLKM -DDIAGNOSTIC -DEXT2FS_SYSTEM_FLAGS -DMAXUSERS=32 -D_KERNEL -Di386 -c vers.c
rm -f netbsd
ld -Ttext F0100000 -e start -X -o netbsd ${SYSTEM_OBJ} vers.o
key.o: In function `key_setsaval':
key.o(.text+0x189f): undefined reference to `esp_algorithms'
key.o(.text+0x18a7): undefined reference to `esp_algorithms'
key.o: In function `key_mature':
key.o(.text+0x1c37): undefined reference to `esp_algorithms'
key.o(.text+0x1c41): undefined reference to `esp_algorithms'
key.o(.text+0x1c49): undefined reference to `esp_algorithms'
key.o(.text+0x1c62): more undefined references to `esp_algorithms' follow
in6_proto.o(.data+0x1e0): undefined reference to `esp6_input'
ipsec.o: In function `ipsec_hdrsiz':
ipsec.o(.text+0xf4e): undefined reference to `esp_hdrsiz'
ipsec.o: In function `ipsec4_output':
ipsec.o(.text+0x1cea): undefined reference to `esp4_output'
ipsec.o: In function `ipsec6_output_trans':
ipsec.o(.text+0x1ec1): undefined reference to `esp6_output'
ipsec.o: In function `ipsec6_output_tunnel':
ipsec.o(.text+0x22d4): undefined reference to `esp6_output'
in_proto.o(.data+0x144): undefined reference to `esp4_input'
*** Error code 1
Stop.
I have added:
CRYPTOBASE= domestic
to /etc/mk.conf and even tried setting it to crypto-us and moving the
domestic directory to crypto-us. It still doesn't work.
Also, I found this rather cryptic statement in options(4):
options IPSEC_ESP
Includes support for IPsec ESP protocol. See ipsec(4) for details.
IPSEC_ESP will enable US-export controlled source code, so compiled bina-
ry is subject to US-export restriction. This option assumes IPSEC. To
use this option, you will need to combine cryptosrc/sys onto syssrc/sys
tree somehow manually (symbolic link for example).
What the heck is this talking about? I thought that bsd.crypto.mk made this
unnecessary?
Is anyone routinely building with IPSEC_ESP? I'd really like to give it a
try.
>How-To-Repeat:
Attempt to build a kernel with IPSEC_ESP
>Fix:
Unknown
>Audit-Trail:
>Unformatted: