我正在編譯Android模擬器的Linux源代碼。當我執行make命令(用於構建和交叉編譯linux源代碼)時,出現以下錯誤「pmem.c」文件。錯誤與「pmem.c」編譯Android的源代碼爲Android
[email protected]:~/common# make
CHK include/linux/version.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC drivers/misc/pmem.o
drivers/misc/pmem.c:441: error: conflicting types for ‘phys_mem_access_prot’
/home/preetam/common/arch/x86/include/asm/pgtable.h:383: note: previous declaration of ‘phys_mem_access_prot’ was here
drivers/misc/pmem.c: In function ‘flush_pmem_file’:
drivers/misc/pmem.c:805: error: implicit declaration of function ‘dmac_flush_range’
drivers/misc/pmem.c: In function ‘pmem_setup’:
drivers/misc/pmem.c:1265: error: implicit declaration of function ‘ioremap_cached’
drivers/misc/pmem.c:1266: warning: assignment makes pointer from integer without a cast
make[2]: *** [drivers/misc/pmem.o] Error 1
make[1]: *** [drivers/misc] Error 2
make: *** [drivers] Error 2
[email protected]:~/common#
如何解決此錯誤。似乎在「pmem.c」文件中可能存在一些問題,我將不得不選擇不同的git存儲庫。但那將是一件非常複雜的事情,因爲現在我已經完成了大部分事情直到這裏。我可能不得不看這個文件的正確版本。請有人告訴我該怎麼辦?
如何解決這個錯誤。
請幫助..thankyou!
你從哪裏得到了android內核源代碼e代碼? – KBoek 2011-03-19 08:03:53
您的ARCH設置不再支持。 CROSS_COMPILE也從命令行中消失。在這種情況下,你的構建會失敗,因爲你已經開始用ARCH = arm構建你的內核了! 無論如何,你的帖子並沒有真正能夠按照教程,並在每一個失敗的步驟發佈一個新的問題,而沒有試圖自己去想你做錯了什麼。但更糟糕的是,你甚至沒有投票或承認幫助你的人。 – Longfield 2011-03-19 08:39:39
我很抱歉,但爲了「投票」,我應該有15個聲望點。 – Preetam 2011-03-19 09:34:25