Forum Programmation.c++ Meson ne détecte pas boost

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
14
jan.
2019

Bonjour,
Meson ne détecte pas ma libraire boost lors de la compilation de mon projet avec ninja.
Pourtant je l'ai correctement inclus dans
boostdep = dependency('boost', modules : ['thread', 'system', 'test'])
J'utilise la version 0.49 de meson avec ninja 1.8.2.

Voici le fichier meson-log.txt.

Build started at 2019-01-14T14:14:14.038834
Main binary: /opt/bin/python3
Python system: Linux
The Meson build system
Version: 0.49.0
Source dir: /volume1/app/jenkins_home/workspace/rett
Build dir: /volume1/app/jenkins_home/workspace/rett/buildir
Build type: native build
Project name: rett
Project version: 0.14-alpha
Native C++ compiler: c++ (gcc 6.3.0 "c++ (OpenWrt GCC 6.3.0) 6.3.0")
Build machine cpu family: arm
Build machine cpu: armv7l
Running command: /bin/[ -d .git ]
--- stdout ---
--- stderr ---
Running command: /volume1/app/jenkins_home/workspace/rett/./RETT-VERSION-GEN
--- stdout ---
--- stderr ---
Dependency ncurses found: YES (cached)
WARNING: Requested boost library test that doesn't exist. This will be an error in the future
Boost library root dir is None
Boost include directory is None
Running compile:
Working directory:  /tmp/tmp4k5pt8vr
Command line:  c++ /tmp/tmp4k5pt8vr/testfile.cpp -pipe -D_FILE_OFFSET_BITS=64 -E -P -O0     -fpermissive
Code:
#include <boost/version.hpp>
#ifndef BOOST_LIB_VERSION
# define BOOST_LIB_VERSION
#endif
"MESON_GET_DEFINE_DELIMITER"
BOOST_LIB_VERSION
Compiler stdout:
Compiler stderr:
/tmp/tmp4k5pt8vr/testfile.cpp:2:37: fatal error: boost/version.hpp: No such file or directory
#include <boost/version.hpp>                                  ^
compilation terminated.
Dependency Boost (thread, system) found: NO
meson.build:19:0: ERROR:  Dependency "boost" not found
  • # boost est-il bien installé ?

    Posté par  (site web personnel) . Évalué à 1.

    Quelques questions:

    • Quels sont les paquets boost que tu as installés (libboost-thread-dev, libboost-system-dev, libboost-test-dev ou assimilés) ?
    • Où sont les fichiers installés par ces paquets (/usr/include ou assimilé) ?
    • Ces emplacements font-ils partie des chemins de recherche par défaut du compilateur ?

    D'après un codesearch rapide, le code Meson que tu as cité est explicitement testé dans la suite de test Meson, donc je pense que ça n'est pas la partie problématique…

    Debian Consultant @ DEBAMAX

    • [^] # Re: boost est-il bien installé ?

      Posté par  . Évalué à 1. Dernière modification le 15 janvier 2019 à 14:53.

      Quels sont les paquets boost que tu as installés (libboost-thread-dev, libboost-system-dev, libboost-test-dev ou assimilés) ?

      J'ai installer boost, boost-thread, boost-system, boost-test avec opkg.

      Où sont les fichiers installés par ces paquets (/usr/include ou assimilé) ?

      J'ai aucun fichier boost dans /usr/include.

      Un ls /usr/include donne :

      cursesapp.h  cursesp.h  etip.h      ncurses_dll.h  term_entry.h
      cursesf.h    cursesw.h  form.h      ncurses.h      term.h
      curses.h     cursslk.h  menu.h      panel.h        tic.h
      cursesm.h    eti.h      nc_tparm.h  termcap.h      unctrl.h
      
      

      Ces emplacements font-ils partie des chemins de recherche par défaut du compilateur ?

      Je sais pas ! Ou peut on voir ça ? Apparemment meson utilise pkg-config pour trouvée les bibliothèques.

      • [^] # Re: boost est-il bien installé ?

        Posté par  (site web personnel) . Évalué à 2.

        Si tu as bien lu le post auquel tu réponds, il faut que tu installes les paquets xxx-dev de tes librairies. Celles-ci son en effet généralement découpées en deux paquets, un pour la simple utilisation, et un pour le développement… il te manque les paquets de développement (qui fournissent les fichiers .h associés aux librairies).

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

        • [^] # Re: boost est-il bien installé ?

          Posté par  . Évalué à 1.

          Sauf que j'utilise opkg sur un Nas Synology et boost-dev n'existe pas.

          • [^] # Re: boost est-il bien installé ?

            Posté par  (site web personnel) . Évalué à 2.

            Au vu des posts sur le web, tu n'es pas le seul. Et il semble que chaque plateforme embarquée fasse ses propres dépôt avec/sans boost-dev.

            Sinon, une récupération des sources de boost (pour la version qui est packagée via opkg), et installation à la main dans /usr/local (ou plus spécifique mais il va probablement falloir indiquer où c'est à meson).

            Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.