Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Feb 1995 19:21:45 +1100
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-bugs@freefall.cdrom.com, freebsd-hackers@freefall.cdrom.com, ponds!rivers@dg-rtp.dg.com
Subject:   Re: drand48 problems persist.
Message-ID:  <199502030821.TAA00593@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>I know several people have indicated they are unable to reproduce
>my reported problems about drand48 (on FreeBSD 2.0R).
>
>However, I'm unable to get drand48 to work on any machine where 2.0R is
>installed.
>...
>---
>extern double drand48();
>
>main()
>{
>        int i;
>        double d;
>
>        for(i=0;i<3072;i++) {
>          d = drand48();
>          if(d >= 1.0) {
>                printf("%lf is greater than 1.0\n", d);
>          }
>        }
>}

The problem seems to be that the libraries shipped with 2.0R don't match
the sources shipped with 2.0.  Fix: rebuild libc.* and everything that
uses drand48.  Sigh.

The key fix was committed to /usr/src/include/stdlib.h a few hours
before the 2.0R release buy the library apparently wasn't rebuilt to
pick up the changes.  I looked at all the relevant timestamps and got
confused.  The library objects seem to be up to date with
/usr/src/include/stdlib.h.  However, they are out of date with
/usr/include/*.h.  Building /usr/include apparently clobbered all the
timestamps.  There seem to be some timezone bugs in isofs/cd9660 and/or
the cdrom.  All the timestamps on the cdrom seem to be wrong by the time
difference between here and California.

There seems to be a another bug getting the correct paths for shared
libraries.  To test for the drand48 bug, I first tried
`cc -o prog prog.c -L/cdrom/filesys/usr/lib/', but there was no problem
because my current libraries were linked to.  The correct libraries are
linked to iff the -static flag is used.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199502030821.TAA00593>