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 for you. 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.] |