Ich möchte eine bestimmte Version von verwenden können, gcc
um VirtualBox 5.0.16-Gasterweiterungen in einem Ubuntu 14.04-Gast zu erstellen, um Fehler zu vermeiden. VBoxLinuxAdditions.run --help
gibt keine Informationen, nochBauanleitung.
Ich erhalte Binärdateien für die Gasterweiterung über das integrierte Funktionsmenüelement Insert Guest Additions CD image
, das das ISO automatisch in Ubuntu bereitstellt.
Antwort1
Eine genauere Untersuchung der Quelle zeigt, dass Automake verwendet wird. Sie können den Compiler mithilfe von Umgebungsvariablen einstellen, die das Makefile zum Kompilieren der Quelle verwendet.
Die Standortquelle ist verschleiert. Um die vollständige Quelle zu finden, müssen Sie die an das Ende des Shell-Skripts VBoxLinuxAdditions.run angehängte Tar-Datei finden und entpacken. Sie enthält zwei Tar-Dateien, die die Quelle enthalten. (VBoxGuestAdditions-x86.tar.bz2 und ./VBoxGuestAdditions-amd64.tar.bz2) Dies ist der Code, der auf dem Gast kompiliert wird. Das Shell-Skript muss leicht geändert werden, damit es seine Dateien ausgibt.
Sobald Sie die TAR-Quelldatei haben, entpacken Sie die Datei, die Sie benötigen, und verwenden Sie sie. Dann make CC=<path to required gcc>
sollten Sie in der Lage sein, den Compiler anzugeben, den der Build verwenden soll.
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