Ускорение установки Travis CI из-за ошибки ограничения журнала источника - PullRequest
1 голос
/ 24 мая 2019

Я какое-то время работаю над проектом и хочу построить его на travis ci.Мой проект зависит от boost-geometry, поэтому я попробовал следующее travis.yml

language: cpp
dist: Xenial
sudo: true
matrix:
  include:
  - os: linux
    env:
      - PYTHON=3.6
      - CXX=g++-5
      - CC=gcc-5
      - CXXFLAGS = "$CXXFLAGS -std=c++14"
#  - os: linux
#    env: CONDA=3.6 CXX=g++ CC=gcc CXXFLAGS = "$CXXFLAGS -std=c++14"
# Boost
addons:
  apt:
    update: true
    packages:
      - libboost-all-dev
      - g++-5

before_install:
  - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
  - sudo apt-get update -qq
  - sudo apt-get install gcc-5 -y
  - sudo apt-get install g++-5 -y
  - sudo apt-get install libboost-all-dev -y
  - sudo apt-get install python-pip python-dev build-essential
  - sudo apt-get install python3-setuptools
  - sudo apt-get install python3-pip
  - sudo pip install --user --upgrade pip virtualenv
  - sudo pip install --user setuptools
  - sudo virtualenv -p python3 venv
  - source venv/bin/activate
  - sudo pip install pybind11
  - sudo python3 -m pip install pybind11
  - sudo python3 -m pip install --upgrade pip
  - cd src
  - ls
  - cd ../

install:
    - ls $TRAVIS_BUILD_DIR
    - sudo python3 setup.py install
    - sudo python3 setup.py sdist
    - sudo pip install --verbose dist/*.tar.gz
script:
- python tests/test.py

В этом файле выдается ошибка.что указывает на то, что этот файл не установлен как часть boost библиотеки геометрии.

could not find boost/geometry/core/assert.hpp

Так что я решил создать boost из источника.Я использовал следующий файл

language: cpp
dist: Xenial
sudo: true
matrix:
  include:
  - os: linux
    env:
      - PYTHON=3.6
      - CXX=g++-5
      - CC=gcc-5
      - CXXFLAGS = "$CXXFLAGS -std=c++14"
#  - os: linux
#    env: CONDA=3.6 CXX=g++ CC=gcc CXXFLAGS = "$CXXFLAGS -std=c++14"
# Boost
addons:
  apt:
    update: true
    sources:
      -boost-latest
    packages:
      - libboost-all-dev
      - g++-5

before_install:
  - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
  - sudo apt-get update -qq
  - sudo apt-get install gcc-5 -y
  - sudo apt-get install g++-5 -y
  - sudo apt-get install libboost-all-dev -y
  - sudo apt-get install python-pip python-dev build-essential
  - sudo apt-get install python3-setuptools
  - sudo apt-get install python3-pip
  - wget https://sourceforge.net/projects/boost/files/boost/1.70.0/boost_1_70_0.tar.gz
  - tar -xzvf boost_1_70_0.tar.gz
  - cd boost_1_70_0
  - sudo ./bootstrap.sh --prefix=/usr/local --with-libraries=all
  - sudo ./b2 install
  - sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/boost.conf'
  - sudo ldconfig
  - cd ../../
  - sudo pip install --user --upgrade pip virtualenv
  - sudo pip install --user setuptools
  - sudo virtualenv -p python3 venv
  - source venv/bin/activate
  - sudo pip install pybind11
  - sudo python3 -m pip install pybind11
  - sudo python3 -m pip install --upgrade pip
  - cd src
  - ls
  - cd ../


    # Inform user that Boost 1.55 was successfully installed
#    echo "Boost 1.55 was successfully installed."


install:
#- |
#  if [ -n "$PYTHON" ]; then
#    sudo apt-get install -qq g++-6
#    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 90
    - ls $TRAVIS_BUILD_DIR
    - sudo python3 setup.py install
    - sudo python3 setup.py sdist
    - sudo pip install --verbose dist/*.tar.gz
#  elif [ -n "$CONDA" ]; then
#    conda build conda.recipe
#    conda install --use-local pydggrid
#  fi
script:
- python tests/test.py

Он начинает работать, но при форсировании записи логов Трэвис выдает следующую ошибку

The job exceeded the maximum log length, and has been terminated.

Что я могу сделать, чтобы решить эту проблему?Я искал флаг, чтобы избежать форсирования, генерирующего такое количество логов, но не смог его найти.Я также пытался найти причину использования apt-get для установки boost-geometry, но не смог найти подходящий пакет.Может ли кто-нибудь помочь мне с этим вопросом?спасибо

1 Ответ

0 голосов
/ 08 июня 2019

хорошо, я закончил с этим методом

  - wget https://sourceforge.net/projects/boost/files/boost/1.70.0/boost_1_70_0.tar.gz -P $HOME
  - cd $HOME
  - tar -xzvf boost_1_70_0.tar.gz >/dev/null

и поскольку boost является библиотекой только для заголовков, я не скомпилировал ее, я просто добавил ее каталог в раздел include моего скрипта make

...