SOLARIS note, from Wilson Cheung:


   numeric-24.2 fails to compile under Solaris due to conflicting
   parameter types for the gettimeofday() function:

   Relevant compile log output:
   gcc -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -IInclude -IPackages/FFT/Include -IPackages/RNG/Include -I/ucsdmath/localhost/src/sage-0.10.3/local/include/python2.4 -c Packages/RNG/Src/ranf.c -o build/temp.solaris-2.10-sun4u-2.4/Packages/RNG/Src/ranf.o -DHAVE_CONFIG
   Packages/RNG/Src/ranf.c: In function %Gï¿½%@Mixranf%Gï¿½%@:
   Packages/RNG/Src/ranf.c:153: error: conflicting types for %Gï¿½%@gettimeofday%Gï¿½%@
   /usr/include/sys/time.h:398: error: previous declaration of %Gï¿½%@gettimeofday%Gï¿½%@ was here
   error: command 'gcc' failed with exit status 1


   Apparently, ran.f tries to redeclare it as:

   int gettimeofday(struct timeval *tv, struct timezone *tz);


   which is the same as the way Linux normally declares it.


   However, Solaris 10 declares it as:

   int gettimeofday(struct timeval *tp, void *tzp);


   A "man gettimeofday" on Solaris 10 says "The tzp argument to
   gettimeofday() and settimeofday() is ignored."


   And Solaris 8 declares it as:

   int gettimeofday(struct timeval *tp, void *);


   A "man gettimeofday" on Solaris 8 says "The second argument to
   gettimeofday() and settimeofday() should be a pointer to NULL."


   One quick way to fix it would be to change line 152 in
   "numeric-24.2/Packages/RNG/Src/ranf.c" FROM:

   #if !defined(__sgi)

   TO:
   #if !defined(__sgi) && !defined(__sun__) && !defined(__sun)


   so it'll just continue to use the OS-provided global declaration
   previously loaded via "#include <sys/time.h>" but maybe the numeric
   authors might want to add more detailed portability code for each OS.


