Subject: Upgrading from 0.9 to -current (3/15)
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: Douglas K. Rand <rand@Aero.UND.NoDak.Edu>
List: current-users
Date: 03/15/1994 18:14:46
I'm in the process of upgrading from the 0.9 distribution to -current.
Many Thanks to Mike Long and Werner Kuehnert for thier suggestions on
how to go about upgrading as posted to current-users.

Here are the problems I've encountered so far. If anybody has any
suggestions on them, I'd appreciate it. Especially the libg++ problem. 

lib/libc:
   o The stdio/strerror.c doesn't declare a __strerror() function, but
     the one in string/strerror.c does. So I just used the strerror.c
     in the string/ directory.
	string/: $Id: strerror.c,v 1.2 1993/10/09 00:11:01 jtc Exp $
	stdio/:  @(#)strerror.c	5.6 (Berkeley) 5/4/91

lib/librpcsvc:
   o all the .c files reference the .h files in the subdirectory src/.
     I just made all the .c files first, and then edited them by hand.
     (Yes, I know better, but what the hell.)
	$Id: Makefile,v 1.8 1994/01/20 23:04:13 jtc Exp $

usr.bin/crontab:
   o the definition of getuid() in crontab.c doesn't match the one in
     <unistd.h>. (I commented out the prototype in crontab.c.)
   o usr.sbin/cron/cron.h or crontab.c doesn't include <sys/stat.h>
     for the definition of struct stat. (I added it to cron.h)
   o crontab.c references a function VFORK(), which doesn't exist and
     there isn't a #define for VFORK anywhere either. (I changed
     VFORK() to vfork().)
	/b/source/CVS/src/usr.bin/crontab/crontab.c,v 1.3 1993/05/28 08:34:33 cgd Exp

usr.sbin/iostat:
   o iostat.c includes usr.bin/vmstat/names.c which uses X_ISADEVTAB
     but that macro is defined by usr.bin/vmstat/vmstat.c and not in
     iostat.c. (I added the #define to iostat.c)
	$Id: iostat.c,v 1.4 1993/12/06 09:25:14 cgd Exp $

gnu/lib/libg++ and gnu/usr.bin/groff:
   o nothing compiles here, and all the modules seem to give about the
     same errors (groff won't compile either, but I think fixing this
     will solve that) I am using a -current gcc and /usr/include.
===> libg++
g++ -O -I/usr/src/gnu/lib/libg++/libg++ -nostdinc++ -I/usr/src/gnu/lib/libg++/libg++/../g++-include  -I/usr/src/gnu/lib/libg++/libg++/../iostream -c AllocRing.cc 
In file included from /usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:25, from /usr/src/gnu/lib/libg++/libg++/std.h:30, from AllocRing.cc:22:
/usr/include/unistd.h:127: conflicting types for `int  getpagesize ()'
/usr/src/gnu/lib/libg++/libg++/../g++-include/memory.h:21: previous declaration of `unsigned int  getpagesize ()'
/usr/include/unistd.h:139: conflicting types for `int  profil (char *, int, int, int)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/time.h:100: previous declaration of `void  profil (short unsigned int *, unsigned int, unsigned int, unsigned int)'
/usr/include/unistd.h:173: conflicting types for `void  usleep (unsigned int)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/time.h:99: previous declaration of `unsigned int  usleep (unsigned int)'
In file included from /usr/src/gnu/lib/libg++/libg++/std.h:30, from AllocRing.cc:22:
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:69: conflicting types for `int  brk (void *)'
/usr/include/unistd.h:108: previous declaration of `char * brk (const char *)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:81: conflicting types for `void  encrypt (char *, int)'
/usr/include/unistd.h:114: previous declaration of `int  encrypt (char *, int)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:89: conflicting types for `int  exect (const char *, const char **, char **)'
/usr/include/unistd.h:116: previous declaration of `int  exect (const char *, const char **, const char **)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:90: conflicting types for `int  execv (const char *, const const char **)'
/usr/include/unistd.h:66: previous declaration of `int  execv (const char *, const char **)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:91: conflicting types for `int  execve (const char *, const const char **, const const char **)'
/usr/include/unistd.h:67: previous declaration of `int  execve (const char *, const char **, const char **)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:92: conflicting types for `int  execvp (const char *, const const char **)'
/usr/include/unistd.h:68: previous declaration of `int  execvp (const char *, const char **)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:93: conflicting types for `int  fchown (int, short unsigned int, short unsigned int)'
/usr/include/unistd.h:119: previous declaration of `int  fchown (int, int, int)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:108: conflicting types for `int  getgroups (int, short unsigned int *)'
/usr/include/unistd.h:75: previous declaration of `int  getgroups (int, int *)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:142: conflicting types for `void * sbrk (int)'
/usr/include/unistd.h:149: previous declaration of `char * sbrk (int)'
/usr/src/gnu/lib/libg++/libg++/../g++-include/unistd.h:152: conflicting types for `short int  setpgrp (short int, short int)'
/usr/include/unistd.h:160: previous declaration of `int  setpgrp (short int, short int)'
In file included from /usr/src/gnu/lib/libg++/libg++/../g++-include/stdio.h:69, from /usr/src/gnu/lib/libg++/libg++/std.h:31, from AllocRing.cc:22:
/usr/include/stdio.h:274: unrecognized format specifier for `int  snprintf (char *, unsigned int, const char *, ...)'
/usr/include/stdio.h:276: unrecognized format specifier for `int  vsnprintf (char *, unsigned int, const char *, char *)'
/usr/include/stdio.h:278: unrecognized format specifier for `int  vscanf (const char *, char *)'
/usr/include/stdio.h:280: unrecognized format specifier for `int  vsscanf (const char *, const char *, char *)'
In file included from /usr/src/gnu/lib/libg++/libg++/std.h:31, from AllocRing.cc:22:
/usr/src/gnu/lib/libg++/libg++/../g++-include/stdio.h:119: conflicting types for `char * fgets (char *, int, struct __sFILE*)'
/usr/include/stdio.h:204: previous declaration of `char * fgets (char *, unsigned int, struct __sFILE*)'
In file included from /usr/src/gnu/lib/libg++/libg++/std.h:32, from AllocRing.cc:22:
/usr/src/gnu/lib/libg++/libg++/../g++-include/errno.h:13: conflicting types for `sys_errlist'
/usr/include/stdio.h:221: previous declaration of `sys_errlist'

--
Douglas.K.Rand@Aero.UND.NoDak.Edu      Scientific Computing Center
System/Network Administrator           UND Aerospace
Office: +1 701 777 2801                University of North Dakota     
FAX:    +1 701 777 2940                Box 9022, Grand Forks ND  58202-9022


------------------------------------------------------------------------------