VirtualBox

Version 38 (modified by Ramshankar Venkataraman, 13 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 11 Express (snv_151) is the recommended version for building VirtualBox.
  • GCC 3.4.3+ is recommended, obtain via Oracle's IPS/pkg(5) repository, see next item.
  • Install the following packages using:
    # pkg install SUNWgcc SUNWsvn SUNWhea FSWxorg-headers SUNWgnome-common-devel SUNWaudh SUNWusbu \
    SUNWugenu SUNWugen SUNWagph SUNWcurl SUNWxorg-mesa SUNWj6dev SUNWj6dvx header-math
    
  • libxml2. This ships with Solaris.
  • libxslt. This ships with Solaris.
  • Qt 4.4.3. You'll have to build this yourself.
    The source: ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.4.3.tar.gz

    Make sure QTDIR environment variable is pointing to the Qt installation and that the shared libraries can be found.
    Configure example (not the -I options for odd include 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
    
  • The PATH has to include the following directories:
    • /usr/sfw/bin - for gcc and related tools.
    • /usr/ccs/bin - for ar and other tools.
  • The LD_LIBRARY_PATH has to include the following directories:
    • /usr/sfw/lib - for gcc and related tools.
    • /usr/ccs/lib - for ar and other tools.

Building VirtualBox

  1. Change to the root directory of the sources and execute the configure script: ./configure --disable-hardening. 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 called env.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).
  1. 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
    
  1. To build a release package, type kmk all. This produces the required binaries in out/solaris.x86/release/bin/. (If you want to build a debug version, type kmk 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 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.

Or, you can do the following:

cd out/solaris.amd64/release/bin

You will need to copy the driver file and .conf file if any into the appropriate locations. Current drivers include vboxdrv (primary host driver), vboxflt (bridged & host-only networking), vboxnet (host-only adapter), vboxusbmon (USB monitor), vboxusb (USB client).

/platform/i86pc/kernel/drv/       (32-bit drivers and .conf files)
/platform/i86pc/kernel/drv/amd64  (64-bit drivers)

And then run as root/sudo:

vboxconfig.sh --setupdrivers

The config script only (re)loads drivers that are found in the appropriate locations (don't forget to copy the ".conf" files).

Finally, you can start one of the frontends, e.g.

./VirtualBox
Note: See TracWiki for help on using the wiki.

© 2023 Oracle
ContactPrivacy policyTerms of Use