Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Native Android Build Relies on CPP

オープン
#1,311 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
android, cpp

調査の方向性

build.xml の 1141 行目付近から始め、NDK 21.4.7075529 を使用してネイティブ Android ビルドを再現します。失敗している aarch64-linux-android-cpp チェックと、報告されている CC= 要件に重点を置いてください。/www/ にある Android ドキュメントも確認してください。ビルドが C プリプロセッサの健全性チェックで失敗しなくなり、正しいコンパイラを Ant に渡す方法がドキュメントに説明されていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

The newer android NDKS (I'm using 21.4.7075529) do not include a CPP binary. It's replaced by passing -E to CC (so, something like aarch64-linux-android21-clang -E).

native:
     [exec] Generating configure
     [exec] autoreconf: Entering directory `.'
     [exec] autoreconf: configure.ac: not using Gettext
     [exec] autoreconf: running: aclocal -I m4
     [exec] autoreconf: configure.ac: tracing
     [exec] autoreconf: running: libtoolize --copy
     [exec] libtoolize: putting auxiliary files in '.'.
     [exec] libtoolize: copying file './ltmain.sh'
     [exec] libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
     [exec] libtoolize: copying file 'm4/libtool.m4'
     [exec] libtoolize: copying file 'm4/ltoptions.m4'
     [exec] libtoolize: copying file 'm4/ltsugar.m4'
     [exec] libtoolize: copying file 'm4/ltversion.m4'
     [exec] libtoolize: copying file 'm4/lt~obsolete.m4'
     [exec] autoreconf: running: /usr/bin/autoconf
     [exec] autoreconf: running: /usr/bin/autoheader
     [exec] autoreconf: running: automake --add-missing --copy --no-force
     [exec] configure.ac:31: installing './compile'
     [exec] configure.ac:19: installing './install-sh'
     [exec] configure.ac:19: installing './missing'
     [exec] Makefile.am: installing './depcomp'
     [exec] doc/Makefile.am:3: installing 'doc/mdate-sh'
     [exec] doc/Makefile.am:3: installing 'doc/texinfo.tex'
     [exec] Configuring libffi (aarch64)
     [exec] autoreconf: Leaving directory `.'
     [exec] checking build system type... x86_64-pc-linux-gnu
     [exec] checking host system type... aarch64-unknown-linux-android
     [exec] checking target system type... aarch64-unknown-linux-android
     [exec] checking for gsed... sed
     [exec] checking for a BSD-compatible install... /usr/local/bin/install -c
     [exec] checking whether build environment is sane... yes
     [exec] checking for aarch64-linux-android-strip... aarch64-linux-android-strip
     [exec] checking for a thread-safe mkdir -p... /usr/local/bin/mkdir -p
     [exec] checking for gawk... gawk
     [exec] checking whether make sets $(MAKE)... yes
     [exec] checking whether make supports nested variables... yes
     [exec] checking for aarch64-linux-android-gcc... aarch64-linux-android21-clang
     [exec] checking whether the C compiler works... yes
     [exec] checking for C compiler default output file name... a.out
     [exec] checking for suffix of executables... 
     [exec] checking whether we are cross compiling... yes
     [exec] checking for suffix of object files... o
     [exec] checking whether we are using the GNU C compiler... yes
     [exec] checking whether aarch64-linux-android21-clang accepts -g... yes
     [exec] checking for aarch64-linux-android21-clang option to accept ISO C89... none needed
     [exec] checking whether aarch64-linux-android21-clang understands -c and -o together... yes
     [exec] checking whether make supports the include directive... yes (GNU style)
     [exec] configure: WARNING: using cross tools not prefixed with host triplet
     [exec] checking dependency style of aarch64-linux-android21-clang... gcc3
     [exec] checking for aarch64-linux-android-g++... no
     [exec] checking for aarch64-linux-android-c++... no
     [exec] checking for aarch64-linux-android-gpp... no
     [exec] checking for aarch64-linux-android-aCC... no
     [exec] checking for aarch64-linux-android-CC... no
     [exec] checking for aarch64-linux-android-cxx... no
     [exec] checking for aarch64-linux-android-cc++... no
     [exec] checking for aarch64-linux-android-cl.exe... no
     [exec] checking for aarch64-linux-android-FCC... no
     [exec] checking for aarch64-linux-android-KCC... no
     [exec] checking for aarch64-linux-android-RCC... no
     [exec] checking for aarch64-linux-android-xlC_r... no
     [exec] checking for aarch64-linux-android-xlC... no
     [exec] checking for g++... g++
     [exec] checking whether we are using the GNU C++ compiler... yes
     [exec] checking whether g++ accepts -g... yes
     [exec] checking dependency style of g++... gcc3
     [exec] checking dependency style of aarch64-linux-android21-clang... gcc3
     [exec] checking how to print strings... printf
     [exec] checking for a sed that does not truncate output... /bin/sed
     [exec] checking for grep that handles long lines and -e... /bin/grep
     [exec] checking for egrep... /bin/grep -E
     [exec] checking for fgrep... /bin/grep -F
     [exec] checking for ld used by aarch64-linux-android21-clang... /opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/aarch64-linux-android/bin/ld
     [exec] checking if the linker (/opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/aarch64-linux-android/bin/ld) is GNU ld... yes
     [exec] checking for BSD- or MS-compatible name lister (nm)... /opt/android/ndk/21.4.7075529/platforms/android-21/../../toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin//aarch64-linux-android-nm -B
     [exec] checking the name lister (/opt/android/ndk/21.4.7075529/platforms/android-21/../../toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin//aarch64-linux-android-nm -B) interface... BSD nm
     [exec] checking whether ln -s works... yes
     [exec] checking the maximum length of command line arguments... 1572864
     [exec] checking how to convert x86_64-pc-linux-gnu file names to aarch64-unknown-linux-android format... func_convert_file_noop
     [exec] checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
     [exec] checking for /opt/android/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/aarch64-linux-android/bin/ld option to reload object files... -r
     [exec] checking for aarch64-linux-android-objdump... aarch64-linux-android-objdump
     [exec] checking how to recognize dependent libraries... pass_all
     [exec] checking for aarch64-linux-android-dlltool... no
     [exec] checking for dlltool... no
     [exec] checking how to associate runtime and link libraries... printf %s\n
     [exec] checking for aarch64-linux-android-ar... aarch64-linux-android-ar
     [exec] checking for archiver @FILE support... @
     [exec] checking for aarch64-linux-android-strip... (cached) aarch64-linux-android-strip
     [exec] checking for aarch64-linux-android-ranlib... aarch64-linux-android-ranlib
     [exec] checking command to parse /opt/android/ndk/21.4.7075529/platforms/android-21/../../toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin//aarch64-linux-android-nm -B output from aarch64-linux-android21-clang object... ok
     [exec] checking for sysroot... no
     [exec] checking for a working dd... /usr/local/bin/dd
     [exec] checking how to truncate binary pipes... /usr/local/bin/dd bs=4096 count=1
     [exec] checking for aarch64-linux-android-mt... no
     [exec] checking for mt... no
     [exec] checking if : is a manifest tool... no
     [exec] checking how to run the C preprocessor... aarch64-linux-android-cpp
     [exec] configure: error: in `/shared/src/jna/build/native-android-aarch64/libffi':
     [exec] configure: error: C preprocessor "aarch64-linux-android-cpp" fails sanity check
     [exec] See `config.log' for more details
     [exec] make: *** [/shared/src/jna/build/native-android-aarch64/libffi/.libs/libffi.a] Error 1

BUILD FAILED
/shared/src/jna/build.xml:1141: exec returned: 2

Additionally the need to pass the correct compiler to ant via CC= should be added to the android documentation in the /www/ subfolder.

主要言語
Java
スター
8.9k
フォーク
1.7k
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

java-native-access/jna のほかの issue

java-native-access/jna の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。