This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Building egcs 2.95 on UnixWare 2.1.3
- To: egcs Mailing List <egcs at egcs dot cygnus dot com>
- Subject: Re: Building egcs 2.95 on UnixWare 2.1.3
- From: Warren Young <tangent at mail dot com>
- Date: Fri, 02 Jul 1999 10:53:20 -0600
- Organization: -ENOENT
- References: <3779E4EA.9BEDDBFE@mail.com> <19990630081310.B17422@rjlhome.sco.com>
Robert Lipe wrote:
>
> > because it's building libobjc. This is part of the weird bit, because I
> > passed "--enable-languages=c++" to configure -- shouldn't that exclude
> > Objective C from the build? I also noticed that it successfully built
> > "chill", something else I don't want.
>
> For whatever reason, I think you have doodoo left over in your tree.
> Perhaps they're from your previous build attempts. [ Yes, 'make
> distclean' should clean up after itself but the reality is that it
> doesn't and won't for 2.95. ]
Well, I just did an "rm -rf egcs", then checked the code back out again
and retried the build. Specifically:
bash$ export CC=cc
bash$ ./configure --enable-languages=c++ --enable-shared
bash$ [diddle texinfo/config.h and texinfo/lib/memcpy.c so it compiles]
bash$ make bootstrap
Once again, it dies while "Configuring in
i386-pc-sysv4.2uw2.1.3/libobjc", muttering something about "checking if
compiler cc1obj has been built... no".
I then distcleaned it again and rebuilt without limiting the languages
it generated. I figured that maybe it was getting confused: maybe it
was correctly not building the Objective C compiler, and then trying to
build the Objective C library, then dying because it realizes that it
can't compile Objective C code. By building all the languages, (even
though I don't want most of them) it should at least get far enough to
finish building the ones I _do_ want.
Result: It works! At least, "hello, world!" compiles, links and runs.
(And it's _sooo_ nice being able to compile a C++ version of said
program that isn't 170K stripped. (Shared libraries work!))
I then applied Robert L.'s fixincludes patch from 2 Jun 1999, cleaned
and re-bootstrapped the tools, and then "make installed" the result. I
then tried to compile my "multipinger" program, and it failed on the
htons() stuff. I looked at
/usr/local/lib/gcc-lib/i386-pc-sysv4.2uw2.1.3/gcc-2.96/include/sys/byteorder.h
and found that the relevant prototypes take unsigned int arguments,
rather than unsigned shorts. I then fixed this header by hand --
multiping compiles and runs successfully. That tests threads and raw
ICMP sockets.
You might offer the following build procedure in the platform-specific
doc file:
ksh$ export CC=cc
ksh$ ./configure --enable-shared
ksh$ [diddle texinfo/config.h and texinfo/lib/memcpy.c so it compiles]
ksh$ make bootstrap
ksh$ su
Password:
ksh# make install
Then warn the reader not to add a --enable-languages line, until/unless
we figure out what's going wrong here.
The third step can of course be left out if you figure out the
autoconf/memcpy problem. Else, I can post diffs to config.h and
memcpy.c.
I am curious about one thing, though: why does it call itself gcc 2.96
when you say "gcc -v"?
> If not, you're going to have to debug it becuase I can't see the problem
> on a similar (albeit not identical) configuration.
Me not smart enough to debug compilers. Me just an apps developer. One
step up from VB user. B-)
--
= Warren -- http://www.cyberport.com/~tangent/