These are notes for my work on playing with OpenLink Virtuoso 5.0.7 on Windows Vista.
- In order to get the pre-built java binary to run you need to have jdk1.4 installed and %JAVA_HOME%/jre/bin/server/jvm.dll in your path. It won't run on later JDKs. Building it with JDK 1.6 is on my list in the future.
- I see that they've got the jdbc drivers in their binary now. You used to have to grab it from the CVS tree.
- The Window's installation documentation is very out of date and obviously written for the commercial version which has an installer. In the open source you simply unzip it. This confusion is evident throughout the Virtuoso sites. It's easy to get lost in the commercial side and it's not clear which is which or why.
To install as a service- Make sure that you've got %VIRTUOSO_HOME%\bin on your path.
- Open an administrator console and cd to %VIRTUOSO_HOME%\database.
This is so that it can see your virtuoso.ini file. (You can run it from
anywhere if you point to the config file you want to use with the +configfile flag.)
- Pick which binary you're going to use. I'm using the one with Java embedded.
- $> virtuoso-javavm-t +service create -I yourservicename
- to verify that it is installed run
$> virtuoso-javavm-t +service list
You should see it listed. - WARNING: If at some point if you start the service using the Windows Services Control Panel and it instantly stops with the error message "The OpenLink Virtuoso Server [servicename] service on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs." You will need to go into the %VIRTUOSO_HOME%\databases directory and delete the files virtuoso.trx and virtuoso.lck in order to get the service to start. Running the instance in the foreground will give you the error messages you need in order to learn this. This can happen on a system crash so if you have the service set to automatic it will not start and will not add anything to the error logs.
Dealing with the JDK 1.4 reqThe
virtuoso-javavm-t binary requires JDK 1.4 be on your PATH in order to run. Eclipse Ganymede requires jdk 1.5. I've set up bat files that run as administrator that do the Vista equivalent of a virtual symlink so that I can easily pivot between JDK 1.4 and 1.6. (Set this up for back when Mule ESB required that you build it with 1.4)
# jdk1.6.bat
RMDIR C:\opt\java
mklink /d C:\opt\java C:\opt\Sun\jdk\jdk1.6.0_05\fastdebug
# jdk1.4.bat
RMDIR C:\opt\java
mklink /d C:\opt\java C:\opt\Sun\j2sdk1.4.2_16
Both need to run as administrator.
Building OpenLink Virtuoso from SourceGeneral Comments- Seems like overkill to require cygwin and then have ActivePerl and ActivePython as optional dlls in the build. Why not look for the one's that come with Cygwin?
Building OpenSSL- openssl-0.9.8h died a horrible death. Comment online pointed to the latest dev branch as warned in the readme.
- Make sure to run Visual Studio as Administrator (add shortcut on desktop then change properties to do so.)
- Addition to the steps: You need to add nasm to your path in the VC++ shell before trying to build.
- Was able to get it to build using the latest dev snapshot openssl-SNAP-20080719.
Building PHP 5 SAPI module for Virtuoso- Gahh - Nightmare build. Requires Visual Studio Express 2008 for C++. In a way this is good since it used to require the commercial VS. I guess the lesson in this is to not use Windows.