【问题标题】:Cannot install OpenOnload on AWS Server无法在 AWS 服务器上安装 OpenOnload
【发布时间】:2020-07-30 16:25:59
【问题描述】:

我正在尝试在运行 Ubuntu 服务器 18.04.3 的 AWS 服务器上安装 OpenOnload。我从这里下载了 7.1.0.265(最新)版本的 DEB 发布包:https://support.solarflare.com/index.php/component/cognidox/?view=categories&id=361

然后从中提取文件夹 \onload_7.1.0.265-debiansource.tgz\onload_7.1.0.265.orig.tar.gz 并解压缩。那我就可以跑了

$ ./scripts/onload_install 

按照 README 文件中的说明进行操作。在我的本地机器上的 Ubuntu 20 上,这一切都可以正常工作并安装 OpenOnload,但在 AWS 服务器实例上会抛出此错误:

onload_install: Building Onload.
Build tree made for linux as x86_64_linux-4.15.0-1057-aws
make: Entering directory '/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws'
# Build both autocompat.h files: linux_net and linux_affinity.
make -C driver/linux_net
make[1]: Entering directory '/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net'
make -C /usr/src/linux-headers-4.15.0-1057-aws CC="cc" M=$(pwd)
make[2]: Entering directory '/usr/src/linux-headers-4.15.0-1057-aws'
/home/ubuntu/onload-7.1.0.265/src/driver/linux_net/Makefile:61: SFE4001/Falcon is no longer supported
  CHK     /home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/autocompat.h
  UPD     /home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/autocompat.h
  CHK     /home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/config.h
  UPD     /home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/config.h
  CC [M]  /home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.o
/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.c: In function ‘efx_init_struct’:
/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.c:5225:2: error: implicit declaration of function ‘efx_mtd_free’; did you mean ‘efx_mtd_probe’? [-Werror=implicit-function-declaration]
  efx_mtd_free(efx);
  ^~~~~~~~~~~~
  efx_mtd_probe
/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.c:5224:1: warning: label ‘fail’ defined but not used [-Wunused-label]
 fail:
 ^~~~
/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.c: In function ‘efx_fini_struct’:
/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.c:5247:9: error: ‘struct efx_nic’ has no member named ‘mtd_struct’
  if (efx->mtd_struct) {
         ^~
/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.c:5248:6: error: ‘struct efx_nic’ has no member named ‘mtd_struct’
   efx->mtd_struct->efx = NULL;
      ^~
/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.c:5249:6: error: ‘struct efx_nic’ has no member named ‘mtd_struct’
   efx->mtd_struct = NULL;
      ^~
cc1: some warnings being treated as errors
scripts/Makefile.build:330: recipe for target '/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.o' failed
make[3]: *** [/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net/efx.o] Error 1
Makefile:1580: recipe for target '_module_/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net' failed
make[2]: *** [_module_/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.15.0-1057-aws'
/home/ubuntu/onload-7.1.0.265/src/driver/linux_net/Makefile:300: recipe for target 'modules' failed
make[1]: *** [modules] Error 2
make[1]: Leaving directory '/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws/driver/linux_net'
../../src/mmake.mk:57: recipe for target 'all' failed
make: *** [all] Error 2
make: Leaving directory '/home/ubuntu/onload-7.1.0.265/build/x86_64_linux-4.15.0-1057-aws'
onload_build: ERROR: Failed to build driver components.
onload_install: ERROR: Build failed.  Not installing.

这可能是由于与 AWS 上的某些特定功能不兼容吗?我检查了下载源的版本兼容性,它说与 Ubuntu 服务器 18.04 兼容。任何关于如何解决它的想法将不胜感激!

【问题讨论】:

  • Onload-7.0.0.176 编译没有任何问题。似乎新版本有一些编译错误。如果可以,也许你可以使用那个版本?
  • 干杯,你用什么来编译它 - $ sudo ./scripts/onload_install ?或者是其他东西?它是在 AWS 实例上吗?
  • 是的,sudo ./scripts/onload_install 在 AWS 上。必须先安装build-essential 包。

标签: amazon-web-services ubuntu-18.04 openonload


【解决方案1】:

基于 cmets。

解决方案是使用Onload-7.0.0.176 而不是Onload-7.1.0.265。

似乎Onload-7.1.0.265 版本在 Ubuntu 18.04 上有一些编译错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 2016-02-23
    • 2020-02-11
    • 2015-05-26
    • 1970-01-01
    • 2018-06-23
    • 2018-03-17
    相关资源
    最近更新 更多