2017-07-24 1 views
3

J'ai essayé d'installer boost 1.64 dans l'environnement Travis CI de plusieurs façons. Mais aucun d'eux n'a été réussi. Dans ma première tentative naïve Je viens d'ajouter la ligne suivante dans le script travis:Comment utiliser la dernière version de boost dans Travis CI?

install: 
    - sudo apt-get install libboost1.64-all-dev 

Le résultat était un message d'erreur: ne peut pas trouver paquet libboost1.64-all-dev

Dans la deuxième tentative, je spécifié référentiel avec les adaptations nécessaires boost version.

before_install: 
    - sudo add-apt-repository -y ppa:nschloe/boost-nightly 
    - sudo apt-get update -qq 
install: 
    - sudo apt-get install libboost-all-dev 
    # - sudo apt-get install libboost1.64-all-dev (also tried) 

Dans le premier cas la version par défaut boost (1,54) a été installé. En deuxième résultat de cas a été même message d'erreur: ne peut pas trouver paquet libboost1.64-all-dev

En troisième tentative, je instructions saisis manuellement installer boost:

install: 
    - sudo wget -O boost_1_64_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.64.0/boost_1_64_0.tar.gz/download 
    - sudo tar xzvf boost_1_64_0.tar.gz 
    - cd boost_1_64_0/ 
    - sudo ./bootstrap.sh --prefix=/usr/local 
    - sudo ./b2 
    - sudo ./b2 install 

Comme résultat mon script a pris plus de 30 min a ensuite été terminé. Est-ce qu'un moyen simple (ou juste fonctionnant) d'installer autre que la version de boost par défaut à Travis CI?

+0

Je ne pense pas que ce soit une question Travis. "Manuellement" signifie-t-il former la ligne de commande? –

+0

Par manuellement, je veux dire le même ensemble de commandes dans le script Travis que je tapais dans la ligne de commande. – Viktor

Répondre

4

Pour regarder que tous les paquets sont disponibles (en particulier lorsque vous ajoutez le dépôt supplémentaire.), Vous pouvez exécuter la commande « apt-cache », par exemple:

sudo apt-cache search libboost 

Ensuite, vous pouvez voir les versions disponibles . Lors de la construction manuelle, par défaut, il construit "tout" (toutes les librairies de débogage/libération partagées statiques/partagées), ce qui prend beaucoup de temps et par conséquent, il peut prendre du temps.

Vous pouvez essayer de ne construire que les bibliothèques dont vous avez besoin en fait, pour examle:

./bootstrap.sh --with-libraries=program_options,filesystem,system 
./b2 link=shared threading=multi variant=release 

(voir ici pour plus de détails: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html)

1

J'ai couru dans le même problème et en limitant l'information la sortie des commandes semblait faire l'affaire.

Les trois qui inondent le journal:

- tar -xzf boost_1_64_0.tar.gz 
    - ./b2 -d0 
    - ./b2 install -d0