Androidソースコンパイルの過程で発生した-llzo 2とluuid問題の解決について
1817 ワード
転載元:http://blog.csdn.net/hhwahzl/article/details/46520137
一.コンパイル中に次のようなエラーが発生しました。
二.android 4.3ソースをコンパイルする時、最後まで実行しています。
1)まずシステムが正しく対応するライブラリを設置していることを確認する必要があります。以下はuuidを例にします。Terminalで実行:
2)ライブラリのリンクファイルを作成して、/lib/xxx/libuuid.so.1に気づきました。私が選んだのは/lib/x 86_です。64-linux-gnu/libuuid.so.1、ライブラリリンクファイルを該当経路に作成し、terminalにコマンドを入力します。
再度コンパイルしても、上記のエラーは発生しません。同じ方法でliblzo 2.soを作成しました。コードコンパイルは成功しました。
三.コンパイルプロセスには次のようなエラーが発生しました。 ap-get install liblzo 2-2---無効 ap-get install liblzo 2-dev:i 386--無効 appt-get install liblzo-dev:i 386--無効 ap-get install liblzo 2-2:i 386 参照(http://www.tuicool.com/articles/V3IV73)sudo ln-s/usr/lib/i 386-linux-gnu/liblzo 2/usr/lib/liblzo 2.so set LD_LIBAY.PATH=/usr/lib/無効 sudo ap-get remove liblzo 2-dev liblzo 2-2--無効 sudo ap-get install g++4-multiilib成功!
一.コンパイル中に次のようなエラーが発生しました。
lzo/lzo1x.h: No such file or directory
uuid/uuid.h: No such file or directory
これは該当のソフトウェア開発パッケージがインストールされていないため、uuntuシステムではそれぞれコマンドを使用できます。sudo apt-get install liblzo2-dev
sudo apt-get install uuid-dev
オンラインでインストールして、インストールが成功したら、再度コンパイルすればいいです。二.android 4.3ソースをコンパイルする時、最後まで実行しています。
/usr/bin/ld: cannot find -llzo2
/usr/bin/ld: cannot find -luuid
ヒントこのような-lxxxが見つからないのは、コンパイル中にgccリンクのダイナミックライブラリが見つからないということです。解決方法は以下の通りです。1)まずシステムが正しく対応するライブラリを設置していることを確認する必要があります。以下はuuidを例にします。Terminalで実行:
#locate libuuid
システムはlibuuidと一緒にファイルとパスをプリントします。その中で一番上に表示されています。/libuuid.so.1 xxxxなどの表示があります。ライブラリはすでにインストールされました。ないと表示されません。対応するライブラリをインストールする必要があります。2)ライブラリのリンクファイルを作成して、/lib/xxx/libuuid.so.1に気づきました。私が選んだのは/lib/x 86_です。64-linux-gnu/libuuid.so.1、ライブラリリンクファイルを該当経路に作成し、terminalにコマンドを入力します。
#sudo ln -sf /lib/x86_64-linux-gnu/libuuid.so.1 /usr/lib/libuuid.so
注意:-sfは小文字でなければなりません。3)リンクの作成に成功した後、/usr/libディレクトリの下でlibuuid.soが生成されるのが見えます。再度コンパイルしても、上記のエラーは発生しません。同じ方法でliblzo 2.soを作成しました。コードコンパイルは成功しました。
三.コンパイルプロセスには次のようなエラーが発生しました。
make: *** [out/host/linux-x86/obj/EXECUTABLES/mkfs.ubifs_intermediates/mkfs.ubifs] Error 1
以下のステップを参照して試しても良いです。