최근 커널을 4.8.11로 바꾸고 vmware를 사용하려니 gcc 6.2.1버전이상을 찾는다…
아시다시피 Debian은 패키지 업데이트에 굉장히 보수적이어서 gcc 6.x버전은 아직 dev라인에 있다.
https://packages.debian.org/sid/amd64/gcc-6/download
뭐 대충 sid에서 패키지 받아서 /tmp에 풀었는데 별문제 없이 실행된다.
vmware modconfig도 path만 잡아주니 별 문제없이 슝슝 잘됨.
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
modprobe: FATAL: Module vmnet not found.
make: Entering directory '/tmp/modconfig-QudNpU/vmmon-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/4.8.11/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-4.8.11'
CC [M] /tmp/modconfig-QudNpU/vmmon-only/linux/driver.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/linux/hostif.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/common/apic.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/linux/driverLog.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/common/memtrack.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/common/hashFunc.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/common/vmx86.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/common/cpuid.o
/tmp/modconfig-QudNpU/vmmon-only/linux/driver.c:1283:1: warning: always_inline function might not be inlinable [-Wattributes]
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
^
CC [M] /tmp/modconfig-QudNpU/vmmon-only/common/task.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/common/comport.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/common/phystrack.o
CC [M] /tmp/modconfig-QudNpU/vmmon-only/vmcore/moduleloop.o
LD [M] /tmp/modconfig-QudNpU/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/modconfig-QudNpU/vmmon-only/vmmon.mod.o
LD [M] /tmp/modconfig-QudNpU/vmmon-only/vmmon.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.8.11'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-QudNpU/vmmon-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-QudNpU/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory '/tmp/modconfig-QudNpU/vmmon-only'
make: Entering directory '/tmp/modconfig-QudNpU/vmnet-only'
Using kernel build system.
/usr/bin/make -C /lib/modules/4.8.11/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/src/linux-headers-4.8.11'
CC [M] /tmp/modconfig-QudNpU/vmnet-only/driver.o
CC [M] /tmp/modconfig-QudNpU/vmnet-only/hub.o
CC [M] /tmp/modconfig-QudNpU/vmnet-only/userif.o
CC [M] /tmp/modconfig-QudNpU/vmnet-only/netif.o
In file included from ./include/linux/pci.h:35:0,
from /tmp/modconfig-QudNpU/vmnet-only/compat_netdevice.h:27,
from /tmp/modconfig-QudNpU/vmnet-only/netif.c:43:
./include/linux/pci_ids.h:2253:0: warning: "PCI_VENDOR_ID_VMWARE" redefined
#define PCI_VENDOR_ID_VMWARE 0x15ad
^
In file included from /tmp/modconfig-QudNpU/vmnet-only/net.h:38:0,
from /tmp/modconfig-QudNpU/vmnet-only/vnetInt.h:26,
from /tmp/modconfig-QudNpU/vmnet-only/netif.c:42:
/tmp/modconfig-QudNpU/vmnet-only/vm_device_version.h:56:0: note: this is the location of the previous definition
#define PCI_VENDOR_ID_VMWARE 0x15AD
^
CC [M] /tmp/modconfig-QudNpU/vmnet-only/bridge.o
CC [M] /tmp/modconfig-QudNpU/vmnet-only/procfs.o
CC [M] /tmp/modconfig-QudNpU/vmnet-only/smac_compat.o
CC [M] /tmp/modconfig-QudNpU/vmnet-only/smac.o
CC [M] /tmp/modconfig-QudNpU/vmnet-only/vnetEvent.o
CC [M] /tmp/modconfig-QudNpU/vmnet-only/vnetUserListener.o
In file included from /tmp/modconfig-QudNpU/vmnet-only/net.h:38:0,
from /tmp/modconfig-QudNpU/vmnet-only/vnetInt.h:26,
from /tmp/modconfig-QudNpU/vmnet-only/bridge.c:52:
/tmp/modconfig-QudNpU/vmnet-only/vm_device_version.h:56:0: warning: "PCI_VENDOR_ID_VMWARE" redefined
#define PCI_VENDOR_ID_VMWARE 0x15AD
^
In file included from ./include/linux/pci.h:35:0,
from /tmp/modconfig-QudNpU/vmnet-only/compat_netdevice.h:27,
from /tmp/modconfig-QudNpU/vmnet-only/bridge.c:51:
./include/linux/pci_ids.h:2253:0: note: this is the location of the previous definition
#define PCI_VENDOR_ID_VMWARE 0x15ad
^
LD [M] /tmp/modconfig-QudNpU/vmnet-only/vmnet.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/modconfig-QudNpU/vmnet-only/vmnet.mod.o
LD [M] /tmp/modconfig-QudNpU/vmnet-only/vmnet.ko
make[1]: Leaving directory '/usr/src/linux-headers-4.8.11'
/usr/bin/make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-QudNpU/vmnet-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-QudNpU/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory '/tmp/modconfig-QudNpU/vmnet-only'
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface done
VM communication interface socket family done
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done
Shared Memory Available done
별문제 없다. 구글링해보니 명쾌한 해결책이 안나와있어서 포기할까 하다가 해봤는데 쉽게 풀려서 다행이다.