# Problèmes de compilation - ne trouve pas la librairie

**URL:** <https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365>\
**Category:** Programmation\
**Created:** [Novembre 4, 2022, 9:05 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365 "2022-11-04T21:05:24Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 4, 2022, 9:05 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/1 "2022-11-04T21:05:24Z")

</div>

Bonjour,

j’ai commencé à me faire une VM OpenVAS.  
J’ai compilé la première librairie sans problèmes tel que défini par Greenbones.  
Quand je passe à la compilation suivante, il ne me trouve pas la librairie précédente  
je ne trouve pas pourquoi il ne la trouve pas.

Pourtant:

```auto
sudo ldconfig -p | grep libgvm_base
        libgvm_base.so.22 (libc6,x86-64) => /usr/local/lib/libgvm_base.so.22
        libgvm_base.so (libc6,x86-64) => /usr/local/lib/libgvm_base.so

```

mais à chaque fois:

```auto
cmake $SOURCE_DIR/gvmd-$GVMD_VERSION -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -DLOCALSTATEDIR=/var -DSYSCONFDIR=/etc -DGVM_DATA_DIR=/var -DGVMD_RUN_DIR=/run/gvmd -DOPENVAS_DEFAULT_SOCKET=/run/ospd/ospd-openvas.sock -DGVM_FEED_LOCK_PATH=/var/lib/gvm/feed-update.lock -DSYSTEMD_SERVICE_DIR=/lib/systemd/system -DLOGROTATE_DIR=/etc/logrotate.d
-- Configuring Greenbone Vulnerability Manager...
-- Could NOT find Git (missing: GIT_EXECUTABLE)
-- Install prefix: /usr/local
-- Checking for module 'libgvm_base>=22.4'
-- No package 'libgvm_base' found
CMake Error at /usr/share/cmake-3.18/Modules/FindPkgConfig.cmake:545 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindPkgConfig.cmake:733 (_pkg_check_modules_internal)
  src/CMakeLists.txt:29 (pkg_check_modules)

-- Configuring incomplete, errors occurred!
See also "/home/zargos/build/gvmd/CMakeFiles/CMakeOutput.log".
See also "/home/zargos/build/gvmd/CMakeFiles/CMakeError.log".
zargos@vmssrvstd:~/build/gvmd$ vim CMakeCache.txt
zargos@vmssrvstd:~/build/gvmd$ cmake $SOURCE_DIR/gvmd-$GVMD_VERSION -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX -DCMAKE_BUILD_TYPE=Release -DLOCALSTATEDIR=/var -DSYSCONFDIR=/etc -DGVM_DATA_DIR=/var -DGVMD_RUN_DIR=/run/gvmd -DOPENVAS_DEFAULT_SOCKET=/run/ospd/ospd-openvas.sock -DGVM_FEED_LOCK_PATH=/var/lib/gvm/feed-update.lock -DSYSTEMD_SERVICE_DIR=/lib/systemd/system -DLOGROTATE_DIR=/etc/logrotate.d
-- Configuring Greenbone Vulnerability Manager...
-- Could NOT find Git (missing: GIT_EXECUTABLE)
-- Install prefix: /usr/local
-- Checking for module 'libgvm_base>=22.4'
-- No package 'libgvm_base' found
CMake Error at /usr/share/cmake-3.18/Modules/FindPkgConfig.cmake:545 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.18/Modules/FindPkgConfig.cmake:733 (_pkg_check_modules_internal)
  src/CMakeLists.txt:29 (pkg_check_modules)

-- Configuring incomplete, errors occurred!

```

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Novembre 4, 2022, 11:21 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/2 "2022-11-04T23:21:14Z")

</div>

Que te renvoi :

```auto
echo $PKG_CONFIG_PATH

```

Sinon genre :

> **[No Package 'libgvm\_base' found](https://forum.greenbone.net/t/no-package-libgvm-base-found/7407/7)**
>
> I’m also running across this same problem on ubuntu 20.04. where is the pkgconfig path? i’ve added every path i can think of under the sun for pkgconfig and pkg-config, but still getting the error message. here’s what i have for echo...

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 4, 2022, 11:43 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/3 "2022-11-04T23:43:04Z")

</div>

> [@Clochette](#):
>
> `echo $PKG_CONFIG_PATH`

Le lien est trop ancien 🙂 la version est en 22.4  
je pense que c’est lié au fait que la machine est faite via un preseed avec un certain nombre de durcissement. Mais pas de log qui donnent la moindre information utile 😕  
Pour le PKG\_CONFIG\_PATH, il faut que je refasse tout car entre temps j’ai fait une fausse manip, et je viens de voir que j’avais oublié de faire un snapshot 🙂

---

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Novembre 5, 2022, 5:18 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/4 "2022-11-05T17:18:25Z")

</div>

> sudo ldconfig -p | grep libgvm\_base  
> libgvm\_base.so.22 (libc6,x86-64) =\> /usr/local/lib/libgvm\_base.so. **22**

Etrange; il n’y a pas de libgvm22 chez Debian, mais libgvm21.

Que dit ceci  
`apt policy libgvm2*`

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 6, 2022, 12:14 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/5 "2022-11-06T00:14:03Z")

</div>

> [@Verner](#):
>
> Etrange; il n’y a pas de libgvm22 chez Debian, mais libgvm21.
> 
> Que dit ceci  
> `apt policy libgvm2*`

Non pas packages Debian, mais compilation des sources. Le package Débian ne suis pas.

```auto
apt-cache search --names-only gvm

```

résultat : rien. OpenVAS n’est pas packagé dans Debian  
reste le PKG\_CONFIG\_PATH de @Clochette mais malheureusement je crois que c’est une fausse piste dans mon cas.

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Novembre 6, 2022, 7:43 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/6 "2022-11-06T07:43:58Z")

</div>

> [@Zargos](#):
>
> je pense que c’est lié au fait que la machine est faite via un preseed avec un certain nombre de durcissement

A voir je viens par curiosité regarder la documentation pour obtenir via les sources GVM, à la limite remonte en rw les quelques répertoires que tu as basculé en ro mais à première vue ce serait bien le chemin vers tes fameuses librairies qu’il te manquent ou qu’il ne peux atteindre.

A fortiori si tu cherche à installé des trucs sur une machine qui doit être durci, fais le avant durcissement ça te fera moins de nœuds à la tête 😝

---

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Novembre 6, 2022, 9:52 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/7 "2022-11-06T09:52:17Z")

</div>

> [@Zargos](#):
>
> Non pas packages Debian, mais compilation des sources.

Le makefile va vérifier si le paquet ‹&nbsp;-dev&nbsp;› de libgvm est installé, qui s’appelle **libgvm-dev** , qui lui est en version 21, et dont le contenu est :  
[Debian – Liste des fichiers du paquet libgvm-dev/sid/amd64](https://packages.debian.org/sid/amd64/libgvm-dev/filelist)

Le makefile se moque de savoir si libgvm\_base.so.22 est installé, ce n’est pas ça dont il a besoin.  
C’est le binaire une fois compilé qui cherchera libgvm\_base.so.22.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 6, 2022, 11:03 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/8 "2022-11-06T11:03:47Z")

</div>

Le soucis, c’est qu’en utilisant une machine installée vite fait de base sans truc particulier, il n’y a besoin d’aucuns packages autres que ceux indiqué sur la documentation de Greenbones. et en tout cas aucun paquet SID.  
je pense que @Clochette est dans le vrai. Un des paramètres de durcissement doit interférer. Ne me reste plus qu’à identifier lequel.

> [@Clochette](#):
>
> en rw les quelques répertoires que tu as basculé en ro

je n’en ai aucun en ro. Mais par contre peut être qu’un NOSUID, un NODEV ou un NOEXEC interfère peut etre. Mais les messages d’erreurs indique qu’il ne trouve pas, et non qu’il n’accède pas.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 6, 2022, 11:40 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/9 "2022-11-06T11:40:35Z")

</div>

> [@Clochette](#):
>
> echo $PKG\_CONFIG\_PATH

En fait ca ne change pas trop. Ce qui pose problème, c’est l’UMASK. Je suis en UMASK 027. je pense que c’est ça qui pose problèmes.  
Mes librairies sont en 0750, et du coup j’ai un problème d’accès au fichiers.  
Donc faire ma compilation en $USER pose un problème du fait du niveau de protection qui est implémenté.  
Il faudrait que je teste la compilation en ROOT pour voir si j’ai le même problème.

EDIT: en root je n’ai plus le problème.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 6, 2022, 12:49 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/10 "2022-11-06T12:49:19Z")

</div>

enfin, plus ce problème là 🙂 il faut maintenant que je vois pourquoi la BDD ne marche pas (un soucis coté pg-gvm me semble-t-il) mais je créerais peut etre un autre sujet.  
Et si j’y arrive enfin, un article Trucs et Astruces sur OpenVAS 🙂 .

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Novembre 7, 2022, 11:09 UTC](https://www.debian-fr.org/t/problemes-de-compilation-ne-trouve-pas-la-librairie/87365/11 "2022-11-07T11:09:18Z")

</div>

J’ai trouvé d’où venait le problème.  
Le umask normal d’une installation debian est de 0022, pour des raisons de durcissement sécurité, mon installation Preseed utilise `umask 0027`.  
sauf que pour les compilations ça ne passe pas. en refaisant mon Preseed sans `umask 0027`, maintenant ma compilation marche; pas besoin de la faire en root.
