Native Android Build Relies on CPP
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
調査の方向性
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 を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
java-native-access/jna のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
java-native-access/jna#1740 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 66/100
java-native-access/jna#1738 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
java-native-access/jna#1736 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
java-native-access/jna#1717 ·
-
Windows32Exception - The parameter is incorrect再び着手できるかも @marktech0813 が 330 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
java-native-access/jna#1700 · コメント 11 件 ·
java-native-access/jna の issue をすべて見る
似ている issue
-
Mend: dependency security vulnerability
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
opfab/operatorfabric-core#10653 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
GeminiUtil placeholder user turn ("Continue output. DO NOT look at this line ...") is flagged by prompt injection filters対応中かも @innoprej が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
salesforce/multicloudj#667 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 2 日以内に返信