Compilation

De BlaxWiki
Révision datée du 30 novembre 2015 à 16:01 par 127.0.0.1 (discussion)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Cette page regroupe différentes informations / cours liées aux informations génériques nécessaires à la compilation :

GCC How to FR

Info compilation,librairies FR

Makefile FR

Info & trucs divers[modifier]

Gcc[modifier]

cat /proc/version : Linux version 2.6.34 (root@pfm-ins-mlx.agarik.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #2 SMP Wed May 19 14:42:05 CEST 2010

Donne la version de gcc avec laquelle a été compilé le noyau, il faut la meme pour compiler des modules pour ce noyau

No package xxx[modifier]

Lorsque l'on compile un programme et qu il ne trouve pas les lib ou header de soft dont il a besoin (car ces derniers ne sont pas installés dans les repertoires par défaut des lib & 
/usr/include), on déclare directement avant le .configure la liste des repertoires en question :

root@# export CPPFLAGS (ou CFLAGS) ="-I/opt/applis/libee/include" (pour les headers fichiers .h)
root@# export LDFLAGS="-L/opt/applis/libee/lib" (pour les librairies fichiers .so)
root@# ./configure --prefix=/opt/applis/courier-0.66.3-1 --disable-root-check
ou LD_LIBRARY_PATH=/opt/applis/libee/lib ./configure --prefix=/opt/applis/courier-0.66.3-1 .....

Parfois cela ne suffit pas, il met le message suivant :

Configure: error: Package requirements (libee >= 0.4.0) were not met:
No package 'libee' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBEE_CFLAGS and LIBEE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.

On va alors simplement exporter la variable PKG_CONFIG_PATH : export PKG_CONFIG_PATH=/opt/applis/libee/lib/pkgconfig Si il y a plusieurs pkg_config à mettre : export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"/opt/applis/apr-util/lib/pkgconfig


Le fichier pkgconfig du package en question comporte toutes les informations.

cat /opt/applis/libee/lib/pkgconfig/libee.pc
prefix=/opt/applis/libee-0.4.1-1
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: libee
Description: event expression library, based on CEE ideas
Version: 0.4.1
Libs: -L${libdir} -lee -lm
Cflags: -I${includedir}