SUMMARY: SunOS 4.1.1, name server not responding...

By default, Suns come configure to use NIS (Network Information System),
formerly known as YP (Yellow Pages). BUT we are using DNS (Domain Name Server).
As a result, we had to rebuild a brand new shared library file, containing
the necessary routines to handle DNS.
I have received over 25 responses, and some are still comming!!

Thank you, thank you, thank you to all respondants! This is GREAT!

I should first appologize: I did not say we are NOT running NIS. Instead,
we are running DNS (more than half the respondants assumed we were running
NIS, so they suggested recompiling the database with the "-b" flag set. We
don't intend to use NIS, so we didn't load that subsystem.).

My problem was that, by default, Sun's shared libraries are set up to run
NIS, NOT DNS. So I needed to reconstruct my "libc.so.0.15.1" shared library.
The following instructions are what needs to be done (note that there is
an additional step to be done on Sun 4's).

To build that new shared library, you first need to load the
"Shlib Custom" subsystem of SunOS (which, of course, we hadn't done!).
Then the following was done:
- su: become super user.
- cd /usr/lib/shlib.ext: go into the directory into which the
new library will be created.
- mkdir tmp: create a temporary, working directory.
- cd tmp: move into that directory.
- ar x ../libc_pic.a: extract all object files from the library.
- rm __.SYMDEF: as it will be no more needed.
- mv rpc_dtablesize. rpc_dtablesize.o
- mv rpc_commondata. rpc_commondata.o: ar truncates long
filenames.
- mv xccs_multibyte. xccs_multibyte.o: ONLY on a Sun 4.
- ar x /usr/lib/libresolv.a: extract object files from library.
- rm gethostent.o: no longer needed for use with DNS.
- rm strcasecmp.o: no longer needed.
- vi ../lorder-sparc: replace
gethostent.o (line 152 or so)
with
gethostnamadr.o
sethostent.o
res_query.o
res_mkquery.o
res_send.o
res_debug.o
res_comp.o
res_init.o
- cd ..: go into /usr/lib/shlib.ext directory.
- make libc.so: build new shared library. Make sure current directory (.)
is in $path.
- Library name is libc.so.x.y.z. Test the new library by issuing
setenv LD_LIBRARY_PATH /usr/lib/shlib.ext
and issue various telnet and ping commands to make sure the Domain
Name Server is actually used.
- mv libc.so.x.y.z /usr/lib/: move the newly created shared library
in /usr/lib.
- reboot.

If you want to make SURE the new shared library is used, use the "trace"
command, as in "trace date", and look at the output produced.