solarflare 설치할 때 Kernel build tree 에러

1.
솔라플레어를 거의 사용하지 않습니다. 고객에게 권유하지 않습니다. 다만 고객이 선택하여 요청하면 설치를 할 때도 있습니다. 최근 두 번 솔라플레어를 CentOS와 Rocky Linux에 설치하였습니다. Rocky Linux에 설치할 때 발생하지 않았던 증상을 Centos에 설치할 때 보아서 기억을 위해 남깁니다.

ZeroAOS서버에 Centos 8.4를 Minimal Install로 설치를 하였습니다.

보통 Development Tools 그룹을 같이 설치하는데 아마도 선택하지 않은 듯 합니다. 보통 개별적으로 필요한 패키지를 별도로 설치하기 때문입니다. 그리고 Onload User Guides & Packages에서 최신 onload 버전을 다운을 받아서 설치하였습니다. 현재 최신버전은 SF-109585-LS-42-OpenOnload-Release-Package.zip 입니다.

압축을 푼 후 onload-8.1.1.17/scripts로 이동합니다. 여기서 사용하는 명령어는 onload_install입니다. 도움말입니다.

별도의 옵션없이 명령어를 실행합니다. 모든 것이 순조롭게 이루어지기를 기대하였는데 의외의 에러가 발생하였습니다.

kernel_compat.sh: Kernel build tree is unable to build modules

2.
구글링을 하였습니다.

Problems trying to build and install Onload on Linux 5.4.200-1.el7.elrepo.x86_64을 보니까 아래와 같이 원인을 설명하고 있습니다.

The important error here is this one:
kernel_compat.sh: Kernel build tree is unable to build modules
This means that you’re missing one of the vital dependencies in order to be able to build kernel modules – most likely either the kernel-devel or the kernel-headers package.
Appendix C of the Onload User Guide has the full list of needed packages.

Appendix C에 있는 패키지를 설치하지 않았다고 하네요. Build Dependencies에 나온 패키지를 하나씩 설치하였습니다. 다시 컴파일을 했지만 오류가 발생합니다.

그래서 단순무식 과격한 방법을 선택하였습니다. Development Tools 그룹의 모든 패키지를 설치하는 것입니다.

패키지목록을 보니까 빠진 것도 있는 듯 합니다. 이후 설치명령어를 실행하니까 오류없이 빌드가 이루어졌습니다.

libVMA와 비교하면 불친절한 패키지입니다. libvma를 빌드할 때 어떤 패키지가 빠졌는데 오류메시지를 통해 보여줍니다. 굳이 모든 패키지를 설치할 필요없이 빌드할 때 필요한 패키지만 설치하면 충분합니다.

Leave a Comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.