iperf2.0常用来测试网络,但不支持aarch64,一个网络应用软件,想来是由于年代问题导致的。
直接执行configure –host=aarch64-linux-gnu:
checking for aarch64-linux-gnu-ranlib... aarch64-linux-gnu-ranlib
checking build system type... x86_64-unknown-linux-gnu
checking host system type... Invalid configuration `aarch64-linux-gnu': machine `aarch64' not recognized
configure: error: /bin/sh ./config.sub aarch64-linux-gnu failed
看样子是config.sub脚本。为了让该脚本识别,对basic_machine加上aarch64识别:
...
aarch64)
# add by GTF.
;;
*-unknown)
...
...
再次configure已经可以生成Makefile了。
make时会两个错:
error: ‘::malloc’ has not been declared
error: redefinition of ‘struct std::__is_integer’
error: previous definition of ‘struct std::__is_integer’
一个是malloc函数问题,一个是int类型问题,configure里修改:
#$as_echo "#define HAVE_MALLOC 0" >>confdefs.h
$as_echo "#define HAVE_MALLOC 1" >>confdefs.h
#注释掉
#$as_echo "#define malloc rpl_malloc" >>confdefs.h
#注释掉
#$as_echo "#define bool int" >>confdefs.h
然后就可以编过了。
奈何本人没文化,通过修改脚本参数来配置configure的方式不贴了。
也可以直接更新脚本,方法别人早写过了,只不过有时候我就喜欢看看错在哪里。
版权声明:本文为qq_20408527原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。