32 bit Virtualbox and binary install help

Update --

VirtualBox for 32 bit x86 OpenSolaris host is now available for download at virtualbox.org

32 bit VirtualBox

My previous blog entry gave instructions for building a 64 bit version of VirtualBox on OpenSolaris. To get the 32 bit version some simple changes have to be applied to the instructions.

  • Do this on a system booted in 32 bit mode.
  • In the configure step for libqt, change "solaris-g++-64" to "solaris-g++".
  • Every place that says "/opt/qt64", should be "/opt/qt32" or whatever you'd rather use.

Binary Install Instructions

Also people have been asking for directions on how to install the 64 bit binary download for OpenSolaris available at virtualbox.org. This should work:

joe% gunzip VirtualBox-opensolaris-amd64-1.5.51-r28040-beta1.gz
joe% su
Password:
# pkgadd -d ./VirtualBox-opensolaris-amd64-1.5.51-r28040-beta1
...
# exit

Now you just need to modify your environment and run VirtualBox:

joe% setenv PATH /opt/VirtualBox:/opt/VirtualBox/qtgcc/bin:${PATH} 
joe% setenv LD_LIBRARY_PATH /opt/VirtualBox:/opt/VirtualBox/qtgcc/lib:${LD_LIBRARY_PATH} 
joe% VirtualBox
Comments:

Have you considered setting LD_FLAGS to enable the runpath to be compiled into the app? Setting LD_LIBRARY_PATH == Evil.

Posted by guest on February 13, 2008 at 02:36 AM PST #

One hint for the installation of the binary (beta):

It's important to do the pkgadd while booted in 64 Bit mode. Otherwise the postinstall script will not install the necessary driver for VirtualBox.

To check if the driver is loaded execute:

modinfo | grep vboxdrv

If you accidently did a pkgadd while booted in 32 Bit just reinstall the package after booting to 64 Bit mode.

And I think the setenv commands are not necessary because VirtualBox is a script that prepares the environment for the VirtualBox binary before calling it.

Posted by Bernd Schemmer on February 13, 2008 at 04:15 AM PST #

For the binary package installation we provide in VirtualBox.org, none of the Qt stuff or setting LD_LIBRARY_PATH is required.

All that is required is:
pkgadd -d ./VirtualBox-opensolaris-amd64-1.5.51-r28040-beta1

Then once install is complete just type "VirtualBox" in a terminal.

Also more detailed install and usage instructions is provided in the User Manual downloadable from vitualbox.org.

@Bernd Schemmer:
IMHO, cat /etc/name_to_major | grep vboxdrv is a better way to check if the driver is loaded. Because, once you reboot, unless you start VirtualBox the driver is not actually active (modload) and hence would not appear in modinfo's output.

Posted by Ramshankar on February 13, 2008 at 02:04 PM PST #

this is great!

do you have a link to the 32bit binary or could you push a copy up to virtualbox.org so all and sundry can have a 1 step install...

again... hats off to you for your work and sun on this acquisition!

Posted by Phil on February 13, 2008 at 09:43 PM PST #

Unfortunately I can't redistribute the 32 bit binary yet due to all
the hoops I'd have to jump through to clear a legal review of a new
opensource download at Sun.Once the innotek acquisition is complete,
that'll be a non-issue.

As for LD_LIBRARY_PATH, yes that is evil. I'll help the VirtualBox
team learn how to use ld -R flag with $ORIGIN to avoid relying on it.

Posted by JoeBonasera on February 14, 2008 at 01:33 AM PST #

Since there is no VBoxGuestAdditions.iso for Solaris, here a hint, how to find/add AMD PCnet driver for Vista32 (Vista64 is not supported ;-( ):

mkdir /tmp/bla
cd /tmp/bla
wget http://www.amd.com/us-en/assets/content_type/utilities/V4.51.zip
unzip -U V4.51.zip
rm -f V4.51.zip
mkisofs -l -r -o /tmp/pcnet.iso /tmp/bla

# add the ISO to the VirtualBox :
# File | Virtual Disk Manager | Actions | Add

# bind the ISO to a [running] vista VM instance as CDROM device:
Devices | Mount CD/DVD-ROM | CD/DVD-ROM Image ...

# drivers are now visible on drive D: aka CDROM
# directory WINXP-SIGNEDDRIVER

Start: devmgmt.msc

# Below Other device there should be an entry for an unknown Network device.
# Just right click on it, re-install the driver and choose manually the
# directory mentioned above.

Posted by Jens Elkner on February 15, 2008 at 02:35 AM PST #

Has anyone successfully run VirtualBox on opensolaris?

I installed the package on latest snv build, then created a VM for Solaris. But when I tried to install indiana(via iso image) or snv_79a(via CD-ROM) on that VM, the installation always failed when creating fdisk partitions on virtual disk.

Below are the log when I installed snv_79a(the error messages for indiana were a bit different, but was due to the same issue, I think):

--->8---

configuring boot device
using disk(c0d0) for "rootdisk"
creating Solaris fdisk partion(c0d0)

ERROR: Could not create Solaris fdisk partition(c0d0)

--->8---

Thanks for any help!

Posted by rayx on February 18, 2008 at 05:41 PM PST #

Was trying to build it on x86, getting this error, wondering if you know why?
$ ./configure --build-libxml2
Checking for environment: Determined build machine: solaris.x86, target machine: solaris.x86, OK.
Checking for kBuild: found, OK.
Checking for gcc: found version 3.4.3, OK.
Checking for as86: found version Unknown!, OK.
Checking for bcc: found version , OK.
Checking for iasl: found version 20061011, OK.
Checking for xslt: found, OK.
Checking for pthread: found, OK.
Checking for libIDL: found version 0.8.9, OK.
Checking for zlib: found version 1.2.3, OK.
Checking for libpng: found version 1.2.18, OK.
Checking for SDL: found version 1.2.12, OK.
Checking for X libraries: found, OK.
Checking for Xcursor: found, OK.
Checking for Qt:
Qt not found at "/opt/qt32" or Qt headers not found
Check the file /export/home/sean/vbox/configure.log for detailed error information.

$ tail /export/home/sean/vbox/configure.log
#else
printf(", expected version 3.3.0 or higher\\n");
return 1;
#endif
}
using the following command line:
g++ -O -Wall -o .tmp_out .tmp_src.cc -I/opt/qt32/include -L/opt/qt32/lib -lqt-mt -lpthread
ld: fatal: library -lqt-mt: not found
ld: fatal: File processing errors. No output written to .tmp_out
collect2: ld returned 1 exit status

$ env
...
QTDIR=/opt/qt32
LD_LIBRARY_PATH=/usr/lib:/usr/sfw/lib:/usr/openwin/lib:/opt/qt32/lib
PATH=/usr/bin:/usr/sbin:/sbin:/usr/sfw/bin:/usr/openwin/bin:/opt/qt32/bin

$ ls /opt/qt32
bin include mkspecs plugins translations
doc lib phrasebooks templates
$ ls /opt/qt32/lib
libdesignercore.a libqt.la libqui.prl
libdesignercore.prl libqt.prl libqui.so
libeditor.a libqt.so libqui.so.1
libeditor.prl libqt.so.3 libqui.so.1.0
libqassistantclient.a libqt.so.3.3 libqui.so.1.0.0
libqassistantclient.prl libqt.so.3.3.8 pkgconfig

$ uname -s
SunOS
$ uname -r
5.11

Posted by sean on February 19, 2008 at 12:43 AM PST #

rayx - some people have had that problem when using the fixed size disk in VirtualBox,
use the dynamically expanding image option instead.

sean - you need to need to edit the "configure" script and change the line in it
that sets QTDIR I mention that in my previous blog entry. Set it to \*only\* our version
of QT.

Posted by JoeBonasera on February 20, 2008 at 06:50 AM PST #

Post a Comment:
Comments are closed for this entry.
About

JoeBonasera

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
News

No bookmarks in folder

Blogroll

No bookmarks in folder