升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

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

版主: mufa

升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章pooh9038 » 週二 12月 31, 2002 3:48 pm

:( 小弟剛升級kernel至2.4.19-k7(是debian包裝好的,並不是source,並已安裝image及header),按例要重新編譯nvidia-kernel。不過,最後出現錯誤。

depmod:xxx Unresolved symbols in /lib/modules/2.4.19-k7/kernel/drivers/video/nvidia.o

從nvdia的文件中,初步了解出現這種情況是因為用作編譯kernel modules 的 headers 不吻合所引起。(If you receive errors about unresolved symbols,then the kernel module has most likely been built using your headers files for a different kernel version than what you are running.)這亦解釋了為什麼我在從2.4.18-bf24轉為2.4.18-k7的時候沒有此問題。

nvidia-kernel的文件亦有附上解決的方法:
You can control what kernel headers files are used by building the nvdia kernel module from the Nvidia_kernel tar file with
"make install SYSINCLUDE=/path/to/kernel/headers"

這個所謂的/path/to/kernel/headers是否就是我安裝kernel header的位置?
(Debian是裝在/usr/src中)

不過,我在編譯前已按照Nvidia-driver for Debian-mini-howto中所指示.
export KVERS=/usr/src/kernel-header-2.4.19-k7(憑記憶寫出)

除了make install SYSINCLUDE,有無其他方法?(小弟對compile很不熟悉)

小弟的debian已千瘡百孔。
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港

re:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章sampo » 週三 1月 01, 2003 3:47 pm

pooh9038兄:
試試看
#make SYSINCLUDE=/usr/src/kernel-headers-X.X.XX/include
sampo
可愛的小學生
可愛的小學生
 
文章: 21
註冊時間: 週日 9月 22, 2002 10:19 pm
來自: 幻想世界

re:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章pooh9038 » 週三 1月 01, 2003 5:08 pm

感謝指示
是不是在/usr/src/kernel headers 2.4.19-k7/ include/ 下運行"make SYSINCLUDE=/usr/src/kernel-headers-X.X.XX/include"?
還是只需在home diretory中執行?
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:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章octapult » 週三 1月 01, 2003 5:53 pm

嗯,會不會是因為沒有執行 make clean 的關係?
沒有先執行 make clean 的話,make 並不會重新編譯先前已經編譯好、而且沒有經過修改的程式。
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章pooh9038 » 週三 1月 01, 2003 6:08 pm

是否在home diretory中執行make clean,還是在/usr/src/kernel headers 2.4.19-k7/ include/ 下運行?
另外,在/boot中仍保留了2.4.18-k7的image,有無辦法用回舊的kernel?
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港

re:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章octapult » 週三 1月 01, 2003 6:30 pm

pooh9038 寫:是否在home diretory中執行make clean,還是在/usr/src/kernel headers 2.4.19-k7/ include/ 下運行?
另外,在/boot中仍保留了2.4.18-k7的image,有無辦法用回舊的kernel?

要在您當初執行 make install 的那個子目錄底下執行 make clean 才行,這樣系統才知道需要刪除那些檔案。
假如您當初是安裝 nvidia-kerne-src 這個套件來編譯成 deb 包的話,直接 dpkg --purge nvidia-kernel-2.4.18-k7 就可以了。
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章pooh9038 » 週三 1月 01, 2003 7:21 pm

Sorry to use my poor English.

Yes,I built the deb from nvidia-kernel-src according to the readme.

However,when I run "dpkg --purge nvidia-kernel-2.4.18-k7",the same error message "depmod:xxx Unresolved symbols in /lib/modules/2.4.19-k7/kernel/drivers/video/nvidia.o " occured again.

In which directory I can make clean?Is it in the directory I built the nvidia kernel deb?

In order to enter X-Window,I now boot from my floppy which stored my 2.4.18-bf2.4 kernel.



I
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:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章octapult » 週四 1月 02, 2003 11:28 am

請問您當初是在 /usr/src/kernel-headers-2.4.19-k7 底下執行 make-kpkg modules_image,
然後在 /usr/src 底下產生 nvidia-kernel-2.4.19-k7_1.0.xxxx_i386.deb 嗎?
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章pooh9038 » 週四 1月 02, 2003 12:16 pm

I follow the method in the Readme.

METHOD #1 Using a kernel-headers package
***********************************************************************

As root (or using fakeroot)
1. cd /usr/src
tar xzvf nvidia-kernel-src.tar.gz -C <YOUR BUILD LOCATION>
(It will install in <YOU BUILD LOCATION>/modules)
- or -
tar xzvf nvidia-kernel-src.tar.gz (if building in /usr/src)

3. Find out your kernel version:

uname -r For example: 2.4.18-k7

4. Download and install package: kernel-headers-2.4.18-k7
It will install in /usr/src/

5. Set some environment variables (if bash is your shell):

export KSRC=/usr/src/kernel-headers-2.4.18-k7
export KVERS=2.4.18-k7

6. Then build nvidia-kernel package:

cd <YOUR BUILD LOCATION>/modules/nvidia-kernel-1.0.3123
debian/rules binary_modules

7. Install the nvidia-kernel package:

dpkg -i ../../nvidia-kernel-2.4.18-k7_1.0.3123-1+_.Custom_i386.deb
( or similar filename )

The "unresolved symbols" error occured in Step 7.
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港

re:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章octapult » 週四 1月 02, 2003 1:50 pm

pooh9038 寫:I follow the method in the Readme.

METHOD #1 Using a kernel-headers package
***********************************************************************

As root (or using fakeroot)
1. cd /usr/src
tar xzvf nvidia-kernel-src.tar.gz -C <YOUR BUILD LOCATION>
(It will install in <YOU BUILD LOCATION>/modules)
- or -
tar xzvf nvidia-kernel-src.tar.gz (if building in /usr/src)

3. Find out your kernel version:

uname -r For example: 2.4.18-k7

4. Download and install package: kernel-headers-2.4.18-k7
It will install in /usr/src/

5. Set some environment variables (if bash is your shell):

export KSRC=/usr/src/kernel-headers-2.4.18-k7
export KVERS=2.4.18-k7

6. Then build nvidia-kernel package:

cd <YOUR BUILD LOCATION>/modules/nvidia-kernel-1.0.3123
debian/rules binary_modules

7. Install the nvidia-kernel package:

dpkg -i ../../nvidia-kernel-2.4.18-k7_1.0.3123-1+_.Custom_i386.deb
( or similar filename )

The "unresolved symbols" error occured in Step 7.

ok,我再確定一下,接下來您在安裝了 kernel-image-2.4.19-k7 之後,是否接著重新執行一次上面 3~7 的步驟,只是這次將所有 2.4.18-k7 的地方都改為 2.4.19-k7 (包括 export 的那兩行)?

p.s. 由於您是由 nvidia-kernel-src 這個套件來編譯成 deb 包的,所以不需要執行 make clean,只需要再重新執行上面的步驟,只是這次將 2.4.18-k7 的地方全部改為 2.4.19-k7。
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:升級kernel後,編譯nvidia-kerne(41.91)出現unresolve

文章pooh9038 » 週四 1月 02, 2003 2:30 pm

是否接著重新執行一次上面 3~7 的步驟,只是這次將所有 2.4.18-k7 的地方都改為 2.4.19-k7 (包括 export 的那兩行)?

Yes.

I downloaded and installed the image and header of 2.4.19-k7 at the same time.
The new kernel header is alreadly in /usr/src so I skipped Step 4.

The process was smooth up to Step 6 and the correct nvidia kernel deb was built.
However it fail to install in Step 7.
pooh9038
懵懂的國中生
懵懂的國中生
 
文章: 153
註冊時間: 週二 10月 15, 2002 11:17 am
來自: 香港


回到 debian misc

誰在線上

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