Hello,
I try to keep one tree of stable source (on a NAS), and build releases
for various architectures from that source tree.
I've learned the hard way that the best(only) way to build a release
is to create a shadow directory for the src using lndir, which makes
symlinks to the target files in a new shadow directory tree. This
works well for me.
I then tried to build xenocara (installed as /usr/src/xenocara ), and
ran into problems.
On the first machine, I had the stable cvs update of the xenocara
tree. I created the shadow directory tree, cd'ed into it, and did the
makes per the FAQ. It worked fine.
Then I build an X release, again using the instructions in the FAQ, so
far so good.
Then I copied the original xenocara source tree to my NAS.
On a machine with a different architecture (i386 vs amd64), I then NFS
mounted the xenocara source tree, and made another shadow source tree
(using lndir) but this time the target files being shadowed where on
the NAS, not a local disk).
When I went to build xenocara,
make bootstrap
make obj
worked OK, but
make build
failed, when it went into ./utils/macros it needed to write a file
that was actually a symlink to my read-only source tree, and the make
died.
So, I believe there is a problem in the xenocara build process.
In order to work around this problem, I copied my xenocara src tree to
the local machine, and again built a shadow directory to it.
This build works, because root can write to the local source
directory, although IMHO, it really shouldn't need to.
Don