|Subject: (5.1) ld.so: Undefined symbol: _dbzwritethrough|
> Everything compiles correctly, but when I try to test rc.local I get: > > hermes# sh /usr/local/etc/rc.news > ld.so: Undefined symbol: _dbzwritethrough > > What am I doing wrong?This means that you are using a $INN/lib/dbz.c file that hasn't been
patched with the $INN/lib/dbz.pch patch.
The patching is automatic. Running "make" should do the patch without
you even noticing. To force the code to be re-patched (i.e. copy the
original to dbz.c and apply the patch to it), simply delete
$INN/lib/dbz.c and run the usual "make". The Makefile does everything
Why might the patch fail and leave you with an unpatched dbz.c?
1) You don't have Larry Wall's (or the FSF's) "patch" program
installed. It is available at ftp://prep.ai.mit.edu/pub/gnu/patch-2.1.tar.gz
2) Most C++ compilers based on USL's cfront come with a program called
"patch" that does something completely different than Larry Wall's (or
the FSF's) "patch" program. If your path is configured so that this
program is found before Larry Wall's (or the FSF's) "patch" program,
you will get an unpatched dbz.c. To fix this, delete $INN/lib/dbz.c,
change your path, and do the usual "make". If this file is deleted the
Makefile will do everything for you.
See also section "5.2 The DBZ package" of the Install.ms document.
[Last Changed: $Date: 1997/09/16 01:25:56 $ $Revision: 2.25 $]
[Copyright: 1997 Heiko Rupp, portions by Tom Limoncelli, Rich Salz, et al.]