*BSD News Article 23416


Return to BSD News archive

Newsgroups: comp.os.386bsd.questions
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!olivea!news.bu.edu!bloom-beacon.mit.edu!mcrcim.mcgill.edu!sifon!CC.UMontreal.CA!IRO.UMontreal.CA!sarrazin
From: sarrazin@IRO.UMontreal.CA (Pierre Sarrazin)
Subject: Problems compiling libg++ 2.4 on 386bsd-0.1-0.2.3
Message-ID: <CG3rIy.G6q@IRO.UMontreal.CA>
Summary: Conflicting prototypes (unistd.h)
Sender: news@IRO.UMontreal.CA
Organization: Universite de Montreal, Canada
Date: Sun, 7 Nov 1993 03:40:09 GMT
Lines: 46

I have 386bsd 0.1 with patch-level 0.2.3. I have installed g++ 2.4.5
and I'm now trying to compile libg++ 2.4. I extracted the package
in /usr/libg++-2.4, and then I typed
	./configure
	make
as was suggested by the README file. The compilation stops during
the building of AllocRing.cc. There seems to be a conflict between
header files, as can be seen from the following excerpt from the
output of 'make':
 
----------
gcc -c -g -O -nostdinc++ -I. -I../. -I. -I./../iostream -I./../src -I./../g++-include  AllocRing.cc
 
In file included from ./../g++-include/unistd.h:25, from ./std.h:28, from AllocRing.cc:22:
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:134: conflicting types for `int  getpagesize ()'
./../g++-include/memory.h:21: previous declaration of `unsigned int  getpagesize (...)'
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:146: conflicting types for `int  profil (char *, int, int, int)'
./../g++-include/time.h:99: previous declaration of `void  profil (...)'
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:179: conflicting types for `void  usleep (unsigned int)'
./../g++-include/time.h:98: previous declaration of `unsigned int  usleep (unsigned int)'
 
In file included from ./std.h:28, from AllocRing.cc:22:
./../g++-include/unistd.h:68: conflicting types for `int  brk (...)'
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:115: previous declaration of `char * brk (const char *)'
./../g++-include/unistd.h:76: conflicting types for `void  encrypt (...)'
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:121: previous declaration of `int  encrypt (char *, int)'
./../g++-include/unistd.h:118: conflicting types for `void * sbrk (...)'
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:156: previous declaration of `char * sbrk (int)'
./../g++-include/unistd.h:120: conflicting types for `int  syscall (...)'
./../g++-include/unistd.h:120: A parameter list with an ellipsis can't match
./../g++-include/unistd.h:120: an empty parameter name list declaration.
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:175: previous declaration of `int  syscall (int, ...)'
./../g++-include/unistd.h:127: conflicting types for `short int  setpgrp (...)'
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:166: previous declaration of `int  setpgrp (short int, short int)'
./../g++-include/unistd.h:141: conflicting types for `short int  vfork (...)'
/usr/local/lib/gcc-lib/i386-bsd/2.4.5/include/unistd.h:181: previous declaration of `int  vfork ()'
----------
 
Could it be that something like _G_HAVE_UNISTD should be defined,
but is not because ./configure did not make the appropriate detections?
 
Also, the output from 'make' says "CC_FOR_TARGET: not found" three times
during the execution of the commands that precede the compilation of
AllocRing.cc. I'm wondering if this error really should be ignored?
 
Pierre Sarrazin <sarrazin@iro.umontreal.ca>