BIND 8.2.1 compile problems on SCO3.2v4.2

Matthew H. North ctsmhn at cts.com
Wed Oct 6 18:40:28 UTC 1999


Thanks for the input!  I think I've determined the problem.

I followed your instructions below to test whether ranlib was truncating the
archive.  Turns out the answer is no because I got the following error:

ranlib: ../../lib/libbind.a: not an x.out archive

Which would indeed indicate an incompatibility between ar and ranlib on the
machine.

So I followed your instructions in changing Makefile.set to set
RANLIB='false'.  I then started over.

This time, near the beginning of the make process I saw it give an error when
apparently attempting to run 'false' as if it were the ranlib binary!  Out of
curiosity, I changed RANLIB='true' again and carefully watched make output.
This time, no error, but it *did* use 'true' as if it were the ranlib library.
I then tried 'true' from the command line, and there is indeed some program
called 'true', which is why I didn't catch this problem before - true was
running successfully.

Here it is:

[sd] ctsops[306]>make
Using .systype
Using .settings
/usr/ctsops/ctsmhn/bind/src/include
/usr/ctsops/ctsmhn/bind/src/include/arpa
/usr/ctsops/ctsmhn/bind/src/include/isc
/usr/ctsops/ctsmhn/bind/src/port
/usr/ctsops/ctsmhn/bind/src/port/sco42
/usr/ctsops/ctsmhn/bind/src/port/sco42/include
/usr/ctsops/ctsmhn/bind/src/port/sco42/include/sys
        cc  -O -I../../port/sco42/include -I../../include -c sco_gettime.c
sco_gettime.c
        : ld -x -r sco_gettime.o && : mv a.out sco_gettime.o
        cc  -O -I../../port/sco42/include -I../../include -c ansi_realloc.c
ansi_realloc.c
        : ld -x -r ansi_realloc.o && : mv a.out ansi_realloc.o
        ar cru ../../lib/libbind.a  sco_gettime.o ansi_realloc.o 
        true ../../lib/libbind.a  <***************************************
/usr/ctsops/ctsmhn/bind/src/lib
/usr/ctsops/ctsmhn/bind/src/lib/resolv

So I guess my next question is: what mechanism is failing to use the RANLIB
argument in Makefile.set properly?

All of this makes me wonder whether this system is a reliable development
environment.

Matthew H. North
Programmer/Engineering
  ___  ____  ___
 /      /   /__   Network | Tel 858/637-3600 | Mail: ctsmhn at cts.com
/__    /   ___/  Services | Fax 858/637-3630 | WWW: http://www.cts.com
 

On 1 Oct 1999 13:49:53 -0700, Joseph S D Yao <jsdy at cospo.osis.gov> wrote:

>> I am attempting to compile bind on SCO3.2v4.2.  I've made numerous changes
>> to affect positive changes to the build, but I have now reached a
>> stand-still.
>
>What is the current version of SCO Unix?  I see builds for 4.2 and 5.0,
>but not 3.2.  The SCO Web page is no help - UnixWare 7 vs SCO UnixWare
>2.1 vs. SCO Open Server 5 vs. ... ?
>
>> At some point in the build, something makes libbind_r.a, however, it makes
>> it wrong and later in the build, when ar is used to add object files to this
>> library, it fails with the following:
>> 
>>         ar cru ../../../lib/libbind_r.a  nsap_addr.o inet_addr.o inet_ntop.o
>> inet_pton.o  inet_ntoa.o inet_neta.o inet_net_ntop.o inet_net_pton.o
>> inet_cidr_ntop.o inet_cidr_pton.o  inet_lnaof.o inet_makeaddr.o inet_netof.o
>> inet_network.o  ; \
>>         : ../../../lib/libbind_r.a )
>> ar: malformed archive (at 2147482479)
>...
>
>Interesting.  Does it only do this for the 'inet' directory, or is this
>the middle of several?
>(SUBDIRS = resolv irs isc bsd inet nameser dst cylink dnssafe)
>
>2147482479 16op
>7FFFFB6F
>
>I wonder whether it hit a file size limit?
>
>...
>> When I look at libbind_r.a after the build, it's only 8 bytes in length,
>> containing: 21 3c 61 72 63 68 3e 0a ("!<arch>", with the last character
>> being unprintable).
>> 
>> Interestingly, if I try to run the ar command to manually add any of the
>> objects that failed to be added, I get the same "malformed archive" error,
>> as above.  However, if I zero the file and attempt to run ar on the lib
>> again, it succeeds without error.
>
>Object files are added to the archive file from the above SUBDIRS, in
>order.  Again, possibly a file size limit.
>
>My first thought was that you might have incompatible versions of 'ar'
>and 'ranlib'.  The "!<arch>" is the header for modern [ELF, I think]
>versions of 'ar'.  Please do this: use 'ar' to make an archive.  Do an
>'od -c (archive-name) | more' to see whether that string is in fact at
>the start of the archive.  Then do a 'ranlib (archive-name)'.  Then do
>the 'od' again, to see (a) if that string is there and (b) whether
>there is anything else after the string!
>
>If, in fact, it is 'ranlib' that is truncating the archive, you will
>have to go back to the port/sco??/Makefile.set and set "RANLIB" to
>"false".  Then go back, do a 'make clean', and start over again from
>the top.
>
>--
>Joe Yao				jsdy at cospo.osis.gov - Joseph S. D. Yao
>COSPO/OSIS Computer Support					EMT-B
>-----------------------------------------------------------------------
>This message is not an official statement of COSPO policies.
>



More information about the bind-users mailing list