Alpine 3.8.0: 애플리케이션 설치 중 오류: "CONFIG_UNWINDER_ORC=y에 대한 ORC 메타데이터를 생성할 수 없습니다."

Alpine 3.8.0: 애플리케이션 설치 중 오류: "CONFIG_UNWINDER_ORC=y에 대한 ORC 메타데이터를 생성할 수 없습니다."

Alpine 3.8.0 Standard(클라이언트가 아닌 호스트)를 새로 설치하여 VirtualBox를 설치하려고 합니다. 저는 VirtualBox-5.2.12-122591-Linux_amd64.run을 사용하고 있습니다.http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.htmlLinux 플랫폼 > 모든 배포판 > 64비트에서.

설치 프로그램은 다양한 오류를 보고하는데, 저는 지금까지 다음 패키지를 설치하여 해결했습니다.

  • coreutils (readlink를 사용 가능하게 하려면 -e 플래그를 사용하십시오)
  • 만들다
  • 걸프 협력 협의회
  • 진주
  • linux-headers (필요하지 않을 수도 있음)
  • 리눅스-바닐라-dev

설치자는 또한 다음과 같이 보고했습니다.

/opt/VirtualBox/vboxdrv.sh line 501: can't create /etc/udev/rules.d/60-vboxdrv.rules: \
nonexistent directory.

간단히 다음을 실행하여 문제를 해결했습니다.

mkdir -p /etc/udev/rules.d

설치 프로그램이 실패할 때마다 /sbin/vboxconfig를 실행하여 설치 프로세스를 다시 시작하라는 메시지가 표시됩니다. 현재 이 작업을 수행하면 다음과 같이 출력됩니다.

* service vboxdrv added to runlevel default
* service vboxballoonctrl-service added to runlevel default
* service vboxautostart-service added to runlevel default
* service vboxweb-service added to runlevel default
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: Look at /var/log/vbox-install.log to find out what went wrong.
There were problems setting up VirtualBox.  To re-start the set-up process, run \
/sbin/vboxconfig as root.

/var/log/vbox-install.log에는 다음이 포함됩니다.

make V=1 CONFIG_MODULE_SIG= -C /lib/modules/4.14.52-0-vanilla/build SUBDIRS=/tmp/vbox.0 \
SRCROOT=/tmp/vbox.0 -j1 modules
getconf: LFS_CFLAGS: unknown variable
getconf: LFS_LDFLAGS: unknown variable
getconf: LFS_LIBS: unknown variable
Makefile:948: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install \
libelf-dev, libelf-devel or elfutils-libelf-devel."  Stop.
make: *** [/tmp/vbox.0/Makefile.include.footer:101: vboxdrv] Error 2

libelf-dev를 설치해도 문제가 해결되지 않습니다. 모든https://pkgs.alpinelinux.org/packages, libelf-devel 또는 elfutils-libelf-devel 패키지가 없습니다.

또한 elfutils-dev와 libelf-dev를 동시에 설치할 수 없는 것 같습니다. 하나를 설치한 다음 다른 하나를 설치하면 apk는 다음을 출력합니다.

ERROR: elfutils-dev-0.168-r1: trying to overwrite usr/lib/libelf.so owned by \
libelf-dev-0.8.13-r3.
ERROR: elfutils-dev-0.168-r1: trying to overwrite usr/lib/libelf.a owned by \
libelf-dev-0.8.13-r3.
ERROR: elfutils-dev-0.168-r1: trying to overwrite usr/include/libelf.h owned by \
libelf-dev-0.8.13-r3.
ERROR: elfutils-dev-0.168-r1: trying to overwrite usr/include/gelf.h owned by \
libelf-dev-0.8.13-r3.
ERROR: elfutils-dev-0.168-r1: trying to overwrite usr/include/nlist.h owned by \
libelf-dev-0.8.13-r3.

linux-vanilla-dev에는 elfutils-dev가 필요하고 /sbin/vboxconfig에는 elfutils-dev가 필요한 것으로 나타나기 때문에 이것이 문제가 됩니다. linux-vanilla-dev를 설치하지 않고 /sbin/vboxconfig를 실행하면 다음과 같이 출력됩니다.

...
vboxdrv.sh: Building VirtualBox kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel for adding new \
hardware support to the system.

이 문제를 시도하고 해결하기 위해 나는:

  1. linux-vanilla-dev를 제거했습니다.
  2. libelf-dev가 설치되었습니다.
  3. linux-vanilla-dev를 다시 설치했습니다.

예상대로 linux-vanilla-dev와 elfutils-dev를 제외한 모든 종속 항목이 성공적으로 설치되었습니다. elfutils-dev를 설치하지 않아서 발생하는 문제는 모르겠고, /var/log/vbox-install.log의 오류 메시지에서 참조하는 패키지이기 때문에 libelf-dev를 설치하는 것이 더 중요하다고 생각합니다.

그래도 /sbin/vboxconfig를 실행하면 vboxdrv.sh가 "CONFIG_UNWINDER_ORC=y에 대한 ORC 메타데이터를 생성할 수 없습니다. libelf-dev, libelf-devel 또는 elfutils-libelf-devel을 설치하십시오"라는 메시지와 함께 계속 실패합니다. 비록 libelf-dev가 이미 설치되어 있지만(또는 그렇게 믿습니다).

달리기:

apk info | grep 'libelf-dev'

산출:

libelf-dev

apk 수정을 실행하면 apk가 elfutils-dev 재설치를 시도하지만(앞에서 설명한 이유로) 실패하지만 다른 문제는 보고되지 않습니다.

VirtualBox-5.2.12-122591-Linux_amd64.run을 Windows 컴퓨터에 다운로드하고 7-Zip을 사용하여 열고 postinst-common.sh(/sbin/vboxconfig와 동일한 파일이라고 생각합니다) 및 vboxdrv.sh를 추출했습니다. 나는 그것들을 추가할 방법을 찾지 못했지만 누군가 도움이 된다고 생각한다면 그 내용(총 600줄)을 추가할 수 있습니다.

추가 정보를 제공할 수 있으면 알려주시기 바랍니다. 아직 작업 중이므로 더 배우면 추가하겠습니다. 현재 다음 단계는 다음과 같습니다.

  1. vboxdrv.sh를 조사하여 오류가 발생하는 이유를 찾을 수 있는지 확인하세요.
  2. strace를 사용해 보세요.

감사합니다!

편집하다:

답변1

설치해 보세요: apk add g++

다음 패키지를 설치합니다.

(1/3) musl-dev(1.1.20-r0) 설치 (2/3) libc-dev(0.7.1-r0) 설치 (3/3) g++(6.4.0-r8) 설치

패키지를 설치한 후 VirtualBox 설치 스크립트를 다시 실행해 보세요.

답변2

너무 길어요. 설치해야 합니다 musl-dev.

커널 모듈을 구축 중인데 동일한 오류 메시지( Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y)가 나타납니다. 내가 해야 할 일은 apk add musl-dev그것을 실행하여 컴파일하는 것뿐입니다. 제안된 수정 사항(내가 직접 결정했든 makegcc수 없었든)은 잘못되었으며 귀하와 나의 시간 낭비입니다. elf커널 패키지에는 이미 올바른 종속성이 지정되어 있습니다 -dev(예: linux-virt-dev또는 linux-vanilla-dev).

관련 정보