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 (不要な場合があります)
- Linux-バニラ-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.
この問題を試して解決するために、私は:
- linux-vanilla-devを削除しました。
- libelf-devがインストールされました。
- 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行)を追加できます。
追加情報を提供できる場合はお知らせください。まだ作業中なので、もっと学んだら追加します。現在、次のステップは次のとおりです。
- vboxdrv.shを調べて、エラーが発生する理由を見つけることができるかどうかを確認してください。
- straceを試してください。
ありがとうございます!
編集する:
- postinst-common.sh(別名/sbin/vboxconfig):https://pastebin.com/qZ6Zdx5g
- vboxdrv.sh:https://pastebin.com/FcySqEj0
答え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
ないのは、それを実行してコンパイルするだけです。提案された修正(自分が決めたかどうかmake
わからgcc
ない)は間違っており、あなたと私の時間の無駄です。elf
カーネルパッケージにはすでに正しい依存関係が指定されています-dev
(たとえば、linux-virt-dev
またはlinux-vanilla-dev
)。