The good news is that bmake, SSLeay, SSLr* and stelnet all work fine.
# cp bmake/mk/[d-s]*.mk /usr/share/mkI've not yet worked out why, but FreeBSD installs man pages into /usr/share/man/man/man*. Look in sys.mk for conflicts with man.mk
The easy solution is to simply install bmake.
$ BASE=`pwd` $ mkdir /tmp/bmake $ cd /tmp/bmake $ $BASE/bmake/configure $ make -f makefile.boot # make -f makefile.boot installYou may need to use gnu make for the above.
If you really want to, you can use the bmake thus produced to re-build bmake, though I never bother.
$ cd $BASE/bmake $ bmake obj $ bmake # bmake install
These Makefiles use my own macro files which are derrived from the bsd.*.mk macros, if you are not allowed to install bmake/mk/*.mk in /usr/share/mk or /usr/local/share/mk you can use:
bmake -I ${BASE}/bmake/mkFinally, if you do not have the BSD mandoc macros for [nt]roff, or you do not want the man pages formatted, set NOMAN=no in your environment or in Makefile.base
symlink
s named
src pointing off to no where. These should point to the
directories holding the appropriate distribution. For instance:
$ ls -l ssl/bin/rdist/src lrwxrwxr-x 1 sjg wheel 17 Jun 20 1996 ssl/bin/rdist/src@ -> ../../../../rdist-6.1.3 $Obviously you will need these links correct before you can expect to build things like SSLrdist. See other distributions for details on where to get the other distrbutions you might need.
Now just:
$ cd $BASE $ bmake obj $ bmake depend $ bmake # bmake install
I have an arrangement like:
/usr/local/obj -> src/obj.${MACHINE}and then I set
BSDSRCDIR=`cd /usr/local/src; /bin/pwd` BSDOBJDIR=/usr/local/objYou must set BSDSRCDIR with the same value that /bin/pwd produces as otherwise obj.mk will do the wrong thing.
For other systems lib.mk will use the GNU libtool if you set USE_LIBTOOL=yes though this is a bit more limited.
If you do not want shared libraries built, either set NOPIC in Makefile.base or on the command line, or create .nopic in the src or obj directories concerned.
Alternatively if NOARCHIVE is set you can skip building the archive libraries and use just the shared libs. This can save considerable time on non-development systems.
# ln -s /usr/local/lib/libsslfd.so.0.3 /usr/lib/libsslfd.so.0Before the libraries are really usable. Solaris does not really handle shared lib versioning the way that BSD and SunOS do, so we give it just the major version number to look for. Also, in order to link against a shared lib on Solaris you need to create a link like:
# ln -s libsslfd.so.0.3 libsslfd.soOn HP-UX you need to ensure that shared libs are executable!
First unpack all the Quick.com.au packages in a single tree such as /usr/local/src/sjg.
$ mkdir -p /usr/local/src/sjg $ cd /usr/local/src/sjg $ gzcat /tmp/bmake.tar.gz | tar xvf - $ gzcat /tmp/SSLrsh.tar.gz | tar xvf - .. ..Note that I usually export the src tree read-only so on the server I do:
$ cd /usr/local/src/sjg $ bmake obj ===> conf /share/src/sjg/conf/obj -> /usr/local/obj/sjg/conf ... ... $ cd /usr/local/obj $ find sjg -type d -print | cpio -oac | compress > /usr/local/src/sjg/objdirs.C.ZThen on the build system with /usr/local/src NFS mounted read-only:
$ mkdir /tmp/bmake $ cd /tmp/bmake $ /usr/local/src/sjg/bmake/configure $ make -f makefile.boot # make -f makefile.boot install /usr/local/src/sjg/bmake/install-sh -m755 bmake /usr/local/bin test -d /usr/local/share/mk || /usr/local/src/sjg/bmake/install-sh -m775 -d /usr/local/share/mk /usr/local/src/sjg/bmake/install-sh -m644 /usr/local/src/sjg/bmake/mk/[d-s]*.mk /usr/local/share/mk test -s /usr/local/share/mk/bsd.own.mk || /usr/local/src/sjg/bmake/install-sh -m644 /usr/local/src/sjg/bmake/mk/bsd*.mk /usr/local/share/mk test -s /usr/local/share/mk/sys.mk || /usr/local/src/sjg/bmake/install-sh -m644 /usr/local/src/sjg/bmake/mk/`uname`.sys.mk /usr/local/share/mk/sys.mkWith bmake installed we can either run bmake obj, or with the src mounted read-only we:
$ mkdir /usr/local/obj $ cd /usr/local/obj $ zcat ../src/sjg/objdirs.C.Z | cpio -icdOf course /usr/local/obj can be a symlink off to somewhere convenient (eg /var/obj).
Anyway, now you can return to the main game.
With a clean tree you can just:
$ cd /usr/local/src/sjg $ bmakeActually, the first time bmake is invoked it will cause Makefile.base to be created and then tell you to restart make. Also, you will need to be root to install anything as the install macros use chown which is usually restricted to root.
# bmake install
In general it is safest to start with a clean tree. If you have unpacked previous versions of SSLrsh.tar you may have Makefiles or headers present that are not in the current release and will cause you problems. If in doubt just:
$ mv /usr/local/src/sjg /usr/local/src/sjg.old $ mkdir /usr/local/src/sjg $ ... $ ...