[CMake] Nonstandard architectures.

Sanchez, Juan juan.sanchez at amd.com
Thu Sep 27 09:21:14 EDT 2007


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

Barring that, I've seen people use chroot jails to contain their 32 bit compile environments.

Juan

-----Original Message-----
From: cmake-bounces+juan.sanchez=amd.com at cmake.org on behalf of Mathias Froehlich
Sent: Thu 9/27/2007 4:12 AM
To: cmake at cmake.org
Subject: [CMake] Nonstandard architectures.
 

Hi,

I have problems with nonstandard architectures.

cmakes mechanism to see if some package is installed usually just looks if 
some files are present. That is good as long as you just compile for the 
standard architecture on a specific operating system.

But if I build for some non default architecture (for example for 64 bit pa 
risc instead of the 32 bit default one). Most configury checks will not find 
the truth.
For example, In my amd64 linux system we have a /usr/local/lib/libglut.so. so 
the FIND_PACKAGE(GLUT) will see: 'ah we have glut available!'. But when I 
build for emt64, this is just wrong, because I do not have the 
equivalent /usr/local/lib64/libglut.so installed ...

Old autoconf used to check existence of libraries by compiling a small test 
example with the configured compiler and link against that library in 
question. In contrast to cmake that just looks for the existence of files. 
This way one could be sure that this fits together.
This would be for sure one solution to that problem.

An other one would be to use the 'correct' standard librarie paths for 
different architectures. But that means that cmake will need to know more 
about the ABI in use. Currently this is not required to know.

What to do here?

   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 

_______________________________________________
CMake mailing list
CMake at cmake.org
http://www.cmake.org/mailman/listinfo/cmake



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20070927/9928c276/attachment-0001.htm


More information about the CMake mailing list