autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Autoconf : Build fails if the build and source directory are on dif


From: Dan Kegel
Subject: RE: Autoconf : Build fails if the build and source directory are on different file systems.
Date: Mon, 3 Jun 2002 23:13:58 -0700

Not sure supporting FAT16 is worth spending much time on...
- Dan

-----Original Message-----
From: Mat Hounsell
To: address@hidden
Sent: 03.06.2002 18:33
Subject: Autoconf : Build fails if the build and source directory are on
different file systems.

Hello,
    While trying to build GCC 3.1 for Linux on my home machine I had the
source
directory on the EXT2 '/' file system and the build directory on a FAT16
file
system with more free space. When I tried to build it failed as
LIBSTDC++ tries
to create a link to the source files, which is not supported.

The problem is in a generated config script 'config.status (?)' that
tries ln
-s, then ln then gives up.

The generated makefiles use ln -s, ln, cp -p then gives up, and had no
problems.

The GCC maintainers tracked it probablely down to AC_PROG_LN_S.

Considering many home users may attempt something like I did, poerhaps
the
macro should expand to ln -s , ln , cp -p, cp then give up.

I am not familiar with the details of autoconf so I thought I would
raise the
issue and leave it to those who know.

--- Original Message ---

PR: 6776
LibSTDC++ will cause a GCC 3.1 build to fail if the build and source
directory
are on different file systems. This is because it tries to create a hard
link
from a header file to the build directory and doesn't gracefully handle
the
failure. I tried to copy the file, assuming that make would see the file
and
not try to create the link. It tried to create the link anyway and this
time
failed as the file exists. If creating a link fails then IMO copying the
file
is a good way to overcome the error. It will be removed when the build
is
cleaned. I looked in the generated make file and there are macros naming
the
files but the macros are never used. Since GCC's build system is
unfamiliar and
more advanced then I fully understand, does anyone know how to overcome
this
problem? A hack is acceptable. Otherwise, does anyone know where to
start so I
can try to fix it myself?

Background: I use my home machine mainly for Games andP rogramming, it
is a
mult-boot machine with Win95, Dos, BeOS and Linux. I have Fat16 data
partitions
as it is the only file system all OSes handle. I don't have much space
on my
Linux partition so that's why the build is on another partition.

--- Original Response ---
In this case, the file include/Makefile.am uses constructs like:
      @LN_S@ $$h ./$${official_name} || true ;
Where LN_S comes from acinlude.m4:56 (GLIBCPP_CONFIGURE)
      # Will set LN_S to either 'ln -s' or 'ln'.  With autoconf 2.5x,
can
      # also be 'cp -p' if linking isn't available.
      #ac_cv_prog_LN_S='cp -p'
      AC_PROG_LN_S
   
This appears to be broken. Since this is a standard autoconf macros,
perhaps
you can report this on the autoconf list and see what the status is?

--- Original Response ---
And as Benjamin wrote in the response to PR 6776, this is from a
standard
autoconf macro, AC_PROG_LN_S, which can be 'ln' or 'ln -s' or (depending
on whether we ever move to 2.50) 'cp'.  If the autoconf macro is causing
problems, please report it to the autoconf maintainers.




http://www.sold.com.au - The Sold.com.au Big Brand Sale
- New PCs, notebooks, digital cameras, phones and more ... Sale ends
June 12



reply via email to

[Prev in Thread] Current Thread [Next in Thread]