This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: UPDATE: grep problem


Gentlemen,

I have been chasing the same problem your thread on gcc.gnu.org identified
in June.  
The basic problem reported is that during the build of GCC 3.4.2, the build
aborts with message "libtool: link: link input file `' does not exist".  I
had that problem too and so debugged the build Makefiles and libtool.  It
turns out there are two problems here.  

Perhaps you have rectified your problem.  I seem to be a little brain dead
trying to affectively utilize and respond to the gcc mailing list.  In any
case I have solved the issue for my build environment and thought I would
share with you.

First is a bug in ltmain.sh, the source for libtool, that causes an
erroneous error message.  It is supposed to report the name of the missing
file but the shell 'if' logic is faulty.

The second problem which causes the bug in libtool to show up is that a file
(in my case it is file i686-pc-linux-gnu/libjava/libgcj.objectlist) wasn't
created by the Makefile execution.  On my system this is because gcc 3.4.2
uses GNU make functions not supported in the make tool on my system (GNU
make 3.77).  The make function is the "call function" introduced in GNU make
version 3.78.  Version 3.77 of make didn't report any problems when it
encountered the "call function", it just didn't do anything.  The "call
function" is used to create file(s) *.objectlist.

Here are the steps I took to achieve a successful build of GCC with gjc and
other options on a RedHat Linux system.

First, obtain and build the latest GNU make (3.80 as of Nov. 4, 2004).

Second, fix the offending ltmain.sh scripts which are the source of the
libtool error.

File: gcc-3.4.2/ltmain.sh

VERSION=1.4a-GCC3.0
TIMESTAMP=" (1.641.2.256 2001/05/28 20:09:07 with GCC-local changes)"

Shell if block begging at line 970 is continued by "else" at line 1068,
however, the error message at 1069 refers to unset variable "$save_arg".  
Variable save_arg isn't set unless the "test -f"  at line 970 is successful.
Variable "$arg" should be used at line 1069.



File: gcc-3.4.2/libjava/libltdl/ltmain.sh

VERSION=1.5.0a
TIMESTAMP=" (1.1220.2.25 2003/08/01 19:08:35) Debian$Rev: 49 $"

Shell if block begging at line 1000 is continued by "else" at line 1098,
however, the error message at 1099 refers to unset variable "$save_arg".  
Variable save_arg isn't set unless the "test -f"  at line 1000 is 
successful.  Variable "$arg" should be used at line 1099.


If you find this information valuable, perhaps you can pass it on to the
developers.

Thanks,

Mark McVeigh
Mark.McVeigh@Framatome-ANP.com
Framatome ANP, Inc.
An AREVA and Siemens company
2101 Horn Rapids Rd.   | phone: 509-375-8037
Richland, WA 99354     | fax:   509-375-8775


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]