[plt-dev] in-place build directory (was re: build error with svn 14677)

From: Carl Eastlund (carl.eastlund at gmail.com)
Date: Fri May 1 17:17:22 EDT 2009

Can we please add this advice to the src/README file?  There are so
many esoteric options explained in there, but the one thing that
doesn't show up is our convention of creating the src/build/ directory
for in-place builds.  New developers shouldn't have to learn this
practice by word-of-mouth.

This is important enough -- and the README file detailed enough --
that we may even want a step between the current 0 (remove old PLT
installation) and 1 (run configure) for creating/choosing a build
directory, including a default suggestion of src/build/ and followed
up by some of the discussion currently under configure.  Otherwise
users trying for a "quick-start in-place build" may miss the
discussion currently buried at the end of the "configure" section.


---------- Forwarded message ----------
From: Eli Barzilay <eli at barzilay.org>
Date: Fri, May 1, 2009 at 5:07 PM
Subject: Re: [plt-scheme] build error with svn 14677
To: Robby Findler <robby at eecs.northwestern.edu>
Cc: Doug Orleans <dougorleans at gmail.com>, plt-scheme at list.cs.brown.edu

On May  1, Robby Findler wrote:
> The svn tree is the latest, but the Makefiles are not guaranteed to
> always get the right dependencies. They usually work, but if you see
> problems, best thing is to just blow away the build directory and
> try again. (And if you see a configure script change or a
> Makefile.in changes, then probably best to not even try.)

Right.  To make it *much* better, you should never build the source
tree in place -- that is, don't do this:

 cd .../plt/src
 make install

Do this instead:

 cd .../plt/src
 mkdir build
 cd build
 make install

This point is not specific to PLT -- it's generally healthier to do
this for any autoconf-based build.

         ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                 http://www.barzilay.org/                 Maze is Life!

Posted on the dev mailing list.