This is the mail archive of the libstdc++@sourceware.cygnus.com mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: egcs-1.1.1 on FreeBSD-2.2.8 compile problems


Benjamin Kosnik wrote:
> 
> A couple of salient points.
> 
> One: libstdc++-v3 assumes that you have a working compiler system in
> place. From your queries, it appears as if you do not.
> 
> Two: Try this:
> 
> % cat > kill.cpp
> #include <stddef.h>
> 
> wint_t big_bertha;
> 
> <bkoz@loony.cygnus.com> {/nfs/rhino/plate/bkoz/src.libstdc++/src}
> % g++ -H -c kill.cpp
> /nfs/rhino/plate/bkoz/H-x86-egcs/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.93.04/include/stddef.h
> 
> You should be able to compile the above program. If you can't, you might
> want to ask on some BSD-specific or EGCS-specific list for details on how
> to proceed.
> 

Thank you for your quick reply.

I tried the snippet of code, and it wouldn't compile. Now, as you
pointed out, it might be better to ask on BSD or EGCS specific lists,
and I will most probably do it in the following days. But for now, could
I impose on you to take a look at the output that was generated by my
trial ? here goes:


-----------8<---------------8<----------------8<----------------------


bash-2.01$ g++ -v -H -c kill.cpp
Reading specs from
/usr/local/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.60/specs
gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)
 /usr/local/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.60/cpp -lang-c++
-v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91
-Dunix -Di386 -D__FreeBSD__=2 -D__unix__ -D__i386__ -D__FreeBSD__=2
-D__unix -D__i386 -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386)
-Amachine(i386) -D__EXCEPTIONS -H -Asystem(unix) -Acpu(i386)
-Amachine(i386) -Di386 -D__i386 -D__i386__ kill.cpp /var/tmp/ccywPjOK.ii
GNU CPP version egcs-2.91.60 19981201 (egcs-1.1.1 release) (80386, BSD
syntax)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.60/include/g++
 /usr/local/include
 /usr/local/i386-unknown-freebsd/include
 /usr/local/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.60/include
 /usr/include
End of search list.
/usr/include/stddef.h
 /usr/include/machine/ansi.h
 /usr/local/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.60/cc1plus
/var/tmp/ccywPjOK.ii -quiet -dumpbase kill.cc -version -o
/var/tmp/cca6RfOo.s
GNU C++ version egcs-2.91.60 19981201 (egcs-1.1.1 release)
(i386-unknown-freebsd) compiled by GNU C version egcs-2.91.60 19981201
(egcs-1.1.1 release).
kill.cpp:3: syntax error before `;'


-----------8<---------------8<----------------8<----------------------


As you can see, the search path for include files is searched for
stddef.h, first in the egcs-built directory and local paths, then in
/usr/include. Now, there are two stddef.h files on my system. One in
/usr/include, and the other in /usr/include/g++/std which does define
wint_t. Is this simply a problem related to include search paths ?

Also, I'd like to know why, on your system, stddef.h is in an egcs-built
include directory, while on mine, stddef.h is not built and installed as
part of egcs. Is it because when I build egcs, it sees that this file is
already on my system and doesn't need to be built ? If that's the case,
how can I get egcs to build and install ALL the required header files in
a egcs-built directory ?

I am very grateful for your time in helping me solve this. Maybe this
has been slipping thru the cracks of the FreeBSD egcs port for some
time.

Thank you.


-- 
Luc Morin    <luc_m@videotron.ca>
Electrical Engineering Technologist


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]