vmware 老是抱怨找不到兼容的 gcc?

vmware 在安裝時會自帶幾個 kernel modules 的 source code, 所以, 你需要有跟目前已安裝的 kernel image 相符合的 header files 及 toolchain.

在 Debian 上, 一般是指以下幾個 package

  • linux-image-[VERSION]-[ARCH]
  • linux-headers-[VERSION]-[ARCH]
  • gcc-[VERSION]

如果, 你用的 package source 中加了如 testing, unstable 或是 experimental, 偶爾會發生用來 build kernel 的 toolchain 跟系統上裝的不同 (可能只是小版號不同), 這時候 vmware 就會報怨說找不到兼容的 gcc, 這個問題也困擾了我好一陣子...

網上找到的資訊可能都是讓你重裝 gcc, 或是裝上 kernel headers, 不過很可惜的, 在上述情況是沒法解決問題的.

要做的事是, 確認用來 build kernel 的 toolchain 版本, 然後找到對應的裝上. 命令如下

$ cat /proc/version 
Linux version 4.3.0-1-amd64 ([email protected]) (gcc version 5.3.1 20151207 (Debian 5.3.1-3) ) #1 SMP Debian 4.3.3-2 (2015-12-17)

然後, 確認你的 gcc 版本 (上例為 5.3.1 20151219)

$ gcc-5 --version
gcc-5 (Debian 5.3.1-4) 5.3.1 20151219
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

如果不 match 的話就自行想法子吧, 哈!