This document lends a hand in installing Visibroker 3.2 for Java on what Visigenic likes to call "unsupported systems", namely the free Unices {Net,Free,Open}BSD and Linux, and MacOS.
Unfortunately, Visigenic ships its Java ORB with some native binaries for bootstrapping (osagent, locserv, osfind, vbver) and licence stamping of the JARs (stampvb.SunOS); you might consider reminding them politely of the Sun Java "Write Once, Run Anywhere" theme.
Move vbj32.exe to the NT box and install it; let the osagent be installed as NT service (the equivalent to UN*X server daemons). After the successful installation, open "Control Panels":Services and set the osagent to "automatic", then start it.
The NT box must be visible for your workstation on the network.
Unpack vbj32_sol.tar to a temporary dir; this gives you some compressed tar files (Sun does not do gzip) and a Korn shell install script (installvb). Create a temp dir, say "misc_dir", ´cd´ into it and ´tar -zxf ../misc.tar.Z´ for a bunch of files, one of them named "stampvb.SunOS". Rename it, replacing "SunOS" with the output of uname(1) on your system. This is a SunOS/SPARC binary and thus of no use here, but the install script insists on touching it. Move the original ´misc.tar.Z´ out of the way, ´tar -cvf ../misc.tar *´ the directory contents and compress(1) the resulting tar file.
In installvb adjust the PATH and VBPWD variables, fix tar_update_flags if you are installing as root and add a switch entry for your OS with correct tar options, shared lib path and extensions.
For NetBSD/i386 1.3, this looks like
*** installvb 1998/03/27 15:49:22 1.1
--- installvb 1998/03/27 16:03:20
***************
*** 1,7 ****
#!/bin/ksh
# Set correct PATH
! export PATH=/usr/bin:/usr/ucb:.:$PATH
# Create Temporary Directory
WHO=`whoami`
--- 1,7 ----
#!/bin/ksh
# Set correct PATH
! export PATH=/bin:/usr/bin:/usr/local/bin:$PATH:.
# Create Temporary Directory
WHO=`whoami`
***************
*** 12,18 ****
fi
# Set Directory Information
! VBPWD=`/usr/bin/pwd`
VBDIR_DEFAULT=/usr/local/vbroker
# Set Log Filename For Installer
--- 12,18 ----
fi
# Set Directory Information
! VBPWD=`/bin/pwd`
VBDIR_DEFAULT=/usr/local/vbroker
# Set Log Filename For Installer
***************
*** 439,444 ****
--- 439,450 ----
shlib_ext=.so
libpath_var=LD_LIBRARY_PATH
;;
+ NetBSD )
+ tar_view_flags=tf
+ tar_update_flags=xf
+ shlib_ext=.so
+ libpath_var=LD_LIBRARY_PATH
+ ;;
* )
tar_view_flags=tf
tar_update_flags=xf
***************
*** 448,454 ****
# Always extract as the current user
if [ "$WHO" = "root" ]; then
! tar_update_flags="oe${tar_update_flags}"
fi
# Specify correct stamping binary
--- 454,461 ----
# Always extract as the current user
if [ "$WHO" = "root" ]; then
! #tar_update_flags="oe${tar_update_flags}"
! tar_update_flags="${tar_update_flags}"
fi
# Specify correct stamping binary
-- YMMV.
Now, you should be set to cleanly run the installvb script. It asks a few questions, unpacks the tarballs, tries to stamp the jars (and fails because stamp.${YourOS} is not a native binary) and sets up a sh and a csh script to source before you start working.
As it stands now, your freshly installed VB 3.2 will die on the projects in ./java_examples because Visigenic likes to play some copy protection game with the jar files. So, copy the contents of <install dir>/lib on your NT box over to your workstation -- they were stamped correctly during installation.
Sorry, no actual experience yet. We have Macintoshes here, but no Java IDEs, and I do not have an NT box for running osagent in my home net.
Some hints and educated guesses here:
[hf@scree] ~/<2>java_examples/event_bank > vbj Client Hans
org.omg.CORBA.NO_IMPLEMENT[completed=MAYBE, reason=
Could not locate the following object:
repository id : IDL:Bank/AccountManager:1.0
object name : BankManager
]
at com.visigenic.vbroker.orb.ORB.bind(ORB.java:1261)
at com.visigenic.vbroker.orb.ORB.bind(ORB.java:1343)
at com.visigenic.vbroker.orb.ORB.bind(ORB.java:1150)
at Bank.AccountManagerHelper.bind(AccountManagerHelper.java:49)
at Bank.AccountManagerHelper.bind(AccountManagerHelper.java:46)
at Client.main(Client.java:51)
[hf@scree] ~/<2>java_examples/event_bank >
but runs fine as soon as the osagent host is specified
with ´-VBJprop ORBagentAddr=xxx.xxx.xxx.xxx´.
Trademarks are proprietary to whoever currently owns them.
When in doubt, "don´t try this at home". This document comes without any warranty.
This document looks better in XEmacs W3 than in Netscape.
Additions and corrections are most welcome.