libtool
[Top][All Lists]
Advanced

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

Re: unable to infer tagged configuration


From: Mike Frysinger
Subject: Re: unable to infer tagged configuration
Date: Wed, 16 Nov 2005 20:25:00 +0000
User-agent: Mutt/1.5.8i

On Wed, Nov 16, 2005 at 11:53:24AM -0800, Ross Boylan wrote:
> On Wed, 2005-11-16 at 19:10 +0000, Mike Frysinger wrote:
> > On Wed, Nov 16, 2005 at 10:47:20AM -0800, Ross Boylan wrote:
> > > after this line in the makefile output:
> > > ./libtool --mode=link g++-3.3 -o test1 -g AbstractTimeStepsGenerator.o
> > > Narrowly, can anyone shed any light on the errors reported at the top?
> > 
> > notice that automake invoked
> > ./libtool --mode=link g++-3.3 ...
> > instead of doing
> > ./libtool --mode=link --tag CXX g++-3.3 ...
>
> I added this to my makefile, and it now seems to be working.
> automake wasn't involved.

sorry, i assumed you were using automake since you're using libtool

> > this forced libtool to run through its tag configurations and try and
> > guess what sort of tag 'g++-3.3' requires (*we* know that it wants to
> > use the CXX tag).  just peek at the tags written to the end of the
> > ./libtool file ... specifically, look at the CXX tag ... or just run:
> > grep ^CC= libtool
> > chances are you'll get back something like
> > CC=gcc
> > CC=g++
> > none of these values match 'g++-3.3' thus libtool gives up and goes
> > 'well shit, no idea what this is' ... or in libtool speak, 'unable to
> > infer tagged configuration'
>
> It's odd that CC is used for the C++ compiler.

dont confuse internal 'CC' with having any particular meaning ... cause
it doesnt have any meaning other than 'this is the compiler for this tag 
configuration'

the C tag config usually has 'CC=gcc' while the CXX tag config usually
has 'CC=g++'

> I see why g++-3.3 would be a problem, but I don't see why g++ works.

g++-3.3 pissed libtool off because when it was scanning the tag configs,
it does a text match, sort of like '$tagCC == $userCC' ... in this case,
libtool ran
C tag config:   CC=gcc userCC=g++-3.3 ... "$CC" == "$userCC" -> nope
CXX tag config: CC=g++ userCC=g++-3.3 ... "$CC" == "$userCC" -> nope
no more tags in libtool -> unable to infer tagged configuration

that's why g++ works but g++-3.3 did not

> Does it have something to do with CC=g++ line?

yes

> > > In particular, what do I need to reconfigure to make them go away?  Do I 
> > > need to rerun autoconf? configure? something else?
> > 
> > if you regenerated all the files with newer autotools, the code would
> > pass the correct --tag option to libtool so that it doesnt need to try
> > and guess what it should use
>
> Rerunning configure didn't help.  Was this a reference to the fact that
> automake should do the right thing?

yes, because i assumed you were using automake

if you're running ./libtool yourself in your Makefile, just make sure
to use '--tag CXX' when dealing with C++ sources and '--tag CC' when
dealing with C sources ... that should handle all the funky compilers a
user at your package
-mike




reply via email to

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