[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:27703] Re: uselink コンパイルエラー



田中@タナゾーです。

カーネルは 2.2.18 ですが、同じエラーで悩みました。

私は、以下の方法で PPxP を利用することにしました。

カーネル 2.2.X は、ethertap を利用することで、userlink
モジュールは不用になります。従って私は、この方式で H"用 PCMCIA
カード(SII MC-6550)経由で ppxp が一応利用できました。


ethertap に関しては、Linux Japa 1999年11月号 「Debianで始める
Linux:鴨下 聡さん連載」に解説があります。

要約すると、カーネルの設定で
(Network options)
Kernel/User network link driver(socketの誤り?)
Netlink device emulation
(Network device support)
Ethertap network tap
を設定する点と、ethetap用のデバイスファイルを以下のように作る点
# mknod /dev/tap0 c 36 16
と有ります。


From: gakom <gakom@xxxxxxxxxxxxxxxxxx>
Subject: [debian-users:27673] Re: uselink コンパイルエラー
Date: Thu, 29 Mar 2001 22:41:44 +0900

> インストール後すぐにコンパイルしておく必要があるということになり、
> ということはまたまたインストールをやりなおさなければならないという
> ことになるわけで、30分もあればすぐにできるのですが、もうすこし

再インストールの必要は無いですよ。
各々のカーネルソースを適当なところに展開して
ソースのトップディレクトリで
 make-kpkg --revision hoge.x kernel_image modules_image
とかして、一つ上のディレクトリに出来た deb ファイルを dpkg でインスト
ールすれば、自在に カーネルのバージョンを変えられますよ。


動作確認をきちんとしたわけではありませんが、

From: ISHIKAWA Mutsumi <ishikawa@xxxxxxxxxxx>
Subject: [debian-users:27645] Re: uselink コンパイルエラー
Date: Wed, 28 Mar 2001 00:30:53 +0900

> --- userlink.c.orig	Wed Mar 28 00:29:25 2001
> +++ userlink.c	Wed Mar 28 00:29:41 2001
> @@ -134,7 +134,7 @@
>  #include <linux/poll.h>
>  #include <asm/uaccess.h>
>  
> -#if LINUX_VERSION_CODE < 0x20300
> +#if LINUX_VERSION_CODE < 0x20219
>  #include <asm/spinlock.h>
>  # define net_device	device
>  typedef struct wait_queue *	wait_queue_head_t;

以下の方法で make と make-kpkg のエラーは解消出来ています。

# apt-get install kernel-headers-2.2.18
した、
/usr/include/linux/version.h
と
# make-kpkg --revision hoge kernel_image
した後の
/usr/src/kernel-source-2.2.18/include/linux/version.h
では
#define LINUX_VERSION_CODE 131602

(何故 131608 が設定されないのか疑問が残りますが??)

と定義されており、16進に直すと 0x20212 なので、
#if LINUX_VERSION_CODE < 0x20212
にすると、予想したようにヘッダーファイルがインクルードされなくなっ
てしまいエラーが大量に出ます。

元々のエラーメッセージは、
From: gakom <gakom@xxxxxxxxxxxxxxxxxx>
Subject: [debian-users:27644] uselink コンパイルエラー
Date: Wed, 28 Mar 2001 00:20:46 +0900

> userlink.c:141: warning: `init_waitqueue_head' redefined
> /usr/src/linux/include/linux/wait.h:25: warning: this is the location of the previous definition
> userlink.c:140: redefinition of `wait_queue_head_t'

以上のように、二重定義に対して発生しているので、試しに
140行と、141行をコメントアウトして、
# ./configure
# make
を実行すると、正常に終了します。
また、
# cd /usr/src/linux (kernel-source-2.2.18)
# make-kpkg --revision hoge modules_image
も問題なく、目出たく
userlink-modules-2.2.18_0.99a-1+hoge_i386.deb
が生成されました。

ですが、最初に書いたように、 etertap を利用しています。

以上、よろしくお願いいたします。
-----------------------------------------------
TANAZO Limited Partnership / Mitsuhisa TANAKA
0426-42-0321(FAX share) / 070-5582-0823(PHS)
http://www.tanazo.com/
http://tanazo.rocketbeach.net/  e-shop
http://www.tama-oss.org/ [tama open system studio]