首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android内核编译错误

Android内核编译错误
EN

Stack Overflow用户
提问于 2012-03-13 12:44:47
回答 2查看 2.1K关注 0票数 0

根据这些使用说明,我正试图为三星Galaxy编译安卓内核(氰原):

我用的是CM-7。

我执行了以下步骤:

  1. 下载内核源代码。
  2. 配置构建: adb拉/proc/config.gz /home/user_name/android/kernel/cm-kernel/config.gz cat config.gz _ gunzip > .config make ARCH=arm CROSS_COMPILE=$CCOMPILER menuconfig
  3. 建造: 制造ARCH=arm CROSS_COMPILE=$CCOMPILER -j4

在这个内核开始编译并且一切正常运行之后,它会抛出一个错误,下面是终端的输出:

代码语言:javascript
复制
 CC [M]  drivers/gpio/wm8994-gpio.o
 LD [M]  sound/usb/misc/snd-ua101.o
 LD [M]  sound/usb/snd-usb-audio.o
 LD [M]  sound/usb/snd-usbmidi-lib.o
 CC [M]  drivers/gpio/sch_gpio.o
 CC [M]  drivers/gpio/rdc321x-gpio.o
 LD      fs/nfs_common/built-in.o
 CC [M]  fs/nfs_common/nfsacl.o
 CC [M]  fs/nfs/direct.o
 CC      net/socket.o
 CC [M]  drivers/gpio/janz-ttl.o
 LD [M]  fs/nfs_common/nfs_acl.o
  drivers/gpio/janz-ttl.c: In function 'ttl_set_value':
  drivers/gpio/janz-ttl.c:107: error: implicit declaration of function 'iowrite16be'
  make[2]: *** [drivers/gpio/janz-ttl.o] Error 1
  make[1]: *** [drivers/gpio] Error 2
  make: *** [drivers] Error 2
  make: *** Waiting for unfinished jobs....
  CC [M]  fs/nfs/pagelist.o   
  fs/nfs/direct.c: In function 'nfs_direct_read_schedule_segment':
  fs/nfs/direct.c:364: warning: format '%zu' expects type 'size_t', but argument 5 has type 'unsigned int'
  fs/nfs/direct.c: In function 'nfs_direct_write_schedule_segment':
  fs/nfs/direct.c:799: warning: format '%zu' expects type 'size_t', but argument 5 has type 'unsigned int'
  fs/nfs/direct.c: In function 'nfs_file_direct_read':
  fs/nfs/direct.c:928: warning: format '%zd' expects type 'signed size_t', but argument 4 has type 'size_t'
  fs/nfs/direct.c: In function 'nfs_file_direct_write':
  fs/nfs/direct.c:982: warning: format '%zd' expects type 'signed size_t', but argument 4 has type 'size_t'
 CC      net/802/p8022.o
 CC [M]  fs/nfs/proc.o
 CC      net/802/psnap.o
 CC      net/802/tr.o
 CC [M]  fs/nfs/read.o
 CC      net/8021q/vlan_core.o
 CC [M]  net/8021q/vlan.o
 CC      net/802/fc.o
 CC [M]  fs/nfs/symlink.o
 CC      net/802/fddi.o
 CC [M]  net/8021q/vlan_dev.o
 CC [M]  fs/nfs/unlink.o

如果有人能告诉我如何解决这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-13 12:53:20

尝试包括这个标题

代码语言:javascript
复制
#include<asm/io.h>

如果它不起作用,那么查看一下iowrite16be的所有定义

http://lxr.free-electrons.com/ident?i=iowrite16be

根据您的架构选择适当的标头。

编辑:通常implicit declaration of function xyz()是一种警告。可能是在您的系统中,它被迫使用-Werror-implicit-function-declaration出错。您可以在构建结构中搜索它并尝试将其去掉(尽管它的并不是一个好的实践,但无论如何,如果您想要完成工作,无论如何都可以这样做),但是如果iowrite16be真的丢失了,那么即使这个方法也不会帮助您摆脱链接器的愤怒。

票数 1
EN

Stack Overflow用户

发布于 2013-10-02 19:27:58

您也可以自己添加定义:

代码语言:javascript
复制
void iowrite16be(u8 shadow, void __iomem* port);

只需将其添加到ttl_set_value()函数的正上方即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9684136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档