Как указать компилятор для установки гостевых дополнений VirtualBox?

Как указать компилятор для установки гостевых дополнений VirtualBox?

Я хотел бы иметь возможность использовать определенную версию для gccсборки гостевых дополнений VirtualBox 5.0.16 внутри гостевой ОС Ubuntu 14.04, чтобы избежать ошибок. VBoxLinuxAdditions.run --helpне дает никакой информации и не делаетинструкции по сборке.

Я получаю двоичные файлы гостевых дополнений из встроенного Insert Guest Additions CD imageпункта меню функций, который автоматически монтирует ISO-образ внутри Ubuntu.

решение1

Дальнейшее изучение исходного кода показывает, что они используют automake. Вы можете настроить компилятор с помощью переменных окружения, которые Makefile будет использовать для компиляции исходного кода.

Расположение источника запутано. Чтобы найти полный исходный код, вам нужно найти файл tar, добавленный в конец скрипта оболочки VBoxLinuxAdditions.run, и распаковать его, он содержит два файла tar, которые содержат исходный код. (VBoxGuestAdditions-x86.tar.bz2 и ./VBoxGuestAdditions-amd64.tar.bz2) Это код, который будет скомпилирован на гостевой системе. Скрипт оболочки нужно немного изменить, чтобы он мог выгружать свои файлы.

После того, как у вас есть исходный tar-архив, распакуйте нужный вам и с его помощью make CC=<path to required gcc>вы сможете указать компилятор, который вы хотите использовать при сборке.

Some influential environment variables:
   CC          C compiler command
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
   LIBS        libraries to pass to the linker, e.g. -l<library>
   CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
               you have headers in a nonstandard directory <include dir>
   LT_SYS_LIBRARY_PATH
              User-defined run-time library search path.
   CPP         C preprocessor
   CXX         C++ compiler command
   CXXFLAGS    C++ compiler flags
   CXXCPP      C++ preprocessor

Связанный контент