2012-03-13 20 views
0

私は、これらのinstructionsによると、サムスンギャラクシーミニ用アンドロイドカーネル(シアン)をコンパイルしようとしています:Androidのカーネルのコンパイル・エラー

私はCM-7を使用しています。

  1. ダウンロードカーネルのソースコード:

    は、私はこれらの手順を実行しました。

  2. 設定ビルド:

    adb pull /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. は、ビルドを行います

    make ARCH=arm CROSS_COMPILE=$CCOMPILER -j4 
    

このカーネルのコンパイルが開始され、すべてが正常に動作しますが、その後、それはエラーをスローし、ここにある後端末の出力:

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 

誰でもこの問題を解決する方法を教えてください。このヘッダ

#include<asm/io.h> 

含む

+0

編集した回答を確認してください。それが役立つかどうかを見てください。 –

答えて

1

てみてくださいそれはiowrite16be
http://lxr.free-electrons.com/ident?i=iowrite16be

のすべての定義は、あなたのアーキテクチャに基づいて適切なヘッダを選択するためにこれを見て、その後動作しない場合。

EDIT:一般にimplicit declaration of function xyz()は警告です。あなたのシステムには、-Werror-implicit-function-declarationでエラーが発生している可能性があります。あなたはビルド構造でこれを検索して取り除くことができます(ではなく、が良い方法ですが、作業をやりたい場合はいつでも実行できます)。もしiowrite16beが本当に見つからなければ、この方法リンカーの怒りからあなたを助けてくれません。

+0

ヘッダーを含めて#はエラーを修正しませんでしたが、残りのヘッダーを試します。お返事いただきありがとうございます。 – uyaseen

+0

-Werror-implicit-function-declarationをmakefileから削除すると、エラーが修正されました。 :) – uyaseen

+0

@usamayaseenそれを聞いてうれしい:) –

0

また、単に定義を自分で追加することができます。

void iowrite16be(u8 shadow, void __iomem* port); 

はちょうどttl_set_value()関数の上にそれを追加します。

関連する問題