actions / runner-images

GitHub Actions runner images
MIT License
10.18k stars 3.06k forks source link

BOOST_ROOT directory is missing #83

Closed rkennedy closed 4 years ago

rkennedy commented 5 years ago

Documentation says BOOST_ROOT refers to the directory where the Boost library is installed. Although the environment variable is set to a plausible value, I find the directory doesn't exist.

Virtual environments affected

Expected behavior I expected to see a list of hundreds of .hpp files.

Actual behavior I used the following workflow:

name: Build
on:
- push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - run: |
        ls -lR ${BOOST_ROOT}

This is the output I see:

ls: cannot access '/usr/local/share/boost/1.69.0': No such file or directory

Have I misunderstood how to use Boost in this environment?

colin-daniels commented 5 years ago

I also had some issues with this and just ended up installing boost via apt-get to get things working, but you're right, to me at least it doesn't seem like boost 1.69 is actually installed. Listing packages via apt list --installed you only get:

libboost-context1.65.1/bionic,now 1.65.1+dfsg-0ubuntu5 amd64 [installed,automatic]
libboost-filesystem1.65.1/bionic,now 1.65.1+dfsg-0ubuntu5 amd64 [installed,automatic]
libboost-program-options1.65.1/bionic,now 1.65.1+dfsg-0ubuntu5 amd64 [installed,automatic]
libboost-system1.65.1/bionic,now 1.65.1+dfsg-0ubuntu5 amd64 [installed,automatic]
libboost-thread1.65.1/bionic,now 1.65.1+dfsg-0ubuntu5 amd64 [installed,automatic]

And actually searching the filesystem for anything with boost in the name via sudo find / -iname '*boost*' results in:

/proc/sys/vm/watermark_boost_factor
/var/lib/dpkg/info/libboost-system1.65.1:amd64.triggers
/var/lib/dpkg/info/libboost-context1.65.1:amd64.triggers
/var/lib/dpkg/info/libboost-context1.65.1:amd64.md5sums
/var/lib/dpkg/info/libboost-system1.65.1:amd64.list
/var/lib/dpkg/info/libboost-filesystem1.65.1:amd64.triggers
/var/lib/dpkg/info/libboost-context1.65.1:amd64.shlibs
/var/lib/dpkg/info/libboost-context1.65.1:amd64.list
/var/lib/dpkg/info/libboost-filesystem1.65.1:amd64.list
/var/lib/dpkg/info/libboost-program-options1.65.1:amd64.triggers
/var/lib/dpkg/info/libboost-thread1.65.1:amd64.md5sums
/var/lib/dpkg/info/libboost-program-options1.65.1:amd64.shlibs
/var/lib/dpkg/info/libboost-system1.65.1:amd64.md5sums
/var/lib/dpkg/info/libboost-program-options1.65.1:amd64.list
/var/lib/dpkg/info/libboost-thread1.65.1:amd64.shlibs
/var/lib/dpkg/info/libboost-program-options1.65.1:amd64.md5sums
/var/lib/dpkg/info/libboost-filesystem1.65.1:amd64.shlibs
/var/lib/dpkg/info/libboost-thread1.65.1:amd64.list
/var/lib/dpkg/info/libboost-filesystem1.65.1:amd64.md5sums
/var/lib/dpkg/info/libboost-thread1.65.1:amd64.triggers
/var/lib/dpkg/info/libboost-system1.65.1:amd64.shlibs
/var/lib/docker/overlay2/693992ea11e746873abe2306b2febae3ef6b74330fb59fddca9a8f37048f6c24/diff/usr/include/c++/6/bits/boost_concept_check.h
/var/lib/docker/overlay2/2b143473f4a9ff8401447814bcc170cf0f418dd282c9b08255bee32edd449f3e/diff/usr/share/cmake/Modules/FindBoost.cmake
/var/lib/docker/overlay2/2b143473f4a9ff8401447814bcc170cf0f418dd282c9b08255bee32edd449f3e/diff/usr/share/cmake/Help/module/FindBoost.rst
/var/lib/docker/overlay2/2b143473f4a9ff8401447814bcc170cf0f418dd282c9b08255bee32edd449f3e/diff/usr/include/c++/8.3.0/bits/boost_concept_check.h
/var/cache/apt/archives/libboost-thread1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb
/var/cache/apt/archives/libboost-system1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb
/var/cache/apt/archives/libboost-context1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb
/var/cache/apt/archives/libboost-filesystem1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb
/var/cache/apt/archives/libboost-program-options1.65.1_1.65.1+dfsg-0ubuntu5_amd64.deb
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.65.1
/usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1
/usr/lib/x86_64-linux-gnu/libboost_context.so.1.65.1
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1
/usr/share/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/ryu-1.0.2/LICENSE-BOOST
/usr/share/lintian/overrides/libboost-context1.65.1
/usr/share/lintian/overrides/libboost-filesystem1.65.1
/usr/share/lintian/overrides/libboost-thread1.65.1
/usr/share/lintian/overrides/libboost-system1.65.1
/usr/share/lintian/overrides/libboost-program-options1.65.1
/usr/share/doc/libboost-context1.65.1
/usr/share/doc/libboost-filesystem1.65.1
/usr/share/doc/libboost-thread1.65.1
/usr/share/doc/libboost-system1.65.1
/usr/share/doc/libboost-program-options1.65.1
/usr/local/lib/android/sdk/cmake/3.6.4111459/share/cmake-3.6/Modules/FindBoost.cmake
/usr/local/lib/android/sdk/cmake/3.6.4111459/share/cmake-3.6/Help/module/FindBoost.rst
/usr/local/share/vcpkg/ports/boost-icl
/usr/local/share/vcpkg/ports/boost-lockfree
/usr/local/share/vcpkg/ports/boost-detail
/usr/local/share/vcpkg/ports/boost-contract
/usr/local/share/vcpkg/ports/boost-format
/usr/local/share/vcpkg/ports/boost-xpressive
/usr/local/share/vcpkg/ports/boost-multi-array
/usr/local/share/vcpkg/ports/boost-process
/usr/local/share/vcpkg/ports/boost-odeint
/usr/local/share/vcpkg/ports/boost-tokenizer
/usr/local/share/vcpkg/ports/boost-numeric-conversion
/usr/local/share/vcpkg/ports/openmvs/boost-1.71.patch
/usr/local/share/vcpkg/ports/boost-circular-buffer
/usr/local/share/vcpkg/ports/boost-dynamic-bitset
/usr/local/share/vcpkg/ports/boost-multiprecision
/usr/local/share/vcpkg/ports/boost-type-traits
/usr/local/share/vcpkg/ports/boost-throw-exception
/usr/local/share/vcpkg/ports/boost-date-time
/usr/local/share/vcpkg/ports/boost-assert
/usr/local/share/vcpkg/ports/boost-qvm
/usr/local/share/vcpkg/ports/boost-container-hash
/usr/local/share/vcpkg/ports/boost-proto
/usr/local/share/vcpkg/ports/boost-mp11
/usr/local/share/vcpkg/ports/boost-iterator
/usr/local/share/vcpkg/ports/libodb-boost
/usr/local/share/vcpkg/ports/boost-property-tree
/usr/local/share/vcpkg/ports/boost-graph
/usr/local/share/vcpkg/ports/boost-interval
/usr/local/share/vcpkg/ports/boost-type-erasure
/usr/local/share/vcpkg/ports/boost-pool
/usr/local/share/vcpkg/ports/boost-property-map
/usr/local/share/vcpkg/ports/boost-typeof
/usr/local/share/vcpkg/ports/boost-unordered
/usr/local/share/vcpkg/ports/boost-modular-build-helper
/usr/local/share/vcpkg/ports/boost-modular-build-helper/boost-modular-build.cmake
/usr/local/share/vcpkg/ports/boost-asio
/usr/local/share/vcpkg/ports/boost-logic
/usr/local/share/vcpkg/ports/boost-parameter
/usr/local/share/vcpkg/ports/boost-algorithm
/usr/local/share/vcpkg/ports/boost-conversion
/usr/local/share/vcpkg/ports/boost-serialization
/usr/local/share/vcpkg/ports/boost-polygon
/usr/local/share/vcpkg/ports/boost-program-options
/usr/local/share/vcpkg/ports/boost-variant2
/usr/local/share/vcpkg/ports/boost-endian
/usr/local/share/vcpkg/ports/boost-build
/usr/local/share/vcpkg/ports/boost-locale
/usr/local/share/vcpkg/ports/boost-smart-ptr
/usr/local/share/vcpkg/ports/boost-signals
/usr/local/share/vcpkg/ports/boost-coroutine
/usr/local/share/vcpkg/ports/wt/0003-disable-boost-autolink.patch
/usr/local/share/vcpkg/ports/quickfast/00001-fix-boost-asio.patch
/usr/local/share/vcpkg/ports/boost-math
/usr/local/share/vcpkg/ports/boost-flyweight
/usr/local/share/vcpkg/ports/boost-bimap
/usr/local/share/vcpkg/ports/boost-preprocessor
/usr/local/share/vcpkg/ports/boost-winapi
/usr/local/share/vcpkg/ports/boost-units
/usr/local/share/vcpkg/ports/boost-stacktrace
/usr/local/share/vcpkg/ports/boost-move
/usr/local/share/vcpkg/ports/boost-io
/usr/local/share/vcpkg/ports/boost-system
/usr/local/share/vcpkg/ports/boost-lexical-cast
/usr/local/share/vcpkg/ports/boost-ratio
/usr/local/share/vcpkg/ports/libtorrent/add-datetime-to-boost-libs.patch
/usr/local/share/vcpkg/ports/boost-local-function
/usr/local/share/vcpkg/ports/boost-core
/usr/local/share/vcpkg/ports/boost-accumulators
/usr/local/share/vcpkg/ports/boost-ublas
/usr/local/share/vcpkg/ports/boost-compatibility
/usr/local/share/vcpkg/ports/boost-geometry
/usr/local/share/vcpkg/ports/boost-log
/usr/local/share/vcpkg/ports/boost-compute
/usr/local/share/vcpkg/ports/boost-parameter-python
/usr/local/share/vcpkg/ports/boost-di
/usr/local/share/vcpkg/ports/boost-fusion
/usr/local/share/vcpkg/ports/boost-mpi
/usr/local/share/vcpkg/ports/boost-gil
/usr/local/share/vcpkg/ports/boost-phoenix
/usr/local/share/vcpkg/ports/boost-poly-collection
/usr/local/share/vcpkg/ports/boost-lambda
/usr/local/share/vcpkg/ports/boost
/usr/local/share/vcpkg/ports/boost/0001-Fix-boost-ICU-support.patch
/usr/local/share/vcpkg/ports/boost-histogram
/usr/local/share/vcpkg/ports/boost-heap
/usr/local/share/vcpkg/ports/boost-ptr-container
/usr/local/share/vcpkg/ports/boost-vcpkg-helpers
/usr/local/share/vcpkg/ports/boost-vcpkg-helpers/boost-modular-headers.cmake
/usr/local/share/vcpkg/ports/boost-wave
/usr/local/share/vcpkg/ports/libmysql/ignore-boost-version.patch
/usr/local/share/vcpkg/ports/boost-exception
/usr/local/share/vcpkg/ports/boost-utility
/usr/local/share/vcpkg/ports/boost-iostreams
/usr/local/share/vcpkg/ports/boost-optional
/usr/local/share/vcpkg/ports/boost-align
/usr/local/share/vcpkg/ports/libgo/boost-168.patch
/usr/local/share/vcpkg/ports/boost-metaparse
/usr/local/share/vcpkg/ports/boost-container
/usr/local/share/vcpkg/ports/boost-array
/usr/local/share/vcpkg/ports/boost-regex
/usr/local/share/vcpkg/ports/boost-config
/usr/local/share/vcpkg/ports/boost-interprocess
/usr/local/share/vcpkg/ports/boost-outcome
/usr/local/share/vcpkg/ports/boost-hof
/usr/local/share/vcpkg/ports/boost-python
/usr/local/share/vcpkg/ports/boost-fiber
/usr/local/share/vcpkg/ports/boost-msm
/usr/local/share/vcpkg/ports/boost-tti
/usr/local/share/vcpkg/ports/boost-scope-exit
/usr/local/share/vcpkg/ports/boost-timer
/usr/local/share/vcpkg/ports/boost-variant
/usr/local/share/vcpkg/ports/boost-predef
/usr/local/share/vcpkg/ports/boost-foreach
/usr/local/share/vcpkg/ports/boost-coroutine2
/usr/local/share/vcpkg/ports/boost-multi-index
/usr/local/share/vcpkg/ports/boost-random
/usr/local/share/vcpkg/ports/pcl/boost-1.70.patch
/usr/local/share/vcpkg/ports/boost-concept-check
/usr/local/share/vcpkg/ports/boost-disjoint-sets
/usr/local/share/vcpkg/ports/boost-type-index
/usr/local/share/vcpkg/ports/boost-thread
/usr/local/share/vcpkg/ports/boost-beast
/usr/local/share/vcpkg/ports/boost-function-types
/usr/local/share/vcpkg/ports/boost-functional
/usr/local/share/vcpkg/ports/boost-function
/usr/local/share/vcpkg/ports/boost-crc
/usr/local/share/vcpkg/ports/boost-intrusive
/usr/local/share/vcpkg/ports/boost-spirit
/usr/local/share/vcpkg/ports/boost-hana
/usr/local/share/vcpkg/ports/boost-safe-numerics
/usr/local/share/vcpkg/ports/boost-graph-parallel
/usr/local/share/vcpkg/ports/boost-atomic
/usr/local/share/vcpkg/ports/boost-vmd
/usr/local/share/vcpkg/ports/boost-sort
/usr/local/share/vcpkg/ports/boost-filesystem
/usr/local/share/vcpkg/ports/boost-uuid
/usr/local/share/vcpkg/ports/boost-range
/usr/local/share/vcpkg/ports/folly/boost-1.70.patch
/usr/local/share/vcpkg/ports/boost-test
/usr/local/share/vcpkg/ports/boost-dll
/usr/local/share/vcpkg/ports/boost-static-assert
/usr/local/share/vcpkg/ports/boost-yap
/usr/local/share/vcpkg/ports/boost-chrono
/usr/local/share/vcpkg/ports/soci/0001-Deduce-reference-in-boost-fusion-for_each.patch
/usr/local/share/vcpkg/ports/freeopcua/improve_compatibility_with_recent_boost.patch
/usr/local/share/vcpkg/ports/freeopcua/boost-1.70.patch
/usr/local/share/vcpkg/ports/boost-signals2
/usr/local/share/vcpkg/ports/boost-assign
/usr/local/share/vcpkg/ports/boost-convert
/usr/local/share/vcpkg/ports/boost-statechart
/usr/local/share/vcpkg/ports/boost-rational
/usr/local/share/vcpkg/ports/boost-tuple
/usr/local/share/vcpkg/ports/boost-context
/usr/local/share/vcpkg/ports/boost-bind
/usr/local/share/vcpkg/ports/boost-mpl
/usr/local/share/vcpkg/ports/boost-any
/usr/local/share/vcpkg/ports/boost-integer
/usr/local/share/vcpkg/ports/boost-callable-traits
/usr/local/share/vcpkg/scripts/boost
/usr/local/share/vcpkg/downloads/tools/cmake-3.14.0-linux/cmake-3.14.0-Linux-x86_64/share/cmake-3.14/Modules/FindBoost.cmake
/usr/local/share/vcpkg/downloads/tools/cmake-3.14.0-linux/cmake-3.14.0-Linux-x86_64/share/cmake-3.14/Help/module/FindBoost.rst
/usr/local/share/vcpkg/downloads/tools/cmake-3.14.0-linux/cmake-3.14.0-Linux-x86_64/doc/cmake/html/_sources/module/FindBoost.rst.txt
/usr/local/share/vcpkg/downloads/tools/cmake-3.14.0-linux/cmake-3.14.0-Linux-x86_64/doc/cmake/html/module/FindBoost.html
/usr/local/share/cmake-3.12/Modules/FindBoost.cmake
/usr/local/share/cmake-3.12/Help/module/FindBoost.rst
/usr/local/doc/cmake/html/_sources/module/FindBoost.rst.txt
/usr/local/doc/cmake/html/module/FindBoost.html
/usr/include/c++/7/bits/boost_concept_check.h

...which does not seem to include boost 1.69 libraries at least

erenon commented 4 years ago

FTR, to get boost test framework 1.65.1 and its dependencies installed:

sudo apt-get install --force-yes libboost-filesystem1.65.1 libboost-test1.65.1 libboost-system1.65.1 libboost1.65-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so.1.65.1 /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 /usr/lib/x86_64-linux-gnu/libboost_system.so

libboost1.65-dev contains the headers (all of them), others are the shared libraries. The symlinks are required, as the installed libs are versioned (libboost_filesystem.so.1.62.0) while cmake is looking for a non-versioned lib (libboost_filesystem.so) The package list of bionic can be found at: https://packages.ubuntu.com/bionic/libs/

Then cmake can be invoked with BOOST_LIBRARYDIR specified:

cmake -DBOOST_LIBRARYDIR=/usr/lib/x86_64-linux-gnu/
dmitry-shibanov commented 4 years ago

Hello, this issue is caused by failure during previous image-generation. It will be resolved with next image rollout.

dmitry-shibanov commented 4 years ago

Hello, issue should be resolved in current images, feel free to reopen the issue if something doesn't work as expected.

Playjasb2 commented 4 years ago

I ran into the same sort of issue when I tried to get CMake to use Boost 1.72. I even tried to install it myself, but I still get the same problem. In the end, I decided that I'll install the version that apt-get installs, and have my project depend on that version. I can confirm that works.

erenon commented 4 years ago

@Playjasb2 : BOOST_ROOT is no longer set. Use an explicit version, e.g: BOOST_ROOT_1_69_0 or BOOST_ROOT_1_72_0. Also see https://github.com/actions/virtual-environments/pull/540

Playjasb2 commented 4 years ago

Ah thanks! That works! :D