[CMake] Nonstandard architectures.

Mathias Froehlich M.Froehlich at science-computing.de
Thu Sep 27 09:51:42 EDT 2007


Hi,

On Thursday 27 September 2007 15:21, Sanchez, Juan wrote:
> If you want to check without actually compiling.  There is the file command
> which can tell you about a shared library or any other file on your
> filesystem.
>
>  ~> file /opt/firefox/libfreebl3.so
> /opt/firefox/libfreebl3.so: ELF 32-bit LSB shared object, Intel 80386,
> version 1 (SYSV), stripped ~> file /usr/lib64/nss/libfreebl3.so
> /usr/lib64/nss/libfreebl3.so: symbolic link to `libfreebl3.so.11'
>  ~> file /usr/lib64/nss/libfreebl3.so.11
> /usr/lib64/nss/libfreebl3.so.11: ELF 64-bit LSB shared object, x86-64,
> version 1 (SYSV), stripped
Ok, but:

On hpux for example:
$ file /lib/pa*/libc.* /lib/libc.*
/lib/pa11_32/libc.2:    PA-RISC1.1 shared library -not stripped
/lib/pa20_32/libc.2:    PA-RISC2.0 shared library -not stripped
/lib/pa20_64/libc.2:    ELF-64 shared object file - PA-RISC 2.0 (LP64)
/lib/pa20_64/libc.a:    archive file
/lib/pa20_64/libc.sl:   ELF-64 shared object file - PA-RISC 2.0 (LP64)
/lib/libc.0:    PA-RISC1.1 shared library -not stripped
/lib/libc.1:    PA-RISC1.1 shared library -not stripped
/lib/libc.2:    PA-RISC2.0 shared library -not stripped
/lib/libc.a:    archive file -PA-RISC1.1 relocatable library
/lib/libc.sl:   PA-RISC2.0 shared library -not stripped

Which one would you choose?
Especially that:
/lib/pa20_64/libc.a:    archive file
You need to recognise that it is an archive you need to unpack one of the 
files and do a file commmand on such an object.

Or that one as seen on opensuse 10.2:
$ file /usr/lib*/libc.*
/usr/lib64/libc.a:  current ar archive
/usr/lib64/libc.so: ASCII C program text
/usr/lib/libc.a:    current ar archive
/usr/lib/libc.so:   ASCII C program text
Ooops, C program text aka gnu ld linker script :)

Or think of AIX and its way to pack different so versions of the same library 
into an archive file ...

   Greetings

         Mathias

-- 
Dr. Mathias Fröhlich, science + computing ag, Software Solutions
Hagellocher Weg 71-75, D-72070 Tuebingen, Germany
Phone: +49 7071 9457-268, Fax: +49 7071 9457-511
-- 
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Dr. Florian Geyer,
Dr. Roland Niemeier, Dr. Arno Steitz, Dr. Ingrid Zech
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Prof. Dr. Hanns Ruder
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196 



More information about the CMake mailing list