public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jonathan Wakely <jwakely.gcc@gmail.com>
To: Olumide <50295@web.de>
Cc: gcc-help@gcc.gnu.org
Subject: Re: Compiling gcc-4.1.2 on 64-bit Ubuntu machines
Date: Tue, 25 Jan 2011 11:56:00 -0000	[thread overview]
Message-ID: <AANLkTimgTSAoFFMt=mvgcKkxH73vP51AsUmZxup=yyT=@mail.gmail.com> (raw)
In-Reply-To: <4D3EB514.3040305@web.de>

On 25 January 2011 11:33, Olumide wrote:
> On 25/01/2011 10:58, Jonathan Wakely wrote:
>>
>> On 25 January 2011 10:31, Olumide wrote:
>>>
>>> I would like to roll out the build to other machines (several dozen
>>> actually). I've tried copying the entire hierarchy (source and build) to
>>> the
>>> target machines and then running make install but I'm getting the error
>>> message (I'd appreciate help solving this problem -- thanks):
>>
>> The problem is that "make install" checks if it needs to rebuild, and
>> notices that system headers and other things have changed.
>>
>> Don't do it that way, instead use "DESTDIR"
>>
>> http://www.gnu.org/prep/standards/html_node/DESTDIR.html
>>
>> This allows you to copy the entire installed tree (not the source and
>> build trees) to a temporary staging area, from where it can be
>> packaged up into an archive, then extracted on the destination
>> machines.
>
> Thanks Jon. One tiny question tho' (I'm total newbie at this). When do I do
> make DESTDIR? At the stage, make -j 2 bootstrap, in which case the command
> would be make DESTDIR=/transfer/gcc-build-archive -j 2, or at the final make
> install stage? (The latter doesn't work.)

Read the link I sent, which says "DESTDIR should be supported only in
the install* and uninstall* targets, as those are the only targets
where it is useful."

You use DESTDIR with "make install" as in the example on that page.

> If the former is the case, then I would simply copy
> /transfer/gcc-build-archive to the target machines and run make install on
> each, right?

No.  You do not run make on the target machines.

# configure gcc
make
make install DESTDIR=/tmp/stage

"If your installation step would normally install ‘/usr/local/bin/foo’
and ‘/usr/local/lib/libfoo.a’, then an installation invoked as in the
example above would install ‘/tmp/stage/usr/local/bin/foo’ and
‘/tmp/stage/usr/local/lib/libfoo.a’ instead."

So then you package up all the files under /tmp/stage, which are
arranged in a directory hierarchy exactly as you want in their final
installed location, but under /tmp/stage not /, so you just package
that directory tree up and then extract it on the target machine

cd /tmp/stage
tar czf /tmp/gcc.tar.gz .
# copy archive to target machine and extract


> Also, do I have to install texinfo and ncurses on the target machines?

No, because all you do on the target machine is extract an archive.

  reply	other threads:[~2011-01-25 11:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-19 14:48 Olumide
2011-01-19 15:01 ` Cedric Roux
2011-01-19 15:51   ` Olumide
2011-01-19 16:21     ` Ian Lance Taylor
2011-01-19 16:37       ` Olumide
2011-01-19 16:39         ` Andrew Haley
2011-01-19 17:08           ` Olumide
2011-01-19 17:11             ` Andrew Haley
2011-01-19 20:13               ` Olumide
2011-01-19 21:51                 ` David Daney
2011-01-20 13:56                   ` Olumide
2011-01-20 17:23                     ` Olumide
2011-01-20 20:04                       ` Jonathan Wakely
2011-01-25 10:30                       ` Olumide
2011-01-25 10:59                         ` Jonathan Wakely
2011-01-25 11:34                           ` Olumide
2011-01-25 11:56                             ` Jonathan Wakely [this message]
2011-01-25 13:51                               ` Olumide
2011-01-25 10:59                         ` Kai Ruottu
2011-01-19 16:43         ` Cedric Roux
2011-01-19 16:47           ` Jonathan Wakely
2011-01-19 15:19 ` Jeff Law

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='AANLkTimgTSAoFFMt=mvgcKkxH73vP51AsUmZxup=yyT=@mail.gmail.com' \
    --to=jwakely.gcc@gmail.com \
    --cc=50295@web.de \
    --cc=gcc-help@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).