2.6.20-git8 fails compile:
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
net/built-in.o: In function `svc_udp_recvfrom':
svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
make: *** [.tmp_vmlinux1] Error 1
--
Pete Clements
> On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <[email protected]> wrote:
> 2.6.20-git8 fails compile:
>
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> net/built-in.o: In function `svc_udp_recvfrom':
> svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> make: *** [.tmp_vmlinux1] Error 1
>
Please send the .config.
In article <[email protected]> (at Mon, 12 Feb 2007 18:12:16 -0800), Andrew Morton <[email protected]> says:
> > On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <[email protected]> wrote:
> > 2.6.20-git8 fails compile:
> >
> > CHK include/linux/compile.h
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > net/built-in.o: In function `svc_udp_recvfrom':
> > svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> > make: *** [.tmp_vmlinux1] Error 1
> >
>
> Please send the .config.
and, the gcc version...
--yoshfuji
Quoting YOSHIFUJIHideaki/=?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
> In article <[email protected]> (at Mon, 12 Feb 2007 18:12:16 -0800), Andrew Morton <[email protected]> says:
>
> > > On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <[email protected]> wrote:
> > > 2.6.20-git8 fails compile:
> > >
> > > CHK include/linux/compile.h
> > > UPD include/linux/compile.h
> > > CC init/version.o
> > > LD init/built-in.o
> > > LD .tmp_vmlinux1
> > > net/built-in.o: In function `svc_udp_recvfrom':
> > > svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> > > make: *** [.tmp_vmlinux1] Error 1
> > >
> >
> > Please send the .config.
>
> and, the gcc version...
>
> --yoshfuji
> -
git 7 compiled just fine.
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Config:
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_SHMEM=y
CONFIG_SLAB=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_SMP=y
CONFIG_X86_PC=y
CONFIG_MPENTIUMIII=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_NR_CPUS=2
CONFIG_PREEMPT_NONE=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_VM86=y
CONFIG_HIGHMEM4G=y
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ZONE_DMA_FLAG=1
CONFIG_MTRR=y
CONFIG_IRQBALANCE=y
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_PHYSICAL_START=0x100000
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_PM=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_FIB_HASH=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_IPV6=m
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK_ENABLED=m
CONFIG_NF_CONNTRACK_SUPPORT=y
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_RAW=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG=y
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y
CONFIG_BLK_DEV_FD=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_PIIX=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
CONFIG_SCSI=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=8
CONFIG_AIC7XXX_RESET_DELAY_MS=15000
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_MII=m
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL3=y
CONFIG_PPP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
CONFIG_PPPOE=m
CONFIG_SLHC=y
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_LIBPS2=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_PRINTER=y
CONFIG_RTC=y
CONFIG_AGP=m
CONFIG_AGP_INTEL=m
CONFIG_I2C=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_PIIX4=m
CONFIG_FB=y
CONFIG_FB_DDC=m
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_VGA16=m
CONFIG_FB_VESA=y
CONFIG_FB_RIVA=m
CONFIG_FB_RIVA_I2C=y
CONFIG_FB_RIVA_DEBUG=y
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=m
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_SOUND=m
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_HWDEP=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_DETECT=y
CONFIG_SND_MPU401_UART=m
CONFIG_SND_OPL3_LIB=m
CONFIG_SND_CS4231_LIB=m
CONFIG_SND_CS4236=m
CONFIG_HID=m
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=m
CONFIG_USB_DEBUG=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
CONFIG_EXT2_FS=y
CONFIG_QUOTA=y
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
CONFIG_ISO9660_FS=y
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_CRAMFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_RPCSEC_GSS_KRB5=y
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="cp437"
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_DEBUG_KERNEL=y
CONFIG_LOG_BUF_SHIFT=15
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_EARLY_PRINTK=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
CONFIG_DOUBLEFAULT=y
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_ARC4=m
CONFIG_BITREVERSE=m
CONFIG_CRC_CCITT=y
CONFIG_CRC32=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y
--
Pete Clements
On Monday February 12, [email protected] wrote:
> Quoting YOSHIFUJIHideaki/=?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
> > In article <[email protected]> (at Mon, 12 Feb 2007 18:12:16 -0800), Andrew Morton <[email protected]> says:
> >
> > > > On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <[email protected]> wrote:
> > > > 2.6.20-git8 fails compile:
> > > >
> > > > CHK include/linux/compile.h
> > > > UPD include/linux/compile.h
> > > > CC init/version.o
> > > > LD init/built-in.o
> > > > LD .tmp_vmlinux1
> > > > net/built-in.o: In function `svc_udp_recvfrom':
> > > > svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> > > > make: *** [.tmp_vmlinux1] Error 1
> > > >
Hmmm.
> CONFIG_IPV6=m
combined with
> CONFIG_SUNRPC=y
is a combination that isn't going to work at the moment....
Options?
- Move __ipv6_addr_type to lib/ ??
Might not work for modules.
- Disallow that combination in the .config.
.. a bit harsh.
- Only include IPv6 support in SUNRPC is a module or IPV6 is built-in
A bit of a kludge..
Chuck? Any ideas?
NeilBrown
In article <[email protected]> (at Mon, 12 Feb 2007 21:35:59 -0500 (EST)), Pete Clements <[email protected]> says:
> Quoting YOSHIFUJIHideaki/=?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
> > In article <[email protected]> (at Mon, 12 Feb 2007 18:12:16 -0800), Andrew Morton <[email protected]> says:
> >
> > > > On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <[email protected]> wrote:
> > > > 2.6.20-git8 fails compile:
> > > >
> > > > CHK include/linux/compile.h
> > > > UPD include/linux/compile.h
> > > > CC init/version.o
> > > > LD init/built-in.o
> > > > LD .tmp_vmlinux1
> > > > net/built-in.o: In function `svc_udp_recvfrom':
> > > > svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> > > > make: *** [.tmp_vmlinux1] Error 1
> > > >
> > >
> > > Please send the .config.
> >
> > and, the gcc version...
> >
> > --yoshfuji
> > -
>
> git 7 compiled just fine.
Ah, this is because of new ipv6 support in sunrpc code.
Enable it if it is statically compiled.
Alternatively, we could
- export __ipv6_addr_type in new net/ipv6/addrconf_core.c
or
- introduce tiny inline for chcking if the address is link-local.
Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index 63ae947..27dcb31 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -107,12 +107,12 @@ static inline void svc_reclassify_socket
sock_lock_init_class_and_name(sk, "slock-AF_INET-NFSD",
&svc_slock_key[0], "sk_lock-AF_INET-NFSD", &svc_key[0]);
break;
-
+#ifdef CONFIG_IPV6
case AF_INET6:
sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFSD",
&svc_slock_key[1], "sk_lock-AF_INET6-NFSD", &svc_key[1]);
break;
-
+#endif
default:
BUG();
}
@@ -131,7 +131,7 @@ static char *__svc_print_addr(struct soc
NIPQUAD(((struct sockaddr_in *) addr)->sin_addr),
htons(((struct sockaddr_in *) addr)->sin_port));
break;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
case AF_INET6:
snprintf(buf, len, "%x:%x:%x:%x:%x:%x:%x:%x, port=%u",
NIP6(((struct sockaddr_in6 *) addr)->sin6_addr),
@@ -449,7 +449,7 @@ svc_wake_up(struct svc_serv *serv)
union svc_pktinfo_u {
struct in_pktinfo pkti;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
struct in6_pktinfo pkti6;
#endif
};
@@ -467,7 +467,7 @@ static void svc_set_cmsg_data(struct svc
cmh->cmsg_len = CMSG_LEN(sizeof(*pki));
}
break;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
case AF_INET6: {
struct in6_pktinfo *pki = CMSG_DATA(cmh);
@@ -737,7 +737,7 @@ static void svc_udp_get_sender_address(s
rqstp->rq_daddr.addr.s_addr = skb->nh.iph->daddr;
}
break;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
case AF_INET6: {
/* this is derived from net/ipv6/udp.c:udpv6_recvmesg */
struct sockaddr_in6 *sin6 = svc_addr_in6(rqstp);
@@ -977,7 +977,7 @@ static inline int svc_port_is_privileged
case AF_INET:
return ntohs(((struct sockaddr_in *)sin)->sin_port)
< PROT_SOCK;
-#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
+#if defined(CONFIG_IPV6)
case AF_INET6:
return ntohs(((struct sockaddr_in6 *)sin)->sin6_port)
< PROT_SOCK;
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index 49cabff..877b52b 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -1187,11 +1187,12 @@ static inline void xs_reclassify_socket(
&xs_slock_key[0], "sk_lock-AF_INET-NFS", &xs_key[0]);
break;
+#ifdef CONFIG_IPV6
case AF_INET6:
sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFS",
&xs_slock_key[1], "sk_lock-AF_INET6-NFS", &xs_key[1]);
break;
-
+#endif
default:
BUG();
}
--
YOSHIFUJI Hideaki @ USAGI Project <[email protected]>
GPG-FP : 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
Patched, compiles.
--
Pete Clements
Quoting YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
>
> Ah, this is because of new ipv6 support in sunrpc code.
> Enable it if it is statically compiled.
>
> Alternatively, we could
> - export __ipv6_addr_type in new net/ipv6/addrconf_core.c
> or
> - introduce tiny inline for chcking if the address is link-local.
>
> Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
>
> diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
> index 63ae947..27dcb31 100644
> --- a/net/sunrpc/svcsock.c
> +++ b/net/sunrpc/svcsock.c
> @@ -107,12 +107,12 @@ static inline void svc_reclassify_socket
> sock_lock_init_class_and_name(sk, "slock-AF_INET-NFSD",
> &svc_slock_key[0], "sk_lock-AF_INET-NFSD", &svc_key[0]);
> break;
> -
> +#ifdef CONFIG_IPV6
> case AF_INET6:
> sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFSD",
> &svc_slock_key[1], "sk_lock-AF_INET6-NFSD", &svc_key[1]);
> break;
> -
> +#endif
> default:
> BUG();
> }
> @@ -131,7 +131,7 @@ static char *__svc_print_addr(struct soc
> NIPQUAD(((struct sockaddr_in *) addr)->sin_addr),
> htons(((struct sockaddr_in *) addr)->sin_port));
> break;
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if defined(CONFIG_IPV6)
> case AF_INET6:
> snprintf(buf, len, "%x:%x:%x:%x:%x:%x:%x:%x, port=%u",
> NIP6(((struct sockaddr_in6 *) addr)->sin6_addr),
> @@ -449,7 +449,7 @@ svc_wake_up(struct svc_serv *serv)
>
> union svc_pktinfo_u {
> struct in_pktinfo pkti;
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if defined(CONFIG_IPV6)
> struct in6_pktinfo pkti6;
> #endif
> };
> @@ -467,7 +467,7 @@ static void svc_set_cmsg_data(struct svc
> cmh->cmsg_len = CMSG_LEN(sizeof(*pki));
> }
> break;
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if defined(CONFIG_IPV6)
> case AF_INET6: {
> struct in6_pktinfo *pki = CMSG_DATA(cmh);
>
> @@ -737,7 +737,7 @@ static void svc_udp_get_sender_address(s
> rqstp->rq_daddr.addr.s_addr = skb->nh.iph->daddr;
> }
> break;
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if defined(CONFIG_IPV6)
> case AF_INET6: {
> /* this is derived from net/ipv6/udp.c:udpv6_recvmesg */
> struct sockaddr_in6 *sin6 = svc_addr_in6(rqstp);
> @@ -977,7 +977,7 @@ static inline int svc_port_is_privileged
> case AF_INET:
> return ntohs(((struct sockaddr_in *)sin)->sin_port)
> < PROT_SOCK;
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if defined(CONFIG_IPV6)
> case AF_INET6:
> return ntohs(((struct sockaddr_in6 *)sin)->sin6_port)
> < PROT_SOCK;
> diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
> index 49cabff..877b52b 100644
> --- a/net/sunrpc/xprtsock.c
> +++ b/net/sunrpc/xprtsock.c
> @@ -1187,11 +1187,12 @@ static inline void xs_reclassify_socket(
> &xs_slock_key[0], "sk_lock-AF_INET-NFS", &xs_key[0]);
> break;
>
> +#ifdef CONFIG_IPV6
> case AF_INET6:
> sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFS",
> &xs_slock_key[1], "sk_lock-AF_INET6-NFS", &xs_key[1]);
> break;
> -
> +#endif
> default:
> BUG();
> }
>
>
> --
> YOSHIFUJI Hideaki @ USAGI Project <[email protected]>
> GPG-FP : 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
>
From: Pete Clements <[email protected]>
Date: Mon, 12 Feb 2007 20:10:13 -0500 (EST)
> 2.6.20-git8 fails compile:
>
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> net/built-in.o: In function `svc_udp_recvfrom':
> svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> make: *** [.tmp_vmlinux1] Error 1
Chuck, you will need to somehow make CONFIG_SUNRPC "depend" upon IPV6
so that if IPV6 is modular SUNRPC can only be built modular.
Otherwise the symbols won't resolve correctly.
Everybody hits this problem when they add ipv6 support to
something. :-)
From: Andrew Morton <[email protected]>
Date: Mon, 12 Feb 2007 18:12:16 -0800
> > On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <[email protected]> wrote:
> > 2.6.20-git8 fails compile:
> >
> > CHK include/linux/compile.h
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > net/built-in.o: In function `svc_udp_recvfrom':
> > svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> > make: *** [.tmp_vmlinux1] Error 1
> >
>
> Please send the .config.
Not necessary, the bug is obvious, see my other reply to
this report.
From: Neil Brown <[email protected]>
Date: Tue, 13 Feb 2007 13:52:26 +1100
> On Monday February 12, [email protected] wrote:
> > Quoting YOSHIFUJIHideaki/=?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
> > > In article <[email protected]> (at Mon, 12 Feb 2007 18:12:16 -0800), Andrew Morton <[email protected]> says:
> > >
> > > > > On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <[email protected]> wrote:
> > > > > 2.6.20-git8 fails compile:
> > > > >
> > > > > CHK include/linux/compile.h
> > > > > UPD include/linux/compile.h
> > > > > CC init/version.o
> > > > > LD init/built-in.o
> > > > > LD .tmp_vmlinux1
> > > > > net/built-in.o: In function `svc_udp_recvfrom':
> > > > > svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> > > > > make: *** [.tmp_vmlinux1] Error 1
> > > > >
>
> Hmmm.
>
> > CONFIG_IPV6=m
> combined with
> > CONFIG_SUNRPC=y
>
> is a combination that isn't going to work at the moment....
>
> Options?
>
> - Move __ipv6_addr_type to lib/ ??
> Might not work for modules.
> - Disallow that combination in the .config.
> .. a bit harsh.
> - Only include IPv6 support in SUNRPC is a module or IPV6 is built-in
> A bit of a kludge..
>
> Chuck? Any ideas?
Make the proper dependencies, so that SUNRPC is only possibly built
modular is IPV6 is modular, that's the correct way to do this.
David Miller wrote:
> From: Pete Clements <[email protected]>
> Date: Mon, 12 Feb 2007 20:10:13 -0500 (EST)
>
>> 2.6.20-git8 fails compile:
>>
>> CHK include/linux/compile.h
>> UPD include/linux/compile.h
>> CC init/version.o
>> LD init/built-in.o
>> LD .tmp_vmlinux1
>> net/built-in.o: In function `svc_udp_recvfrom':
>> svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
>> make: *** [.tmp_vmlinux1] Error 1
>
> Chuck, you will need to somehow make CONFIG_SUNRPC "depend" upon IPV6
> so that if IPV6 is modular SUNRPC can only be built modular.
>
> Otherwise the symbols won't resolve correctly.
>
> Everybody hits this problem when they add ipv6 support to
> something. :-)
>
Interestingly, doing a build with ALLYESCONFIG, ALLMODCONFIG, and
ALLNOCONFIG doesn't catch this type of error.
I just did a copy+paste and that brought in ipv6_addr_type. So I'm not
convinced it's really needed here. David, can you take a look at the
code in svcsock.c right around the ipv6_addr_type() call and let me know
if we can avoid that call outright?
On Tue, Feb 13, 2007 at 11:55:10AM +0900, YOSHIFUJI Hideaki / 吉藤英明 wrote:
> In article <[email protected]> (at Mon, 12 Feb 2007 21:35:59 -0500 (EST)), Pete Clements <[email protected]> says:
>
> > Quoting YOSHIFUJIHideaki/=?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?=
> > > In article <[email protected]> (at Mon, 12 Feb 2007 18:12:16 -0800), Andrew Morton <[email protected]> says:
> > >
> > > > > On Mon, 12 Feb 2007 20:10:13 -0500 (EST) Pete Clements <[email protected]> wrote:
> > > > > 2.6.20-git8 fails compile:
> > > > >
> > > > > CHK include/linux/compile.h
> > > > > UPD include/linux/compile.h
> > > > > CC init/version.o
> > > > > LD init/built-in.o
> > > > > LD .tmp_vmlinux1
> > > > > net/built-in.o: In function `svc_udp_recvfrom':
> > > > > svcsock.c:(.text+0x61be4): undefined reference to `__ipv6_addr_type'
> > > > > make: *** [.tmp_vmlinux1] Error 1
> > > > >
> > > >
> > > > Please send the .config.
> > >
> > > and, the gcc version...
> > >
> > > --yoshfuji
> > > -
> >
> > git 7 compiled just fine.
>
> Ah, this is because of new ipv6 support in sunrpc code.
> Enable it if it is statically compiled.
>
> Alternatively, we could
> - export __ipv6_addr_type in new net/ipv6/addrconf_core.c
> or
> - introduce tiny inline for chcking if the address is link-local.
>
> Signed-off-by: YOSHIFUJI Hideaki <[email protected]>
>
> diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
> index 63ae947..27dcb31 100644
> --- a/net/sunrpc/svcsock.c
> +++ b/net/sunrpc/svcsock.c
> @@ -107,12 +107,12 @@ static inline void svc_reclassify_socket
> sock_lock_init_class_and_name(sk, "slock-AF_INET-NFSD",
> &svc_slock_key[0], "sk_lock-AF_INET-NFSD", &svc_key[0]);
> break;
> -
> +#ifdef CONFIG_IPV6
> case AF_INET6:
> sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFSD",
> &svc_slock_key[1], "sk_lock-AF_INET6-NFSD", &svc_key[1]);
> break;
> -
> +#endif
> default:
> BUG();
> }
> @@ -131,7 +131,7 @@ static char *__svc_print_addr(struct soc
> NIPQUAD(((struct sockaddr_in *) addr)->sin_addr),
> htons(((struct sockaddr_in *) addr)->sin_port));
> break;
> -#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
> +#if defined(CONFIG_IPV6)
>...
In the CONFIG_IPV6=m, CONFIG_SUNRPC=m case, this will result in no IPV6
support here.
If you are going this way, a Kconfig helper variable might be better:
config SUNRPC_IPV6
bool
default y if (SUNRPC=y && IPV6=y) || (SUNRPC=m && IPV6)
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
From: Adrian Bunk <[email protected]>
Date: Sat, 24 Feb 2007 23:50:21 +0100
> In the CONFIG_IPV6=m, CONFIG_SUNRPC=m case, this will result in no IPV6
> support here.
>
> If you are going this way, a Kconfig helper variable might be better:
>
> config SUNRPC_IPV6
> bool
> default y if (SUNRPC=y && IPV6=y) || (SUNRPC=m && IPV6)
Please, don't worry about any of this, Yoshifuji already
gave me a fix for this, that will provide the symbol statically
and exported to modules, even if ipv6 is built modular.
So we don't need to worry about this problem any more.