<p>Android 上的 iperf 3 编译失败并出现以下错误。</p>

创建于 2016-05-07  ·  7评论  ·  资料来源: esnet/iperf

命令:
./configure --host=arm-linux-gnueabihf --prefix=/home/ec2-user/iperf_install/ CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-g++ CFLAGS=-static CXXFLAGS=-静止的

main.c:62: 错误:未定义对“__gnu_mcount_nc”的引用
main.c:124: 错误:未定义对“__gnu_mcount_nc”的引用
main.c:131: 错误:未定义对“__gnu_mcount_nc”的引用
cjson.c:50: 错误:未定义对“__gnu_mcount_nc”的引用
collect2: 错误: ld 返回 1 个退出状态

我正在尝试为 android 编译 iperf3 二进制文件。 我很失望,没有为android编译iperf3二进制文件的具体信息。 有人可以帮忙吗?

谢谢,
-哈迪克

documentation portability

最有用的评论

或者:
./configure --disable-profiling --host=arm-linux-androideabi

所有7条评论

cjson.c:50: 错误:未定义对“__gnu_mcount_nc”的引用
cjson.c:56: 错误:未定义对“__gnu_mcount_nc”的引用
cjson.c:72: 错误:未定义对“__gnu_mcount_nc”的引用
cjson.c:85: 错误:未定义对“__gnu_mcount_nc”的引用

iperf3 不正式支持 Android,我们没有资源来处理这个问题。 所以标记为“需要帮助”。

我们注意到 iperf2 正式支持 Android。 也许那可能是一个更合适的平台?

我面临同样的问题,有什么建议吗?

为了我的目的,我已经用 CMake 替换了配置脚本。 我很确定我可以为 Android 进行编译,但目前我正在为 iOS 进行编译。

https://github.com/palmerc/iperf

[更新]

设置 HAVE_ENDIAN 1

cmake -D ANDROID_PLATFORM=android-21 -G Ninja -D CMAKE_TOOLCHAIN_FILE=../android-ndk/android-ndk-r16b/build/cmake/android.toolchain.cmake ../iperf
cmake --build 。

工作。 我还测试了 -D ANDROID_ABI=arm64-v8a

如果有人愿意,我可以将 CMake 构建作为拉取请求提交

或者,编辑 src/Makefile.in,从 iperf3_profile_CFLAGS 和 iperf3_profile_LDFLAGS 中删除“-pg”。

以下是针对此问题的三种解决方法,按照从最省力到最省力的顺序排列:

  1. 当 iperf3 配置文件的链接失败时,“正常”的 iperf3 可执行文件可能已经创建......至少它在我的系统上。 因此,如果您愿意接受从 make 过程中退出的错误(以及在构建主机上浪费的一点工作),您可能不需要做任何事情。

  2. configure步骤之后, src/Makefile中会有一个定义,如下所示:

noinst_PROGRAMS = t_timer$(EXEEXT) t_units$(EXEEXT) t_uuid$(EXEEXT) \
        iperf3_profile$(EXEEXT)

如果您将其编辑为如下所示,它将禁用配置文件 iperf3 的构建:

noinst_PROGRAMS = t_timer$(EXEEXT) t_units$(EXEEXT) t_uuid$(EXEEXT)
  1. 与上面的第 2 项类似,但更持久……如果您编辑src/Makefile.am并更改如下所示的行:
noinst_PROGRAMS         = t_timer t_units t_uuid iperf3_profile

看起来像这样:

noinst_PROGRAMS         = t_timer t_units t_uuid

然后运行./bootstrap.sh ,这将重新生成项目 Makefiles 以排除已配置的 iperf3 可执行文件(在该源树中)。

在这一点上,我倾向于将其写为常见问题解答项目并关闭问题。

或者:
./configure --disable-profiling --host=arm-linux-androideabi

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Febbe picture Febbe  ·  4评论

bbordereau picture bbordereau  ·  10评论

JodieChuang picture JodieChuang  ·  5评论

FuzzyStatic picture FuzzyStatic  ·  13评论

KevinJosephMorin picture KevinJosephMorin  ·  5评论