2000-12-30 08:41:27

by Frank Davis

[permalink] [raw]
Subject: test13-pre6 compile error..network.o

Hello,
I received the following error while compiling test13-pre6 .

net/network.o: In function `lecd_attach':
net/network.o(.text+0x5ce78): undefined reference to `prepare_trdev'
net/network.o(.text+0x5ce88): undefined reference to `prepare_etherdev'
net/network.o(.text+0x5cee3): undefined reference to `publish_netdev'
make: *** [vmlinux] Error 1

Regards,
-Frank


2000-12-30 10:44:26

by Andrew Morton

[permalink] [raw]
Subject: Re: test13-pre6 compile error..network.o

> Hello,
> I received the following error while compiling test13-pre6 .
>
> net/network.o: In function `lecd_attach':
> net/network.o(.text+0x5ce78): undefined reference to `prepare_trdev'
> net/network.o(.text+0x5ce88): undefined reference to `prepare_etherdev'
> net/network.o(.text+0x5cee3): undefined reference to `publish_netdev'
> make: *** [vmlinux] Error 1

This is caused by some cross-patch leakage between Alan and Linus.

This should fix it:

--- linux-2.4.0-test13-pre6/net/atm/lec.c Sat Dec 30 18:38:55 2000
+++ linux-akpm/net/atm/lec.c Sat Dec 30 21:17:11 2000
@@ -772,10 +772,10 @@
size = sizeof(struct lec_priv);
#ifdef CONFIG_TR
if (is_trdev)
- dev_lec[i] = prepare_trdev(NULL, size);
+ dev_lec[i] = init_trdev(NULL, size);
else
#endif
- dev_lec[i] = prepare_etherdev(NULL, size);
+ dev_lec[i] = init_etherdev(NULL, size);
if (!dev_lec[i])
return -ENOMEM;

@@ -783,7 +783,6 @@
priv->is_trdev = is_trdev;
sprintf(dev_lec[i]->name, "lec%d", i);
lec_init(dev_lec[i]);
- publish_netdev(dev_lec[i]);
} else {
priv = dev_lec[i]->priv;
if (priv->lecd)
@@ -858,7 +857,7 @@
for (i = 0; i < MAX_LEC_ITF; i++) {
if (dev_lec[i] != NULL) {
priv = (struct lec_priv *)dev_lec[i]->priv;
- unregister_netdev(dev_lec[i]);
+ unregister_trdev(dev_lec[i]);
kfree(dev_lec[i]);
dev_lec[i] = NULL;
}

2000-12-30 17:12:42

by Alan

[permalink] [raw]
Subject: Re: test13-pre6 compile error..network.o

> net/network.o(.text+0x5ce78): undefined reference to `prepare_trdev'
> net/network.o(.text+0x5ce88): undefined reference to `prepare_etherdev'
> net/network.o(.text+0x5cee3): undefined reference to `publish_netdev'

My fault. I fed Linus a few things too many trying to get the networking
stuff tidied up. Stuff leaked in from the networking core fixes that arent
yet in Linus tree