This is the mail archive of the cygwin mailing list for the Cygwin 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: Bug in GCC Install


> -----Original Message-----
> From: cygwin-owner On Behalf Of Christopher Faylor
> Sent: 05 August 2004 18:44

> On Thu, Aug 05, 2004 at 01:40:19PM -0400, Philip Brown wrote:
> >There appears to be a bug in the configure scripts for GCC.  This bug
> >relates to the install procedure for gcov.exe, and only 
> appears when you
> >build gcc for multiple targets.
> >
> >The install snippet for gcc is:
> >
> >if [ -f gcov.exe ]; \
> >then \
> >    rm -f /usr/bin/gcov.exe; \
> >    /bin/sh
> >/cygdrive/g/ChoiceW/Rev_3/cvs/src/developer/gcc-3.3.1-3/install-sh -c
> >gcov.exe /usr/bin/`echo gcov|sed 's,x,x,'`.exe; \
> >fi

  But this isn't what it says in the makefile, this is what you saw fly past
on the commandline during a build.  It's not canonical, and in particular
there is no way to determine if this is a completely valid snippet that has
been generated because you supplied the wrong configure flags.

  What was your configure line?

> >The result is that if you install gcc for the host first, it installs
> >gcov.exe.  If you then install gcc for a target, it deletes 
> the gcov built
> >for the host.
> 
> This is a generic problem in gcc.
> 
> You should probably file a bug report at
> 
> http://gcc.gnu.org/bugzilla/enter_bug.cgi .
> 
> You might want to first investigate if this problem is fixed 
> in a later
> version of gcc, however.

  Indeed.  Looking at $builddir/gcc/Makefile from version 3.3.3, I see.....

-------->snip!<--------
# Install gcov if it was compiled.
	-if [ -f gcov$(exeext) ]; \
	then \
	    rm -f $(DESTDIR)$(bindir)/gcov$(exeext); \
	    $(INSTALL_PROGRAM) gcov$(exeext)
$(DESTDIR)$(bindir)/$(GCOV_INSTALL_NAME)$(exeext); \
	fi
-------->snip!<--------

and since $(DESTDIR) should sooooooooooo not be the same for a cross
toolchain as it is for your native tools, that really shouldn't cause any
problem.  And looking at your snippet, it seems to me that you have set
DESTDIR the same for both your cross toolchain and your native.  That won't
work; the ${target}- prefixes won't prevent the unprefixed versions of the
names from clashing.

  In particular, I work with cygwin, I build and install cross-compiled
versions of gcc like there was no tomorrow, and I haven't had any similar
problem myself yet.

    cheers, 
      DaveK
-- 
Can't think of a witty .sigline today....


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


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