Version 16 (modified by 17 years ago) ( diff ) | ,
---|
Solaris build instructions
The Solaris port of VirtualBox is work in progress and so is this page. The current page is just an edited version of the GNU/Linux one.
Prerequisites
You need:
- Solaris Nevada build 70 and Solaris Developer Express 07/09 are the oldest versions VirtualBox can be expected to build on. Build 75 or later is strongly recommended.
- GCC 3.4.3+. It will probably work with 3.4.6 or even 4.x.y, but 3.4.3 is the one we've tried and which problems we have work around.
- as86. This ships with the Solaris builds we're using.
- bcc (Bruce Evans C Compiler). This ships with the Solaris builds we're using.
- IASL (Intel ACPI compiler). Checked into the source tree.
- xsltproc (libxslt, XML style sheet processor). Ships with the Solaris builds we're using.
- libxerces (Xerces XML parser; the C++, not the Java version). You'll probably have to build this yourself or see below.
- libxalan (Xalan XSL library, depends on Xerces; again, the C++, not the Java version). You'll probably have to build this yourself or see below.
- libXcursor (required to support color mouse pointers in guest). Included with Solaris staring with build 74. For earlier builds, you'll have to built it yourself.
The source: http://ftp.x.org/pub/individual/lib/libXcursor-1.1.9.tar.bz2
- Qt 3.3.x (with x >= 5 if possible). You'll have to build this yourself.
Make sureQTDIR
is defined and that the shared libraries can be found.
The sources: ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.3.8.tar.bz2
Configure example (the-I
arguments are for working around headers in odd locations):./configure -v -platform solaris-g++-64 -thread -shared -stl -largefile -tablet -sm -disable-sql \ -qt-imgfmt-jpeg -qt-imgfmt-png -qt-imgfmt-mng -qt-libjpeg -qt-libpng -qt-libmng -qt-zlib \ -prefix /opt/vboxose-qt \ -I/usr/include \ -I/usr/X11/include \ -I/usr/X11/share/include \ -I/usr/sfw/include
- libIDL. This ships with the Solaris builds we're using.
- libSDL 1.2.x. This ships with the more recent Solaris builds, but not the early ones.
The source: http://libsdl.org/download-1.2.php
- YASM 0.6.3+ or revision 2004+. This is currently included in the VirtualBox source tree.
The source: http://www.tortall.net/projects/yasm/wiki/Download
- Doxygen 1.4.0+ - optional.
http://www.sunfreeware.com/programlistintel10.html#doxygen
- TeTex 3.0+ - internal only.
http://www.sunfreeware.com/programlistintel10.html#tetex
- Wget 1.10+ - internal only.
http://www.sunfreeware.com/programlistintel10.html#wget
- The PATH and LD_LIBRARY_PATH has to include the following directories (replace
bin
withlib
for theLD_LIBRARY_PATH
):/usr/sfw/bin
- for gcc and related tools./usr/ccs/bin
- for ar and other tools.$QTDIR/bin
- for Qt.
The xerces and xalan sources we use together with the appropriate kBuild makefiles can be found here: http://virtualbox.org/download/testcase/xerces-and-xalan-vbox-src.tar.bz2
Untar them into the VirtualBox trunk directory and add --build-xalan
as argument to configure
whenever running it.
Building VirtualBox
- Change to the root directory of the sources and execute the configure script:
./configure
. If it finds everything it needs, it will create a file called 'AutoConfig.kmk' containing paths to the various tools on your system. Also, it will create an environment setup script calledenv.sh
. This step only has to be done once (if something changes in your build tool setup, you might have to repeat it but keep in mind that both output files will be overwritten).
- Whenever you want to build VirtualBox, you have to open a shell and source the generated environment setup script 'env.sh', i.e. do
source ./env.sh
- To build a release package, type
kmk all
. This produces the required binaries inout/solaris.x86/release/bin/
. (If you want to build a debug version, typekmk BUILD_TYPE=debug
.) In case you have more than one CPU core, you could take advantage of our parallel build system by supplying-j3
(number of cores + 1) as an option to kmk.
Running your build
You can run VirtualBox directly from the build target directory (out/solaris.x86/release/bin/
). But first of all, you must build and install the VirtualBox kernel module. There is a script src/VBox/HostDrivers/Support/solaris/mod.sh
which does this for you. It requires you to either install sudo or run it as root.
Next you should start the VirtualBox XPCOM daemon using
cd ./out/solaris.x86/release/bin LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./VBoxSVC &
Finally, you can start one of the frontends, e.g.
LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./VirtualBox
Note that the LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
is required because we have to find our .so
files and the output directory is not in the system's library path.