質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.77%

ubuntu16.04にてAOSPのソースコードをビルドしたい。

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 6,319

score 11

http://source.android.com/source/initializing.html

こちらのandroid公式サイトを参考にAOSPのコードをビルドしようとしているのですが、うまく行きません。

環境は、
AmazonEC2
インスタンス:c4.2xlarge
OS:Ubuntu16.04LTS
SSD:100GIB 
です。

以下行った行動です。

・Installing Repo
こちらの項目を参考に、それぞれコマンドを入力し、repoコマンドのセットアップをしました。

$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

・Initializing a Repo client
次に作業ディレクトりを作成し、gitの初期設定を行いました。

$ mkdir src
$ cd src
$ mkdir master
$ cd master
$ git config --global user.name "babyloos"
$ git config --global user.email "babyloos@babyloos.net"

repo init を実行し、ソース取得元を設定しました。

$ repo init -u https://android.googlesource.com/platform/manifest

repo sync を実行し、ソースコードを同期(ダウンロード?)しました。

$ repo sync

https://source.android.com/source/building.html
次に、こちらのページへ移りソースコードのビルドを行いました。

以下実際に行った行動です。

何を行っているのか不明ですが、find: ‘vendor’: No such file or directoryというメッセージが表示されているので、問題が発生しているような気がします。

$ make clobber
find: ‘vendor’: No such file or directory
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.0
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=NYC
OUT_DIR=out
AUX_OS_VARIANT_LIST=
============================================
ninja: no work to do.
[1/1] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
Running kati to generate build-aosp_arm-clobber.ninja...
out/build-aosp_arm-clobber.ninja is missing, regenerating...
find: ‘vendor’: No such file or directory
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.0
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=NYC
OUT_DIR=out
AUX_OS_VARIANT_LIST=
============================================
Starting build with ninja
ninja: Entering directory `.'
[100% 1/1] Entire build directory removed.

ビルドの準備?

$ source build/envsetup.sh
including device/asus/fugu/vendorsetup.sh
including device/generic/mini-emulator-arm64/vendorsetup.sh
including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh
including device/generic/mini-emulator-mips64/vendorsetup.sh
including device/generic/mini-emulator-mips/vendorsetup.sh
including device/generic/mini-emulator-x86_64/vendorsetup.sh
including device/generic/mini-emulator-x86/vendorsetup.sh
including device/google/dragon/vendorsetup.sh
including device/htc/flounder/vendorsetup.sh
including device/huawei/angler/vendorsetup.sh
including device/lge/bullhead/vendorsetup.sh
including device/linaro/hikey/vendorsetup.sh
including device/moto/shamu/vendorsetup.sh
including sdk/bash_completion/adb.bash

ビルドの準備?

$ lunch aosp_arm-eng
lunch aosp_arm-eng
echo -n $selection | sed -e "s/^[^\-]*-//"
echo -n $selection | sed -e "s/-.*$//"
gettop
cat $T/build/envsetup.sh | tr '()' '  ' | awk '{for(i=1;i<=NF;i++) if($i~/get_build_var/) print $(i+1)}' | sort -u | tr '\n' ' '
cat $T/build/envsetup.sh | tr '()' '  ' | awk '{for(i=1;i<=NF;i++) if($i~/get_abs_build_var/) print $(i+1)}' | sort -u | tr '\n' ' '
\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core                         command make --no-print-directory -f build/core/config.mk                         dump-many-vars                         DUMP_MANY_VARS="$cached_vars"                         DUMP_MANY_ABS_VARS="$cached_abs_vars"                         DUMP_VAR_PREFIX="var_cache_"                         DUMP_ABS_VAR_PREFIX="abs_var_cache_"
find: ‘vendor’: No such file or directory
var_cache_2ND_TARGET_GCC_VERSION=''
var_cache_ANDROID_BUILD_PATHS='/home/ubuntu/src/master/out/soong/host/linux-x86/bin:/home/ubuntu/src/master/out/host/linux-x86/bin'
var_cache_BUILD_OS='linux'
var_cache_LLVM_PREBUILTS_VERSION='clang-3289846'
var_cache_print=''
var_cache_TARGET_ARCH='arm'
var_cache_TARGET_DEVICE='generic'
var_cache_TARGET_GCC_VERSION='4.9'
var_cache_report_config=`echo '============================================'; echo 'PLATFORM_VERSION_CODENAME=REL'; echo 'PLATFORM_VERSION=7.0'; echo 'TARGET_PRODUCT=aosp_arm'; echo 'TARGET_BUILD_VARIANT=eng'; echo 'TARGET_BUILD_TYPE=release'; echo 'TARGET_BUILD_APPS='; echo 'TARGET_ARCH=arm'; echo 'TARGET_ARCH_VARIANT=armv7-a'; echo 'TARGET_CPU_VARIANT=generic'; echo 'TARGET_2ND_ARCH='; echo 'TARGET_2ND_ARCH_VARIANT='; echo 'TARGET_2ND_CPU_VARIANT='; echo 'HOST_ARCH=x86_64'; echo 'HOST_2ND_ARCH=x86'; echo 'HOST_OS=linux'; echo 'HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial'; echo 'HOST_CROSS_OS=windows'; echo 'HOST_CROSS_ARCH=x86'; echo 'HOST_CROSS_2ND_ARCH=x86_64'; echo 'HOST_BUILD_TYPE=release'; echo 'BUILD_ID=NYC'; echo 'OUT_DIR=out'; echo 'AUX_OS_VARIANT_LIST='; echo '============================================';`
echo '============================================'; echo 'PLATFORM_VERSION_CODENAME=REL'; echo 'PLATFORM_VERSION=7.0'; echo 'TARGET_PRODUCT=aosp_arm'; echo 'TARGET_BUILD_VARIANT=eng'; echo 'TARGET_BUILD_TYPE=release'; echo 'TARGET_BUILD_APPS='; echo 'TARGET_ARCH=arm'; echo 'TARGET_ARCH_VARIANT=armv7-a'; echo 'TARGET_CPU_VARIANT=generic'; echo 'TARGET_2ND_ARCH='; echo 'TARGET_2ND_ARCH_VARIANT='; echo 'TARGET_2ND_CPU_VARIANT='; echo 'HOST_ARCH=x86_64'; echo 'HOST_2ND_ARCH=x86'; echo 'HOST_OS=linux'; echo 'HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial'; echo 'HOST_CROSS_OS=windows'; echo 'HOST_CROSS_ARCH=x86'; echo 'HOST_CROSS_2ND_ARCH=x86_64'; echo 'HOST_BUILD_TYPE=release'; echo 'BUILD_ID=NYC'; echo 'OUT_DIR=out'; echo 'AUX_OS_VARIANT_LIST='; echo '============================================';
abs_var_cache_ANDROID_GCC_PREBUILTS='/home/ubuntu/src/master/prebuilts/gcc/linux-x86'
abs_var_cache_ANDROID_PREBUILTS='/home/ubuntu/src/master/prebuilt/linux-x86'
abs_var_cache_HOST_OUT='/home/ubuntu/src/master/out/host/linux-x86'
abs_var_cache_PRODUCT_OUT='/home/ubuntu/src/master/out/target/product/generic'
abs_var_cache_print=''

gettargetarch
echo "${var_cache_TARGET_ARCH}"
uname -s
gettop
getprebuilt
echo "${abs_var_cache_ANDROID_PREBUILTS}"
get_abs_build_var ANDROID_GCC_PREBUILTS
echo "${abs_var_cache_ANDROID_GCC_PREBUILTS}"
get_build_var TARGET_GCC_VERSION
echo "${var_cache_TARGET_GCC_VERSION}"
get_build_var 2ND_TARGET_GCC_VERSION
echo "${var_cache_2ND_TARGET_GCC_VERSION}"
get_build_var TARGET_ARCH
echo "${var_cache_TARGET_ARCH}"
get_build_var ANDROID_BUILD_PATHS
echo "${var_cache_ANDROID_BUILD_PATHS}"
uname -s
get_abs_build_var PRODUCT_OUT
echo "${abs_var_cache_PRODUCT_OUT}"
get_abs_build_var HOST_OUT
echo "${abs_var_cache_HOST_OUT}"
gettop
gettop
echo "${var_cache_report_config}"
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.0
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=
TARGET_2ND_ARCH_VARIANT=
TARGET_2ND_CPU_VARIANT=
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=NYC
OUT_DIR=out
AUX_OS_VARIANT_LIST=
============================================
echo -ne "\033]0;[arm-aosp_arm-eng] ubuntu@ip-172-31-29-231: /home/ubuntu/src/master\007"

ここでも
find: ‘vendor’: No such file or directory
という、文が確認できるのでやはりソースのダウンロード時点でうまくいってないかもしれないと思っています。

とりあえず進めてみました。

$ make -j4
find: ‘vendor’: No such file or directory
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=7.0
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm


~~~ 途中略 ~~~
[  6% 2406/35403] target thumb C++: libadbd <= system/core/adb/transport.cpp
[  6% 2407/35403] target thumb C++: libfs_mgr <= system/core/fs_mgr/fs_mgr_verity.cpp
ninja: build stopped: subcommand failed.
build/core/ninja.mk:84: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1
find: ‘vendor’: No such file or directory

途中様々なエラーが出ていたようですが、最後はこのような形で終了してしまいました。

自分は、やはりソースコードのダウンロードがうまくいっていないのだと考えています。
とても抽象的な質問になってしまい申し訳無いのですが、原因のわかる方いらっしゃいましたらご回答をお願いしたいと思います。
よろしくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

0

公式サイトにObtain proprietary binariesという項目がありました。
翻訳し、読んでみると、機種ごとのファイルをダウンロードしろとのことでした。
手順通り行ってみると、見事ディレクトリが作成され、無事ビルドすることができました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/23 11:45

    お疲れ様でした、色々試行錯誤して無事解決する作業を積んでいくと経験値が上がります、経験値に裏付けされたトラブルシューテング能力は長いIT業界を生きるには必須のスキルですので、頑張ってください。

    キャンセル

  • 2016/11/23 11:57

    ありがとうございます。
    まだまだ経験も浅い未熟者ですが、なんとか頑張っていこうと思います。

    キャンセル

0

Makefileの中で、下記のディレクトリを定義しているけど、実体はありますでしょうか? 

/vendor
/system/vendor

作成されていなければ、下記で作成してからmakeコマンドを実行してみてください。

# mkdir    /vendor
# mkdir  -p /system/vendor

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/12 17:52 編集

    ご回答ありがとうございます。
    /vendor
    /system/vendor
    に関しては存在していませんでしたので、作成しました。

    作成の後、make -j4をもう1度行って見ましたが、症状は変わりませんでした。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.77%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る