Skip to content

Build issue on Debian - .travis/deps.sh linux doesn't ensure C++ is installed #489

@rbanffy

Description

@rbanffy

Staring from clean Debian container image (docker.io/library/debian:latest), and setting up the environment with the following commands:

apt install git sudo
git clone https://github.com/open-simh/simh.git
cd simh
.travis/deps.sh linux

When attempting a build with either unix or ninja flavors, the build process fails as follows:

root@efcd54277366:/simh# cmake/cmake-builder.sh --flavor unix 
** cmake version 3.31.6

CMake suite maintained and supported by Kitware (kitware.com/cmake).
cmake/cmake-builder.sh: SIMH top-evel directory: /simh
cmake/cmake-builder.sh: Build directory:         /simh/cmake/build-unix
cmake/cmake-builder.sh: Removing CMakeCache.txt and CMakeFiles
/usr/bin/cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -S /simh -B /simh/cmake/build-unix 
-- CMAKE_MODULE_PATH: /simh/cmake;/simh/cmake/installer-customizations
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at CMakeLists.txt:83 (project):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
*** cmake/cmake-builder.sh: Errors detected during environment generation. Exiting.

and

root@efcd54277366:/simh# cmake/cmake-builder.sh --flavor ninja
** cmake version 3.31.6

CMake suite maintained and supported by Kitware (kitware.com/cmake).
cmake/cmake-builder.sh: SIMH top-evel directory: /simh
cmake/cmake-builder.sh: Build directory:         /simh/cmake/build-ninja
cmake/cmake-builder.sh: Removing CMakeCache.txt and CMakeFiles
/usr/bin/cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -S /simh -B /simh/cmake/build-ninja 
-- CMAKE_MODULE_PATH: /simh/cmake;/simh/cmake/installer-customizations
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at CMakeLists.txt:83 (project):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
*** cmake/cmake-builder.sh: Errors detected during environment generation. Exiting.

Adding g++ to the packages in the install_linux function resolves the issue. Should we add the right compilers to the other Unix setups as well? I'm not sure whether it's possible to have a MacPorts or Homebrew install without a C++ compiler (it comes with Xcode, which is a requirement), but the Arch Linux setup doesn't mention it either (on Debian, C is installed with the other requirements, but C++ isn't).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions