GCC Frequently Asked Questions
George Tourlakis
tgeorge@yorku.ca
Wed Jul 5 17:47:00 GMT 2000
Well, I tried!
I tried to compile the gcc-2.95.2 distribution.
I have a dual developer environment (Next 3.3 and Openstep 4.2,
both running under Openstep 4.2) [Intel]
A shell routine adjusts links so that one or the other is selected.
I also have gcc 2.81 installed.
History:
I compiled 2.81 (in the past--practically as soon
as it was posted) under NS 3.3 (would not compile under
NS 4.2 giving bus error at some point)
The present:
None of the systems above manage to compile gcc 2.95.2
Under NS 4.2 I get bus error (while compiling/linking cse.o)
The compiler used is the native NS 4.2, i.e., "NeXT Software, Inc. version
cc-744.13, gcc version 2.7.2.1"
Under NS 3.3 both the native one (gcc 2.5.8) and gcc 2.8.1
end up with the same error:
Namely,
stage1/xgcc -Bstage1/ -B/usr/local/gcc/i386-next-nextstep4/bin/ -c -DIN_GCC
-O2 -g -DHAVE_CONFIG_H -I. -I../../gcc-2.95.2/gcc
-I../../gcc-2.95.2/gcc/config -I../../gcc-2.95.2/gcc/../include
../../gcc-2.95.2/gcc/../../gcc-2.95.2/gcc/cse.c
/usr/tmp/ccOD3tex.s:16629:no such 386 instruction: `setc'
make[1]: *** [cse.o] Error 1
make[1]: Leaving directory `/disk_2/User/gt/GCC/obj-gcc/gcc'
make: *** [bootstrap] Error 2
make: Leaving directory `/disk_2/User/gt/GCC/obj-gcc/gcc'
100.620u 13.420s 2:47.64 68.0% 0+0k 436+10342io 0pf+0w
Actually, running 2.8.1 carelesly I get the error
cc -traditional-cpp -DIN_GCC -g -DHAVE_CONFIG_H -o xgcc gcc.o
gccspec.o intl.o \
prefix.o version.o obstack.o ../libiberty/libiberty.a
ld: Undefined symbols:
___udivdi3
___umoddi3
make[1]: *** [xgcc] Error 1
make: *** [bootstrap] Error 2
localhost:gcc 112 #
but that is (as you note) that while doing "make bootstrap" inside
the directory "objectdir"/gcc ("objectdir" is where I called configure from)
"make" used the (native) gcc 2.5.8 ("cc") rather than gcc (2.8.1) due to the
insistence of the MAkefile (notwithstanding "configure")
to insert the lines
####host overrides
# Make assignments for compiling on NeXT with their compiler version.
CC=cc -traditional-cpp
OLDCC=cc -traditional-cpp
After I commented theses lines out and remade I went a bit further and
got stuck later (precisely like plain cc 2.5.8) at
/usr/tmp/ccOD3tex.s:16629:no such 386 instruction: `setc'
make[1]: *** [cse.o] Error 1
make[1]: Leaving directory `/disk_2/User/gt/GCC/obj-gcc/gcc'
make: *** [bootstrap] Error 2
I know that NS 3.3 or 4.2 is not "state of the art" when it comes to
compiling, but
(1) It compiled 2.8.1 (using the archaic 2.5.8)
(2) Ostensibly, NS "3.x" will compile 2.95.2
The question is, HOW?
(NB, I did the "multipass thing
cd bld-gcc
make all-texinfo all-bison all-byacc all-binutils all-gas all-ld
cd gcc
make bootstrap
make install-headers-tar
cd ..
make bootstrap3
which is what I am reporting here (the one shot thing, "make bootstrap" from
"objectdir" didn't work either)
Thanks
-------------------------
George Tourlakis
Dept. of Computer Science
York University
Toronto, Ontario
M3J 1P3
voice: 416-736-2100 (66674)
FAX: 416-736-5872
e-mail: gt@cs.yorku.ca (NeXT or MIME mail OK)
OR tgeorge@yorku.ca (NeXT or MIME mail OK)
web: www.cs.yorku.ca/~gt
More information about the Gcc-bugs
mailing list