Re: Problem making with Linux 2.0.10 / Redhat 3.03

Juergen Schoenwaelder (schoenw@cs.utwente.nl)
Thu, 5 Sep 1996 07:55:17 +0200

John Blakney <blakney@pacific.vdbs.com> said:

John> I have been trying without success to make Scotty-2.1.1 and
John> .2. When running make I get numerous compile warnings like
John> these:

John> mount_clnt.c: In function ountproc_null_1':
John> mount_clnt.c:18: warning: passing arg 3 from incompatible pointer type
John> mount_clnt.c:18: warning: passing arg 5 from incompatible pointer type

John> This appears to be from the xdr_ variables defined in
John> mount.h.

Ignore these warnings. The problem here is that these modules are
machine generated using rpcgen which is usually not able to create
correct prototypes.

John> The make completes with the abovementioned errors

The message above is a warning and not an error. Passing an
incompatible pointer can be a potential bug (thats why the compiler
issues a warning) but in some cases this is just a problem of old
header files etc.

John> but make install fails with the following message:

John> ./scotty: can't resolve symbol '__dn_skipname'
John> initialization failed: couldn't load file "/usr/local/lib/tnm2.1.2.so":
John> Unable to resolve symbol

John> I looked in tnm2.1.2.so for __dn_skipname and find it to be undefined:

John> # nm /usr/local/lib/tnm2.1.2.so | grep dn_skipname
John> U __dn_skipname

This is a real problem. Your resolver library (which seems to be in
your libc) is quite different from the usual bind resolver library.

You did not say anything about the name and version of your operating
system. It would be interesing to know if this is a general problem or
if it is a problem that only exists in your environment. (If we have
the details, we can also put a comment into the porting.notes file.)

John> If anyone can make any suggestions as to why I can't make and
John> install scotty, I would be most appreciative. I am running a
John> precompiled older version and really want to try some new
John> things.

There are two options. The first one is to install the bind resolver
library on your system. The second option is to extract the
dn_skipname function from the bind resolver library and compile it
into the tnm sources. (You will find an old bind version of this
function in compat/res/res_comp.c.)

Let me know if this helps to get scotty compiled on your system and I
will check if we will just document the problem or work out a more
general solution (like adding a configure check for this funtion or
always using the dns resolver functions from the compat directory).

Juergen

--
Juergen Schoenwaelder schoenw@cs.utwente.nl http://www.cs.utwente.nl/~schoenw
Computer Science Department, University of Twente,   (Fax: +31-53-489-3247)
P.O. Box 217, NL-7500 AE Enschede, The Netherlands.  (Tel. +31-53-489-3678)