Skip to content

I need the libboost-all-dev package installed to build my C++ project #7

@ClausKlein

Description

@ClausKlein

If it is not available, I try to fetch and build it.

But this fails with a strange error:

cmake --preset gcc-release --log-level=VERBOSE  # --fresh
Preset CMake variables:

  CMAKE_BUILD_TYPE="RelWithDebInfo"
  CMAKE_CXX_STANDARD="23"
  CMAKE_EXPORT_COMPILE_COMMANDS="ON"
  CMAKE_PROJECT_TOP_LEVEL_INCLUDES="./infra/cmake/use-fetch-content.cmake"
  CMAKE_TOOLCHAIN_FILE="infra/cmake/gnu-toolchain.cmake"

-- The CXX compiler identification is GNU 15.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE

-- Could NOT find Boost (missing: Boost_DIR)

-- CPM: Adding package boost-cmake@1.87.0.6 (v1.87.0-rc6)
-- Use CMAKE_UNITY_BUILD
-- Fetching Boost
-- Executing download step for boost
-- Downloading...
   dst='/__w/net_asio_programs/net_asio_programs/build/gcc-release/_deps/boost-tmp/boost-1.87.0-cmake.7z'
   timeout='none'
   inactivity timeout='none'
-- Using src='https://github.com/boostorg/boost/releases/download/boost-1.87.0/boost-1.87.0-cmake.7z'
-- [download 0% complete]

...

-- [download 99% complete]
-- [download 100% complete]
-- verifying file...
       file='/__w/net_asio_programs/net_asio_programs/build/gcc-release/_deps/boost-tmp/boost-1.87.0-cmake.7z'
-- Downloading... done
-- extracting...
     src='/__w/net_asio_programs/net_asio_programs/build/gcc-release/_deps/boost-tmp/boost-1.87.0-cmake.7z'
     dst='/__w/net_asio_programs/net_asio_programs/build/gcc-release/_deps/boost-src'
-- extracting... [tar xfz]
CMake Error: Problem with archive_read_next_header(): Pathname cannot be converted from UTF-16LE to current locale.
CMake Error: Problem extracting tar: /__w/net_asio_programs/net_asio_programs/build/gcc-release/_deps/boost-tmp/boost-1.87.0-cmake.7z
-- extracting... [error clean up]

This is a known issue with Boost’s .7z release packages — they contain UTF-16LE encoded filenames, and CMake/libarchive on
most Linux distros does not support 7-Zip’s Unicode filename encoding correctly.

I would be great if the libboost-all-dev package would be installed as default.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions