iperf2.0 扩展支持aarch64 machine `aarch64‘ not recognized

  • Post author:
  • Post category:其他


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 版权协议,转载请附上原文出处链接和本声明。