制作nvidia-kernel deb,gcc version的問題

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

制作nvidia-kernel deb,gcc version的問題

文章pooh9038 » 週五 9月 05, 2003 4:58 pm

制作nvidia-kernel deb,按nvidia-kernel-source的Readme,

debian:/usr/src# export KSRC=/usr/src/kernel-headers-2.4.21-5-k7
debian:/usr/src# export KVERS=2.4.21-5-k7
debian:/usr/src# cd modules/nvidia-kernel/
debian:/usr/src/modules/nvidia-kernel# debian/rules binary_modules
if [ -f /usr/src/modules/nvidia-kernel/debian/control.template ]; then \
cp /usr/src/modules/nvidia-kernel/debian/control.template /usr/src/modul es/nvidia-kernel/debian/control; \
fi
dh_testdir
dh_testroot
touch configure-stamp
dh_testdir
dh_testroot

You appear to be compiling the NVIDIA kernel module with
a compiler different from the one that was used to compile
the running kernel. We are going to use the compiler that
were used to build the kernel with the specified headers.
(if specified in KSRC/include/linux/compile.h)
Using compiler gcc-3.3
touch /usr/src/modules/nvidia-kernel/nv/gcc-check
IGNORE_CC_MISMATCH=1 CC=gcc-3.3 /usr/bin/make -C /usr/src/modules/nvidia-kernel/ nv SYSINCLUDE=/usr/src/kernel-headers-2.4.21-5-k7/include nvidia.o
make[1]: Entering directory `/usr/src/modules/nvidia-kernel/nv'
make[1]: *** No rule to make target `/usr/src/kernel-headers-2.4.21-4-k7/include /linux/config.h', needed by `nv.o'. Stop.
make[1]: Leaving directory `/usr/src/modules/nvidia-kernel/nv'
make: *** [build-stamp] Error 2

再查看
pooh@debian:~$ cat /proc/version
Linux version 2.4.21-5-k7 (herbert@gondolin) (gcc version 3.3.1 20030626 (Debian prerelease)) #1 Mon Aug 25 08:09:01 EST 2003

pooh@debian:~$ gcc -dumpversion
3.3.2

debian:/home/pooh# dpkg --list | grep gcc
ii gcc 3.3.1-2 The GNU C compiler.
ii gcc-2.95 2.95.4-17 The GNU C compiler.
ii gcc-3.0 3.0.4-7 The GNU C compiler.
ii gcc-3.0-base 3.0.4-16 The GNU Compiler Collection (base package)
ii gcc-3.2 3.2.3-8 The GNU C compiler
ii gcc-3.2-base 3.2.3-8 The GNU Compiler Collection (base package)
ii gcc-3.3 3.3.2-0pre2 The GNU C compiler
ii gcc-3.3-base 3.3.2-0pre2 The GNU Compiler Collection (base package)
ii libgcc1 3.3.2-0pre2 GCC support library

於是再export CC=gcc-3.3.1

debian:/usr/src# export CC=gcc-3.3.1
debian:/usr/src# cd modules/nvidia-kernel/
debian:/usr/src/modules/nvidia-kernel# debian/rules binary_modules
if [ -f /usr/src/modules/nvidia-kernel/debian/control.template ]; then \
cp /usr/src/modules/nvidia-kernel/debian/control.template /usr/src/modules/nvidia-kernel/debian/control; \
fi
dh_testdir
dh_testroot
touch configure-stamp
dh_testdir
dh_testroot

You appear to be compiling the NVIDIA kernel module with
a compiler different from the one that was used to compile
the running kernel. We are going to use the compiler that
were used to build the kernel with the specified headers.
(if specified in KSRC/include/linux/compile.h)
Using compiler gcc-3.3.1
touch /usr/src/modules/nvidia-kernel/nv/gcc-check
IGNORE_CC_MISMATCH=1 CC=gcc-3.3.1 /usr/bin/make -C /usr/src/modules/nvidia-kernel/nv SYSINCLUDE=/usr/src/kernel-headers-2.4.21-5-k7/include nvidia.o
make[1]: Entering directory `/usr/src/modules/nvidia-kernel/nv'
make[1]: *** No rule to make target `/usr/src/kernel-headers-2.4.21-4-k7/include/linux/config.h', needed by `nv.o'. Stop.
make[1]: Leaving directory `/usr/src/modules/nvidia-kernel/nv'
make: *** [build-stamp] Error 2

為何我指定使用了編譯kernel 2.4.21-5-k7同一版本的gcc(都是3.3.1)都未能成功?是否還欠一些步驟?gcc的3.3.1當中是否還有新舊版本之分?:-?

還有現存舊的gcc(3.0或更早)不知尚有無用處,可否移除?
OS:Debian 5.0 stable(kernel 2.6.26-2-686)
Motherboard:Pcchips M848A
CPU:Duron 850 Mhz
Ram:Kingston 512Mb DDR
Harddisk:Segate 60G(7200rpm)
CD-RW:LG CR-RW CED-8120B
Display:GeforceFX5200
Lan:SIS900
Sound:SIS7012(CMI9739)
Monitor:Compucon H530S 15"LCD
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港

re:制作nvidia-kernel deb,gcc version的問題

文章阿信 » 週五 9月 05, 2003 6:25 pm

unstable中的gcc-3.3.1似乎不見了,所以請強迫編譯。

在編意之前請先執行

export IGNORE_GCCMISMATCH=yes

然後就可以編譯了...
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

Re: 制作nvidia-kernel deb,gcc version的問題

文章d2207197 » 週五 9月 05, 2003 7:11 pm

pooh9038 寫:還有現存舊的gcc(3.0或更早)不知尚有無用處,可否移除?

有些東西還是要舊的 gcc 才能編譯成功。

我是都留著啦.......以保險
頭像
d2207197
鑽研的研究生
鑽研的研究生
 
文章: 1763
註冊時間: 週二 5月 27, 2003 9:57 pm
來自: 火星

re:制作nvidia-kernel deb,gcc version的問題

文章阿信 » 週五 9月 05, 2003 7:43 pm

小弟是kernel編譯皆用gcc-2.95或gcc-3.2,大部分都是建議這兩者

至於其他的...很少編譯,所以就比較不care了
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:制作nvidia-kernel deb,gcc version的問題

文章pooh9038 » 週一 9月 15, 2003 3:00 pm

阿信 寫:unstable中的gcc-3.3.1似乎不見了,所以請強迫編譯。

在編意之前請先執行

export IGNORE_GCCMISMATCH=yes

然後就可以編譯了...


export IGNORE_GCCMISMATCH=yes後仍舊出現前文的錯誤訊息.

2.4.22-1-k7的kernel仍是用gcc3.3.1來編,testing 的gcc3.3.1又不能裝上.

除了自行編繹kernel外,還有沒有其它方法?
OS:Debian 5.0 stable(kernel 2.6.26-2-686)
Motherboard:Pcchips M848A
CPU:Duron 850 Mhz
Ram:Kingston 512Mb DDR
Harddisk:Segate 60G(7200rpm)
CD-RW:LG CR-RW CED-8120B
Display:GeforceFX5200
Lan:SIS900
Sound:SIS7012(CMI9739)
Monitor:Compucon H530S 15"LCD
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港

re:制作nvidia-kernel deb,gcc version的問題

文章阿信 » 週一 9月 15, 2003 3:05 pm

export IGNORE_CC_MISMATCH=1

試試看吧...上面的錯誤訊息似乎要用這個才可以
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:制作nvidia-kernel deb,gcc version的問題

文章pooh9038 » 週一 9月 15, 2003 3:29 pm

阿信兄的回覆速度驚人.

export IGNORE_CC_MISMATCH=1 仍未能奏效.

我注意到以下的一段錯誤訊息:

You appear to be compiling the NVIDIA kernel module with
a compiler different from the one that was used to compile
the running kernel. We are going to use the compiler that
were used to build the kernel with the specified headers.
(if specified in KSRC/include/linux/compile.h)
+Using compiler gcc-3.3
+touch /usr/src/modules/nvidia-kernel/nv/gcc-check
+IGNORE_CC_MISMATCH=1 CC=gcc-3.3 /usr/bin/make -C /usr/src/modules/nvidia-kernel/ +nv SYSINCLUDE=/usr/src/kernel-headers-2.4.22-1-k7/include nvidia.o
+make[1]: Entering directory `/usr/src/modules/nvidia-kernel/nv'
+make[1]: *** No rule to make target `/usr/src/kernel-headers-2.4.21-4-k7/include /linux/config.h', needed by `nv.o'. Stop.
+make[1]: Leaving directory `/usr/src/modules/nvidia-kernel/nv'
+make: *** [build-stamp] Error 2

有"+"的部份,從前(約半年前)編繹nvidia-driver出現gcc mismatch問題時好像沒有見過.

部知能否從這部份得到一些啟示?
OS:Debian 5.0 stable(kernel 2.6.26-2-686)
Motherboard:Pcchips M848A
CPU:Duron 850 Mhz
Ram:Kingston 512Mb DDR
Harddisk:Segate 60G(7200rpm)
CD-RW:LG CR-RW CED-8120B
Display:GeforceFX5200
Lan:SIS900
Sound:SIS7012(CMI9739)
Monitor:Compucon H530S 15"LCD
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港

re:制作nvidia-kernel deb,gcc version的問題

文章阿信 » 週一 9月 15, 2003 6:31 pm

pooh9038 寫:阿信兄的回覆速度驚人.

export IGNORE_CC_MISMATCH=1 仍未能奏效.

我注意到以下的一段錯誤訊息:

You appear to be compiling the NVIDIA kernel module with
a compiler different from the one that was used to compile
the running kernel. We are going to use the compiler that
were used to build the kernel with the specified headers.
(if specified in KSRC/include/linux/compile.h)
+Using compiler gcc-3.3
+touch /usr/src/modules/nvidia-kernel/nv/gcc-check
+IGNORE_CC_MISMATCH=1 CC=gcc-3.3 /usr/bin/make -C /usr/src/modules/nvidia-kernel/ +nv SYSINCLUDE=/usr/src/kernel-headers-2.4.22-1-k7/include nvidia.o
+make[1]: Entering directory `/usr/src/modules/nvidia-kernel/nv'
+make[1]: *** No rule to make target `/usr/src/kernel-headers-2.4.21-4-k7/include /linux/config.h', needed by `nv.o'. Stop.
+make[1]: Leaving directory `/usr/src/modules/nvidia-kernel/nv'
+make: *** [build-stamp] Error 2

有"+"的部份,從前(約半年前)編繹nvidia-driver出現gcc mismatch問題時好像沒有見過.

部知能否從這部份得到一些啟示?


:crying: ...還是不行?

小弟記得上面兩個外部變數只要宣告之後就可以了。

從log中似乎看出一點端倪,看pooh9038兄的running kernel應該是2.4.22-1-k7吧?那/usr/src/kernel-headers-2.4.22-1-k7是否有link成/usr/src/linux呢?

因為小弟看到除了kernel-headers-2.4.22-1-k7之外,竟然還會讀取到kernel-headers-2.4.21-5-k7的目錄下,還請pooh9038兄檢查一下呢
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:制作nvidia-kernel deb,gcc version的問題

文章pooh9038 » 週一 9月 15, 2003 10:32 pm

這需要嗎?小弟一向制作nvidia deb都沒有將usr/src/kernel-headers-version和/usr/src/linux連結.

竟然還會讀取到kernel-headers-2.4.21-4-k7的目錄下,這點我也覺得奇怪,因為2.4.21-4-k7的image及headers早已移除,現在/usr/src中只有kernel-headers-2.4.22-1-k7. :-?
OS:Debian 5.0 stable(kernel 2.6.26-2-686)
Motherboard:Pcchips M848A
CPU:Duron 850 Mhz
Ram:Kingston 512Mb DDR
Harddisk:Segate 60G(7200rpm)
CD-RW:LG CR-RW CED-8120B
Display:GeforceFX5200
Lan:SIS900
Sound:SIS7012(CMI9739)
Monitor:Compucon H530S 15"LCD
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港

re:制作nvidia-kernel deb,gcc version的問題

文章阿信 » 週一 9月 15, 2003 11:59 pm

嗯...預設是抓/usr/src/linux內的include header files

hmm...目前nvidia.com提供的driver安裝比較方便多了...
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:制作nvidia-kernel deb,gcc version的問題

文章訪客 » 週二 9月 16, 2003 7:38 pm

發現/usr/src/modules/nvidia-kernel/debian中有一個名為 nvidia-kernel-2.4.21-4-k7的directory,應是從前遺下.

今日將nvidia-kernel-source移除重新裝上,制作nvidia-kernel-2.4.22-1-k7_1.0.4496-2_i386.deb前加入export IGNORE_CC_MISMATCH=1,終於成功.

在安裝時出現了以下訊息:
Setting up nvidia-kernel-2.4.22-1-k7 (1.0.4496-2) ...
depmod: *** Unresolved symbols in /lib/modules/2.4.22-1-k7/kernel/drivers/atm/he .o
但nvidia driver 可啟動.
訪客
 

re:制作nvidia-kernel deb,gcc version的問題

文章pooh9038 » 週二 9月 16, 2003 7:41 pm

對不起,上面的訪客是pooh9038
OS:Debian 5.0 stable(kernel 2.6.26-2-686)
Motherboard:Pcchips M848A
CPU:Duron 850 Mhz
Ram:Kingston 512Mb DDR
Harddisk:Segate 60G(7200rpm)
CD-RW:LG CR-RW CED-8120B
Display:GeforceFX5200
Lan:SIS900
Sound:SIS7012(CMI9739)
Monitor:Compucon H530S 15"LCD
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron