Need Some Help..

Mark.Andrews at nominum.com Mark.Andrews at nominum.com
Wed Jan 12 12:15:09 UTC 2000


	Firstly, you did not uncomment the relevent section for Solaris.

	Secondly,  Solaris 2.6 came out *after* BIND 4.9.7 was released
	the are some minor changes that need to be made to have it
	compile on Solaris 2.6 / 7 / 8.  From memory Sun declared some
	functions in header files in 2.6 that weren't declared in 2.5.
	Just remove the conflicting declaration.

	I would really recommend getting BIND 8.2.2-P5 and building that
	instead of BIND 4.9.7 as there are known security flaws in BIND
	4.9.7 that are not going to be fixed.

	Mark

> Hello,
> 
> I just recently downloaded BIND 4.9.7 for my SUN Sparc 4 running on Solaris
> 2.6,
> & i seem to have problems compiling it, I get different errors everytime i
> modify the Makefile script.
> 
> I've attached the compilation result when i run make, The C compiler is from
> a SunWorkshop DEMO CD.
> 
> I'd Appreciate it if you guys could guide me through the installation
> process..
> 
> Regards
> Mohan
> 
> 
> -- Attached file included as plaintext by Listar --
> -- File: BIND.txt
> 
> # more BIND.txt
> #ls
> D       Makefile  TODO      conf      include   res
> CHANGES   OPTIONS   bin       contrib   man       shres
> INSTALL   README    compat    doc       named     tools
> # make DST=sun4m.dir links
> + mkdir sun4m.dir
> + cd sun4m.dir
> + ln -s .. SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + mkdir include
> + cd include
> + ln -s ../SRC/include SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + ln -s SRC/netdb.h SRC/resolv.h SRC/arpa .
> + mkdir conf
> + cd conf
> + ln -s ../SRC/conf SRC
> + ln -s SRC/options.h SRC/portability.h .
> + mkdir tools
> + cd tools
> + ln -s ../SRC/tools SRC
> + ln -s SRC/addr.c SRC/dig.c SRC/dnsquery.c SRC/host.c .
> + cp SRC/Makefile .
> + chmod +w Makefile
> + mkdir nslookup
> + cd nslookup
> + ln -s ../SRC/nslookup SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + ln -s SRC/commands.l SRC/debug.c SRC/getinfo.c SRC/list.c SRC/main.c
> SRC/nsloo
> kup.help SRC/pathnames.h SRC/res.h SRC/send.c SRC/skip.c SRC/subr.c .
> + mkdir res
> + cd res
> + ln -s ../SRC/res SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + ln -s SRC/base64.c SRC/gethnamaddr.c SRC/getnetbyaddr.c SRC/getnetbyname.c
> SRC
> /getnetent.c SRC/getnetnamadr.c SRC/herror.c SRC/hostnamelen.c
> SRC/inet_addr.c S
> RC/inet_net_ntop.c SRC/inet_net_pton.c SRC/inet_neta.c SRC/inet_ntop.c
> SRC/inet_
> pton.c SRC/nsap_addr.c SRC/res_comp.c SRC/res_data.c SRC/res_debug.c
> SRC/res_ini
> t.c SRC/res_mkquery.c SRC/res_query.c SRC/res_send.c SRC/sethostent.c .
> + mkdir compat
> + cd compat
> + ln -s ../SRC/compat SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + ln -s SRC/include .
> + mkdir lib
> + cd lib
> + ln -s ../SRC/lib SRC
> + cp SRC/Makefile .
+ chmod +w Makefile
> + ln -s SRC/ftruncate.c SRC/gettimeofday.c SRC/mktemp.c SRC/putenv.c
> SRC/setenv.
> c SRC/setitimer.c SRC/strcasecmp.c SRC/strdup.c SRC/strerror.c SRC/strpbrk.c
> SRC
> /strtoul.c SRC/writev.c .
> + mkdir named
> + cd named
> + ln -s ../SRC/named SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + ln -s SRC/Version.c SRC/db_defs.h SRC/db_dump.c SRC/db_func.h
> SRC/db_glob.h SR
> C/db_glue.c SRC/db_load.c SRC/db_lookup.c SRC/db_reload.c SRC/db_save.c
> SRC/db_s
> ecure.c SRC/db_update.c SRC/named-xfer.c SRC/named.h SRC/ns_defs.h
> SRC/ns_forw.c
>  SRC/ns_func.h SRC/ns_glob.h SRC/ns_init.c SRC/ns_main.c SRC/ns_maint.c
> SRC/ns_n
> cache.c SRC/ns_req.c SRC/ns_resp.c SRC/ns_sort.c SRC/ns_stats.c SRC/ns_udp.c
> SRC
> /ns_validate.c SRC/pathnames.h SRC/storage.c SRC/tree.c SRC/tree.h
> SRC/named.rel
> oad.sh SRC/named.restart.sh SRC/ndc.sh .
> + mkdir shres
> + cd shres
> + ln -s ../SRC/shres SRC
> + mkdir sunos
> + cd sunos
> + ln -s ../../SRC/shres/sunos SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + ln -s SRC/makeshlib SRC/sun-Makefile.patch1 SRC/sun-Makefile.patch2
> SRC/sun-aw
> kfile.patches SRC/sun-lorder-sparc.patches .
> + mkdir netbsd
> + cd netbsd
> + ln -s ../../SRC/shres/netbsd SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + ln -s SRC/makeshlib SRC/lorder-sparc.sed SRC/shlibname.awk .
> + mkdir solaris
> + cd solaris
> + ln -s ../../SRC/shres/solaris SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + mkdir irix
> + cd irix
> + ln -s ../../SRC/shres/irix SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + mkdir linux
> + cd linux
> + ln -s ../../SRC/shres/linux SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + mkdir man
> + cd man
> + ln -s ../SRC/man SRC
> + cp SRC/Makefile .
> + chmod +w Makefile
> + ln -s SRC/dig.1 SRC/dnsquery.1 SRC/gethostbyname.3 SRC/getnetent.3
> SRC/host.1
> SRC/hostname.7 SRC/mailaddr.7 SRC/named-xfer.8 SRC/named.8
> SRC/named.reload.8 SR
> C/named.restart.8 SRC/ndc.8 SRC/nslookup.8 SRC/resolver.3 SRC/resolver.5 .
> # ls
> BSD        Makefile   TODO       conf       include    res        tools
> CHANGES    OPTIONS    bin        contrib    man        shres
> INSTALL    README     compat     doc        named      sun4m.dir
> # cd sun*
> # pwd
> /ftp/sun4m.dir
> # make
> /ftp/sun4m.dir/res
> make[1]: Entering directory `/ftp/sun4m.dir/res'
> cc  -O -g -I../include -I../compat/include  -DUSE_OPTIONS_H -c base64.c
> "base64.c", line 54:  (in preprocessor if): syntax error
> make[1]: *** [base64.o] Error 2
> make[1]: Leaving directory `/ftp/sun4m.dir/res'
> /ftp/sun4m.dir/include
> make[1]: Entering directory `/ftp/sun4m.dir/include'
> /ftp/include/arpa
> make[2]: Entering directory `/ftp/include/arpa'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/ftp/include/arpa'
> make[1]: Leaving directory `/ftp/sun4m.dir/include'
> /ftp/sun4m.dir/compat
> make[1]: Entering directory `/ftp/sun4m.dir/compat'
> /ftp/compat/include
> make[2]: Entering directory `/ftp/compat/include'
> /ftp/compat/include/sys
> make[3]: Entering directory `/ftp/compat/include/sys'
> make[3]: Nothing to be done for `all'.
> make[3]: Leaving directory `/ftp/compat/include/sys'
> make[2]: Leaving directory `/ftp/compat/include'
> /ftp/sun4m.dir/compat/lib
> make[2]: Entering directory `/ftp/sun4m.dir/compat/lib'
> cc   -O -g -I../../include -I../../compat/include  -c mktemp.c
> "mktemp.c", line 67:  (in preprocessor if): syntax error
> "./../../conf/portability.h", line 170:  (in preprocessor if): syntax error
> make[2]: *** [mktemp.o] Error 2
> make[2]: Leaving directory `/ftp/sun4m.dir/compat/lib'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/ftp/sun4m.dir/compat'
> /ftp/sun4m.dir/named
> make[1]: Entering directory `/ftp/sun4m.dir/named'
> cc  -O -g -I../include -I../compat/include -D_PATH_XFER=\"/usr/libexec/named
> -xfe
> r\" -D_PATH_PIDFILE=\"/var/run/named.pid\" -DKSYMS=\"\" -DKMEM=\"\" -DUDPSUM
> =\"\
> "   -c db_dump.c -o db_dump.o
> "../include/resolv.h", line 65:  (in preprocessor if): syntax error
> "./../conf/portability.h", line 170:  (in preprocessor if): syntax error
> "./pathnames.h", line 74: Can't find include file paths.h
> make[1]: *** [db_dump.o] Error 2
> make[1]: Leaving directory `/ftp/sun4m.dir/named'
> /ftp/sun4m.dir/tools
> make[1]: Entering directory `/ftp/sun4m.dir/tools'
> cd nslookup; make "CC=cc " "LEX=lex -I" "CDEBUG=-O -g" "SHELL=/bin/sh"
> "INCL=../
> ../include" "RES=../../res/libresolv.a" "LIBS=-ll -lutil" "LDFLAGS="
> "DESTDIR="
> "PIDDIR=/var/run" "DESTMAN=/usr/share/man" "DESTBIN=/usr/bin"
> "DESTSBIN=/usr/sbi
> n" "DESTEXEC=/usr/libexec" "DESTLIB=/usr/lib" "DESTINC=/usr/include"
> "RANLIB=ran
> lib" "COMPINCL=../../compat/include" "DESTHELP=/usr/share/misc"
> "COMPLIB=../../c
> ompat/lib/lib44bsd.a" "INSTALL=install" "CPPFLAGS="
> make[2]: Entering directory `/ftp/sun4m.dir/tools/nslookup'
> cc  -O -g -I../../include -I../../compat/include -D_PATH_HELPFILE=\"/usr/sha
> re/m
> isc/nslookup.help\"   -c main.c -o main.o
> "./../../conf/portability.h", line 170:  (in preprocessor if): syntax error
> make[2]: *** [main.o] Error 2
> make[2]: Leaving directory `/ftp/sun4m.dir/tools/nslookup'
> make[1]: *** [nslookup] Error 2
> make[1]: Leaving directory `/ftp/sun4m.dir/tools'
> /ftp/sun4m.dir/man
> make[1]: Entering directory `/ftp/sun4m.dir/man'
> ( INDOT_U=`echo ""|tr "[a-z]" "[A-Z]"`; export INDOT_U; XFER_INDOT_U=`echo
> ""|tr
>  "[a-z]" "[A-Z]"`; export XFER_INDOT_U; CMD_EXT_U=`echo "1"|tr "[a-z]"
> "[A-Z]"`;
>  export CMD_EXT_U; SYS_OPS_EXT_U=`echo "8"|tr "[a-z]" "[A-Z]"`; export
> SYS_OPS_E
> XT_U; LIB_NETWORK_EXT_U=`echo "3"|tr "[a-z]" "[A-Z]"`;
> .
> .
> .
> {LIB_C_EXT_U}/g" | ( tbl | nroff -man ) ) <mailaddr.7 >mailaddr.out7
> make[1]: Leaving directory `/ftp/sun4m.dir/man'
> # make install
> /ftp/sun4m.dir/res
> make[1]: Entering directory `/ftp/sun4m.dir/res'
> cc  -O -g -I../include -I../compat/include  -DUSE_OPTIONS_H -c base64.c
> "base64.c", line 54:  (in preprocessor if): syntax error
> make[1]: *** [base64.o] Error 2
> make[1]: Leaving directory `/ftp/sun4m.dir/res'
> /ftp/sun4m.dir/include
> make[1]: Entering directory `/ftp/sun4m.dir/include'
> /ftp/include/arpa
> make[2]: Entering directory `/ftp/include/arpa'
> set -x; for x in inet.h nameser.h; do \
>         install -c -m 444 $x /usr/include/arpa/$x; \
> done
> + install -c -m 444 inet.h /usr/include/arpa/inet.h
> + install -c -m 444 nameser.h /usr/include/arpa/nameser.h
> make[2]: Leaving directory `/ftp/include/arpa'
> + install -c -m 444 netdb.h /usr/include/netdb.h
> + install -c -m 444 resolv.h /usr/include/resolv.h
> make[1]: Leaving directory `/ftp/sun4m.dir/include'
> /ftp/sun4m.dir/compat
> make[1]: Entering directory `/ftp/sun4m.dir/compat'
> compat/ is not installed by default
> make install-compat if you really need this
> make[1]: Leaving directory `/ftp/sun4m.dir/compat'
> /ftp/sun4m.dir/named
> make[1]: Entering directory `/ftp/sun4m.dir/named'
> install -c -s -o bin -g bin -m 555 \
>         named /usr/sbin/named
> install: named: No such file or directory
> make[1]: *** [install] Error 1
> make[1]: Leaving directory `/ftp/sun4m.dir/named'
> /ftp/sun4m.dir/tools
> make[1]: Entering directory `/ftp/sun4m.dir/tools'
> /ftp/sun4m.dir/tools/nslookup
> make[2]: Entering directory `/ftp/sun4m.dir/tools/nslookup'
> install -s -c -o bin -g bin -m 755 nslookup /usr/bin/
> install: nslookup: No such file or directory
> make[2]: *** [install] Error 1
> make[2]: Leaving directory `/ftp/sun4m.dir/tools/nslookup'
> make[1]: *** [install] Error 2
> make[1]: Leaving directory `/ftp/sun4m.dir/tools'
> /ftp/sun4m.dir/man
> make[1]: Entering directory `/ftp/sun4m.dir/man'
> N=1
> + install -c -m 444 dig.out1 /usr/share/man/cat1/dig.0
> + install -c -m 444 host.out1 /usr/share/man/cat1/host.0
> + install -c -m 444 dnsquery.out1 /usr/share/man/cat1/dnsquery.0
> N=8
> + install -c -m 444 named.out8 /usr/share/man/cat8/named.0
> + install -c -m 444 named.reload.out8 /usr/share/man/cat8/named.reload.0
> + install -c -m 444 named.restart.out8 /usr/share/man/cat8/named.restart.0
> + install -c -m 444 ndc.out8 /usr/share/man/cat8/ndc.0
> N=8
> + install -c -m 444 named-xfer.out8 /usr/share/man/cat8/named-xfer.0
> N=8
> + install -c -m 444 nslookup.out8 /usr/share/man/cat8/nslookup.0
> N=3
> + install -c -m 444 gethostbyname.out3 /usr/share/man/cat3/gethostbyname.0
> + install -c -m 444 resolver.out3 /usr/share/man/cat3/resolver.0
> + install -c -m 444 getnetent.out3 /usr/share/man/cat3/getnetent.0
> N=5
> + install -c -m 444 resolver.out5 /usr/share/man/cat5/resolver.0
> N=7
> + install -c -m 444 hostname.out7 /usr/share/man/cat7/hostname.0
> + install -c -m 444 mailaddr.out7 /usr/share/man/cat7/mailaddr.0
> make[1]: Leaving directory `/ftp/sun4m.dir/man'
> #
> #
> # more Makefile
> # Makefile for BIND>=4.9 top level
> # vixie at decwrl December, 1992 [original]
> #
> # $Id: Makefile,v 8.53 1998/05/11 04:19:41 vixie Exp $
> 
> ## Copyright (c) 1989
> ##    The Regents of the University of California.  All rights reserved.
> .
> .
> 
> VER = 4.9.7-REL
> SHELL = /bin/sh
> MAKE = make
> DESTDIR =
> 
> INCL = include
> RES = res/libresolv.a
> COMPLIB = compat/lib/lib44bsd.a
> 
> # The default build parameters are given for 4.4 BSD.  They should
> # be overridden for other operating systems as indicated below.
> 
> #(BSD4.4, BSD/OS, FreeBSD, NetBSD, other net2-alikes)
> #
> # DO NOT COMMENT THESE OUT.  OVERRIDE THEM BELOW.
> #
> CC = cc $(CPPFLAGS)
> LDFLAGS =
> CDEBUG = -O -g
> CPPFLAGS=
> INDOT =
> XFER_INDOT =
> LEX = lex -I
> LIBS = -ll -lutil
> PIDDIR = /var/run
> DESTBIN = /usr/bin
> DESTSBIN = /usr/sbin
> DESTEXEC = /usr/libexec
> DESTMAN = /usr/share/man
> DESTHELP = /usr/share/misc
> DESTLIB = /usr/lib
> DESTINC = /usr/include
> COMPINCL = compat/include
> LDS =
> CATEXT = 0
> INSTALL_COMPAT = install
> INSTALL = install
> RANLIB = ranlib
> AR = ar cru
> MANROFF = ( tbl | nroff -man )
> MANDIR = cat
> PS = ps
> IOT = ABRT
> SHCC =
> SHLD =
> PIC =
> 
> # (NetBSD - for details on shared library building, see
> shres/netbsd/INSTALL)
> .
> #(Linux - on modern systems, all you need to do is rename or remove
> .
> #(CRAY)
> .
> #(DEC AXP OSF/1 Version 2.1 and earlier)
> .
> #(DEC AXP OSF/1 Version 3.0 and after)
> .
> 
> #(irix4)
> .
> #(irix5 and irix6.2)
> .
> #(sunos4.x)
> .
> #(ULTRIX/RISC - also see below)
> .
> #(ULTRIX, other 4.[23]bsd-alikes)
> .
> #(solaris2.x/sunos5.x)
> #be careful with installation - note in particular that the system ships
> #with /usr/sbin/in.named (with in.) and /usr/sbin/named-xfer (without in.)
> #to emulate this naming, INDOT should be set to 'in.' while XFER_INDOT
> #should be empty. also, under solaris2.x, use 'make install' at your own
> risk.
> #don't include sys/stream.h via netinet/in.h by defining _SYS_STREAM_H.
> #->and note that sun moved their nslookup to /usr/sbin for some odd reason;
> #  when you install this one in /usr/bin you should delete sun's or else you
> #  will get confusing results since you never know which nslookup you're
> using.
> #PIDDIR = /etc
> #LEX = lex
> #uncomment next line for Sun C compiler
> #CC = /opt/SUNWspro/bin/cc $(CPPFLAGS) -R$(DESTLIB)
> #uncomment next two lines for GNU C compiler
> #CC = gcc $(CPPFLAGS)
> #LDFLAGS=-Xlinker -R$(DESTLIB)
> #otherwise uncomment the next line and hope for the best
> #CC = cc $(CPPFLAGS)
> #CDEBUG = -g
> #CPPPFLAGS = -DSVR4 -D_SYS_STREAM_H -DMAXHOSTNAMELEN=256
> #CPPFLAGS = $(CPPPFLAGS) $(SOLCOMPAT)
> #INDOT = in.
> #XFER_INDOT =
> #LIBS = -ll -lnsl -lsocket
> #DESTEXEC = /usr/sbin
> #DESTHELP = /usr/lib
> #INSTALL_COMPAT = install-compat
> #LDS = :
> #INSTALL = /usr/ucb/install
> #RANLIB = :
> #ARPREF = `lorder
> #ARSUFF = | tsort`
> #MANDIR = man
> #MANROFF = cat
> #CATEXT = $$$$N
> #PS = ps -p
> #IOT = IOT
> #uncomment next line for link-compatibility with Solaris resolver library
> #SOLCOMPAT = -Dgethostbyname=res_gethostbyname \
> #       -Dgethostbyaddr=res_gethostbyaddr -Dgetnetbyname=res_getnetbyname \
> #       -Dgetnetbyaddr=res_getnetbyaddr -Dsethostent=res_sethostent \
> #       -Dendhostent=res_endhostent -Dgethostent=res_gethostent \
> #       -Dsetnetent=res_setnetent -Dendnetent=res_endnetent \
> #       -Dgetnetent=res_getnetent
> # for details on shared library building, see shres/solaris/INSTALL
> #uncomment next line to build a shared library version of libresolv
> #SHRES = shres/solaris
> #uncomment next line to build tools and named with shared libresolv
> #if you do so, you *must* define SOLCOMPAT as well (and it must be in
> CPPFLAGS)
> #RES = $(SHRES)/libresolv.so
> # uncomment only one of the triplets of lines below
> # -- if you use gcc (recommended)
> #    (if -fpic doesn't work, see shres/solaris/ISSUES)
> #SHCC = gcc -B/usr/ccs/bin/ $(CPPPFLAGS)
> #PIC= -fpic
> #SHLD = /usr/ccs/bin/ld -G
> # -- if you use Sun's cc
> #SHCC = /opt/SUNWspro/bin/cc $(CPPPFLAGS)
> #PIC = -Kpic
> #SHLD = /opt/SUNWspro/bin/cc -G
> 
> #(hpux7.0,hpux8.0,hpux9.0,)
> .
> #(hpux10.10)
> .
> #(apollo domainos)
> .
> #(AIX3)
> .
> #(AIX4)
> .
> # (ConvexOS-10.x)
> .
> 
> #(NEC EWS4800 EWS-UX/V Rel4.0/Rel4.2,UX/4800)
> .
> 
> # SCO OSE5, SCO ODT 3.0, SCO Unix 3.2v4.2
> .
> 
> #(UNIXWARE)
> .
> 
> #(NeXTstep 2.0ff, single architecture make)
> .
> 
> #(NeXTstep 3.3 Multi Architecture Binaries)
> .
> #(Pyramid dcosx)
> .
> 
> #(Sequent Dynix/PTX)
> .
> 
> #(dgux)
> .
> 
> #(epix) Has to be compiled and loaded with -systype bsd43
> .
> 
> #Mips RISC/os 4.52
> .
> 
> #Esix SVR4.0.4 with gcc
> .
> 
> #(ISC4.0 using GCC)
> .
> 
> # AUX 3.x (I used 3.1.1)
> .
> 
> #NCR System V/MLS
> .
> 
> #NCR System Vr4.3 3.x
> .
> 
> #NCR System Vr4.3-3.0
> 
> 
> #NCR System Vr4.3-2.03
> .
> 
> #(UXP/DS)
> .
> 
> #(MOTOROLA Rel FH40.4x ,m88k)
> .
> 
> ####################################################################
> ############ no user servicable parts beyond this point ############
> ####################################################################
> 
> MANARGS = \
>         "SHELL=${SHELL}" "INDOT=${INDOT}" "XFER_INDOT=${XFER_INDOT}" \
> .
> .
> .
> gcc2-lint: FRC
>         @-make CC="gcc2 -Wall -Wno-comment -Wno-parentheses -Dlint" all \
>                 2>&1 | grep '\.[ch]:[0-9]'
> 
> FRC:
> #
> 
> 
> 
> ---
> 
> 
> 
--
Mark Andrews, Nominum Inc. / Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark.Andrews at nominum.com



More information about the bind-users mailing list