2012-03-19 48 views
0

當我嘗試編譯我的舊程序之一,它使用ext3的結構與新的Fedora 16化妝:找不到/usr/include/linux/ext3_fs.h

我得到的消息

# make 
Compile main.c In file included from main.c:8:0: 
giis.h:18:28: fatal error: linux/ext3_fs.h: No such file or directory 
compilation terminated. 

我做了yum安裝kernel-devel和kernel-headers - 但仍然給出了上面的消息。

# uname -a 
Linux space 3.2.9-2.fc16.x86_64 #1 SMP Mon Mar 5 20:55:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux 
+0

感謝各位的幫助。 – 2012-03-21 06:52:28

回答

1

Linux內核不出口了一個名爲ext3_fs.h頭,或者不這樣做了。編輯你的giis.h沒有它。請參閱承諾v2.6.25-rc8~52:「從userpsace包含時,實際上都不會編譯頭文件,也不應該使用該文件,因爲用戶空間工具應使用這些庫或至少使用e2fsprogs的頭文件。」

+0

這是不正確的。 Linux內核在'/ usr/src/linux - $(uname -r)/ include'或類似的目錄下有'ext3_fs.h'文件。我在我的Ubuntu上有它。 – 2012-03-20 10:50:04

+0

'/ usr/src/linux/include'不包含用戶空間不用的頭文件,也不包含用戶空間的頭文件。所以我當然在談論'/ usr/include'沒有'linux/ext3_fs.h'。我推導出你有一個用戶空間程序,因爲你沒有發佈一個顯示內核模塊構建的完整構建日誌。 – 2012-03-20 17:21:08