아주 간단한 포스트입니다.

우분투 14.04에서 최신 커널로 업데이트를 했는데 Virtualbox가 에러를 일으키는 문제가 생겼습니다.


로그를 보아하니 다음과 같은 내용이 있었습니다.


Creating symlink /var/lib/dkms/vboxhost/5.0.14/source ->
                 /usr/src/vboxhost-5.0.14

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=4.4.1-040401-generic -C /lib/modules/4.4.1-040401-generic/build M=/var/lib/dkms/vboxhost/5.0.14/build....(bad exit status: 2)
Failed to install using DKMS, attempting to install without
make KBUILD_VERBOSE=1 SUBDIRS=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 CONFIG_MODULE_SIG= -C /lib/modules/4.4.1-040401-generic/build modules
Makefile:660: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler 


저 빨간 부분을 자세히 살펴보면 컴파일러가 지원이 되지 않는 옵션을 사용했다는 것으로 보입니다. 즉 GCC버전이 낮아서 생긴 일입니다. 커널을 컴파일해서 설치했다면 문제가 전혀 없었겠지만 저는 귀찮은 나머지 그냥 패키지로 설치했습니다. 그랬더니 이런 문제가 생기네요.


방법은 GCC를 업데이트하거나 커널을 직접 컴파일해서 설치하는 것입니다. 직접 컴파일은 오래걸리기도 하고 설정하다 시간 다 잡아먹으니 다음에 하기로 하고 GCC를 PPA를 통해 업데이트하는 방법을 써봅시다.


다음과 같은 명령으로 GCC를 업데이트 할 수 있습니다. GCC 4.9버전을 쓴다는 가정입니다.

14.04

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9



설명은 굳이 안 하겠습니다. ubuntu-toolchain-r PPA를 등록후 GCC를 설치하는 것 뿐입니다.

,