Différences entre les versions de « Compilation »
De BlaxWiki
Aller à la navigationAller à la recherche (Page créée avec « Cette page regroupe différentes informations / cours liées aux informations génériques nécessaires à la compilation : [https://wiki.blaxeenprod.com/BENPERSO/doc-manue... ») |
|||
| (19 versions intermédiaires par 3 utilisateurs non affichées) | |||
| Ligne 1 : | Ligne 1 : | ||
__TOC__ | |||
Cette page regroupe différentes informations / cours liées aux informations génériques nécessaires à la compilation : | Cette page regroupe différentes informations / cours liées aux informations génériques nécessaires à la compilation : | ||
[https://{{SERVERNAME}}/BENPERSO/doc-manuel/system/linux/Gcc-howto-fr.pdf GCC How to FR] | |||
[https://{{SERVERNAME}}/BENPERSO/doc-manuel/system/linux/Rappels_dev_linux-fr.pdf Info compilation,librairies FR] | |||
[https://{{SERVERNAME}}/BENPERSO/doc-manuel/system/linux/makefile-fr.pdf Makefile FR] | |||
=== Info & trucs divers === | |||
==== Gcc ==== | |||
<pre> | |||
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 | |||
</pre> | |||
==== No package xxx ==== | |||
<pre> | |||
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 ..... | |||
</pre> | |||
Parfois cela ne suffit pas, il met le message suivant : | |||
<pre> | |||
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. | |||
</pre> | |||
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. | |||
<pre> | |||
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} | |||
</pre> | |||
[[Catégorie:Linux]] | [[Catégorie:Linux]] | ||
Version actuelle datée du 30 novembre 2015 à 16:01
Cette page regroupe différentes informations / cours liées aux informations génériques nécessaires à la compilation :
Info compilation,librairies 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}