[csw-maintainers] HELP NEEDED: libtool
Peter FELECAN
pfelecan at opencsw.org
Sat Jul 18 11:36:39 CEST 2009
Ihsan Dogan <ihsan at opencsw.org> writes:
> Am 17.7.2009 19:29 Uhr, Peter FELECAN schrieb:
>
>>> The current Libtool package is unfortunately not fully functional. That
>>> means, that certain packages do not build anymore.
>>>
>>> As far as I could figure out, Libtool seems not to be aware of all the
>>> compilers that we are using on our buildfarm.
>>>
>>> Because I'm not an Libtool expert, I would like to ask if anybody with
>>> good Libtool knowledge could have a look into that. Dago placed
>>> everything, including the patch that has been used in the old version,
>>> into Gar.
>>
>> Can you give a concrete example such as we can try to help?
>
> I'm getting this:
>
> /opt/csw/bin/libtool --mode=compile /opt/csw/gcc4/bin/gcc -O2 -pipe
> -mcpu=v8 -I/opt/csw/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
> -Wall -D_GNU_SOURCE -DNDEBUG -D_LIBRADIUS
> -I/home/ihsan/gar/csw/mgar/pkg/freeradius/trunk/work/build-isa-sparcv8/freeradius-server-2.1.6/src
> -c dict.c
> libtool: compile: unable to infer tagged configuration
> libtool: compile: specify a tag with `--tag'
> gmake[6]: *** [dict.lo] Error 1
A typical invocation is:
libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H
-I. -I.. -I.. -I/opt/csw/include -I/opt/csw/gcc3/include
-I/opt/csw/gcc3/include/c++/3.4.5 -I/opt/csw/include -O3 -march=i486
-MT snv.lo -MD -MP -MF .deps/snv.Tpo -c -o snv.lo snv.c
Please note in my example the --tag option which is missing in your
invocation. Can you try with --tag=CC
>From the info manual of libtool we can read:
6.2 Tags
========
Libtool supports multiple languages through the use of tags.
Technically a tag corresponds to a set of configuration variables
associated with a language. These variables tell `libtool' how it
should create objects and libraries for each language.
Tags are defined at `configure'-time for each language activated in
the package (see `LT_LANG' in *note LT_INIT::). Here is the
correspondence between language names and tags names.
Language name Tag name
C CC
C++ CXX
Java GCJ
Fortran 77 F77
Fortran FC
Windows Resource RC
`libtool' tries to automatically infer which tag to use from the
compiler command being used to compile or link. If it can't infer a
tag, then it defaults to the configuration for the `C' language.
The tag can also be specified using `libtool''s `--tag=TAG' option
(*note Invoking libtool::). It is a good idea to do so in `Makefile'
rules, because that will allow users to substitute the compiler without
relying on `libtool' inference heuristics. When no tag is specified,
`libtool' will default to `CC'; this tag always exists.
Finally, the set of tags available in a particular project can be
retrieved by tracing for the `LT_SUPPORTED_TAG' macro (*note Trace
interface::).
What is intriguing is that the default tag is CC and libtool complains
that you are not using it explicitly. For this reason I would try to
use the /opt/csw/gcc4/bin in the PATH environment variable placed as to
be the first component refering toward a C compiler in the
configuration step.
--
Peter
More information about the maintainers
mailing list