gcc and linux newbie's question

llewelly@198.dsl.xmission.com llewelly@198.dsl.xmission.com
Tue Dec 21 20:47:00 GMT 1999


On Wed, 22 Dec 1999, root wrote:

> Tim Prince wrote:
> 
> > > set CC in your environment before running configure.
> >
> > >2) Does it mean I should set those things before configuration?
> >
> > yes, according to your shell, along the lines of
> >
> > export CC=/usr/bin/gcc
> > or
> > setenv CC /bin/cc
> >
> > so that $CC invokes the compiler you wish to use for initial bootstrap
> 
> Thanks Tim, but I still encounter some problems.
> 
> According to http://gcc.gnu.org/install/configure.html ,
> 
> "We use srcdir to refer to the toplevel source directory
> for GCC; we use objdir to refer to the toplevel
> build/object directory."
> 
> (a) I name the source dir and the object dir as follow:
>     srcdir   /usr/local/src/gcc-2.95.2   (I unpacked the bzip2 files
> here)
>     objdir   /usr/local/bin/gcc-objdir   (currently empty)

> Can I remove these two directories after the compiler
> is built? If not, are there any preferred directories to
> hold the "sources" and "objects"? Or are there any
> preferred names for the directories?

Yes, you may remove them after you run make install.

> 
> (b) Now I set CC by   export CC=/usr/local/bin/gcc.
> Am I correct?
> 
> (c) From objdir, I issue the command   src/configure.

If you are building in a separate dir (which is advised), you need
  to tell configure where the source directory is, using something akin
  to:

${srcdir}/configure --srcdir={srcdir}

or:

$/usr/local/src/gcc-2.95.2/configure --srcdir=/usr/local/src/gcc-2.95.2 

> However, I got the following error message: "config.guess
> failed to determine the host type. You need to specify one".
> It then list the option   --host=HOST. But what should
> the HOST be (I use Linux on a PC with an AMD K6-2
> 300MHz CPU)? This wasn't mentioned in the installation
> instruction.

It isn't usually needed; the only time I ever needed to use --host was
  when I tried to build gcc on an RS/6000 43P running linux - every other
  platform I have tried was easiy recognized by gcc's configure.

Probably, configure got confused because you did not tell it the srcdir.

If, for some inexplicable reason you do need the host string, here are 2
  ways to figure it out:

(1) Check install/CONFIGURE . I know you said you read the install file,
    but there are many INSTALL files in the gcc tree. Also, try

(2) If you already have a working gcc installed, run 'ls /usr/lib/gcc-lib'
  (for a gcc installed under /usr; that is where redhat linux puts it) or
  'ls /usr/local/lib/gcc-lib' if gcc was installed under /usr/local, its
  default. On a vanilla redhat linux box I get:
$ls /usr/lib/gcc-lib/
i386-redhat-linux

This directory is named after the host platform of the installed gcc
  (luckily) in the same format gcc's configure wants it in, which is more
  or less <cpu>-<vendor>-<os> or <cpu>-<machine-name>-<vendor>-<os>

On a non-redhat, or heavily modifed redhat system, you might get:
$ls /usr/lib/gcc-lib/
i386-pc-linux-gnu

Which should also work just fine.

As you said you have a k6,
k6-pc-linux-gnu

*may* work for you; I have never tried it, so I am sticking my neck *way*
  out here.

Warning: If /usr/lib/gcc-lib is nfs mounted, or if somebody has built a
  few cross compilers, it may contain dirs for many platforms.







More information about the Gcc-help mailing list