Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Missing C++ Standard Library Headers When Building Wheels On Mac

Abierto
#409 5 comentarios 0 reacciones 1 asignado Ver en GitHub

@thomasrockhu-codecov ya está trabajando en esto.

Desde el 10/10/2024.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

Area: Report Upload bug codecov/codecov-cli Low

Description

I've encountered a build failure on MacOS when attempting to pip install codecov-cli, which compiles these C++ components due to the lack of a pre-built wheel: https://github.com/codecov/codecov-cli/blob/v0.5.0/setup.py#L34-L54

The specific error indicates that the <vector> header file from the C++ Standard Library cannot be found, along with other C++ specific dependencies.

Error Details

The error message received during the wheel build process is as follows:

fatal error: 'vector' file not found
#include <vector>
         ^~~~~~~~

This suggests that the build environment is not correctly configured to locate the C++ standard library headers required for compilation.

Environment

OS: MacOS

This setup seems to work:

 $ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 13.0.0 (clang-1300.0.29.30)
Target: arm64-apple-darwin21.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Here's an example of a broken setup (no mention of c++):

 $ gcc --version
Apple clang version 15.0.0 (clang-1500.3.9.4)
Target: arm64-apple-darwin23.4.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Steps to Reproduce

  1. pip install codecov-cli from a machine without a version of CommandLineTools that includes the required C++ dependencies .
  2. Observe the failure during the wheel-building step with the error message indicating the missing <vector> header.

Resolution Steps

I performed the following steps to resolve the issue:

  1. Completely removed the existing Command Line Tools using the command:

    sudo rm -rf /Library/Developer/CommandLineTools
    
  2. Reinstalled the Command Line Tools by invoking:

    xcode-select --install
    

The fresh installation of the Command Line Tools seems to include the necessary C++ compiler and standard library headers.

Question

Is there any easier way to prevent this issue without requiring a reinstall of xcode Command Line Tools?

Do I need to start enforcing a minimum version of xcode on developer machines? Or is there work in progress to get a working wheel file?

In setup.py, should the language='c++' be set for the Extension to explicitly require a working C++ compiler?

Lenguaje dominante
Python
Estrellas
89
Forks
64
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de codecov/codecov-cli

Todos los issues de codecov/codecov-cli

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.