[Top] [All Lists]

libtool warning on redhat 7.1 native mipsel compile

Subject: libtool warning on redhat 7.1 native mipsel compile
Date: Fri, 11 Jan 2002 11:53:42 -0800
I have come across many libtool warnings when native compiling redhat 7.1
packages on my mips board.

An example warning is :

*** Warning: This library needs some functionality provided by -lc
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

So I ran file on, and it gave me the following output :

/lib/ ELF 32-bit LSB mips-1 shared object, MIPS R3000_LE [bfd
bug], version 1 (SYSV), not stripped

Which I believe is telling me the library is shared. A search on the web
revealed some passed problems with file and libtool, but going by my
libtool's version number I should be OK.
To cut a long story short I traced the problem to a number of script files
which define a string to be :

     ELF [0-9][0-9]*-bit [LM]SB (shared object | dynamic lib)

When this is used as a match against's output the "mips-1"
part causes a mismatch and libtool complains the library is not a shared
library file. Note, as far as I have checked most of the library files in
the redhat 7.1 distribution include this "mips-1".

As dirty fix I hand hacked all occurences of

     ELF [0-9][0-9]*-bit [LM]SB (shared object | dynamic lib)

and changed them to

     ELF [0-9][0-9]*-bit [LM]SB mips-1 (shared object | dynamic lib)

and sure enough all but one of the libtool warnings went away. The only one
reamining was directed towards linking against libgcc, which is an archive
so I'll let that one go.

Not understanding the workings of everything, my simple analysis of this
problem is that :

"if file did not output "mips-1" the problem would not exist".

Does anyone know why mips-1 is there ? Should it be there because it has
the potential to break a lot of scripts out there.

Does anyone know how to fix either the libraries or the program "file" so
that "mips-1" is not output.

Any help on this will be greatly appreciated


<Prev in Thread] Current Thread [Next in Thread>