← All tasks
cppprotocolbuffers/protobuf #20538Reported task

[Git `main`] `-Dprotobuf_BUILD_LIBUPB:BOOL=OFF` is broken (and not covered by CI?)

envgap__protocolbuffers__protobuf-20538

01 / FAILURE SIGNATURE

Captured in a clean container

/tmp/tmp.ajQg1hUGaR/protobuf/upb/reflection/descriptor_bootstrap.h:14:10: fatal error: google/protobuf/descriptor.upb.h: No such file or directory

02 / ENVIRONMENT RECIPE

Base commit
24830cf07e559e912fa2622d3487a679ef0df9a9
Manifest
CMakeLists.txt
Reproduce
cmake -S . -B build -DBUILD_TESTING=OFF && cmake --build build -j4
Run under trace
cmake --build build -j4

03 / ORIGINAL ISSUE TEXT

protocolbuffers/protobuf #20538 · read the original issue
Hi!

Compilation with  `-Dprotobuf_BUILD_LIBUPB:BOOL=OFF` is currently broken on Git `main` (commit 24830cf07e559e912fa2622d3487a679ef0df9a9). For proof and/or to reproduce:

```console
# cd "$(mktemp -d)"

# git clone --depth 1 https://github.com/protocolbuffers/protobuf

# cd protobuf/

# git rev-parse HEAD
24830cf07e559e912fa2622d3487a679ef0df9a9

# cmake -Dprotobuf_BUILD_LIBUPB:BOOL=OFF -S . -B build

# time make -C build VERBOSE=1
[..]
[ 43%] Building CXX object CMakeFiles/libprotoc.dir/upb_generator/common.cc.o
/usr/bin/c++ -DLIBPROTOC_EXPORTS -I/tmp/tmp.ajQg1hUGaR/protobuf/build -I/tmp/tmp.ajQg1hUGaR/protobuf -I/tmp/tmp.ajQg1hUGaR/protobuf/build/src -I/tmp/tmp.ajQg1hUGaR/protobuf/src -I/tmp/tmp.ajQg1hUGaR/protobuf/third_party/utf8_range -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/libprotoc.dir/upb_generator/common.cc.o -MF CMakeFiles/libprotoc.dir/upb_generator/common.cc.o.d -o CMakeFiles/libprotoc.dir/upb_generator/common.cc.o -c /tmp/tmp.ajQg1hUGaR/protobuf/upb_generator/common.cc
In file included from /tmp/tmp.ajQg1hUGaR/protobuf/upb/reflection/common.h:15,
                 from /tmp/tmp.ajQg1hUGaR/protobuf/upb/reflection/def_pool.h:15,
                 from /tmp/tmp.ajQg1hUGaR/protobuf/upb/reflection/def.h:12,
                 from /tmp/tmp.ajQg1hUGaR/protobuf/upb/reflection/def.hpp:26,
                 from /tmp/tmp.ajQg1hUGaR/protobuf/upb_generator/common.h:16,
                 from /tmp/tmp.ajQg1hUGaR/protobuf/upb_generator/common.cc:8:
/tmp/tmp.ajQg1hUGaR/protobuf/upb/reflection/descriptor_bootstrap.h:14:10: fatal error: google/protobuf/descriptor.upb.h: No such file or directory
   14 | #include "google/protobuf/descriptor.upb.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/libprotoc.dir/build.make:1899: CMakeFiles/libprotoc.dir/upb_generator/common.cc.o] Error 1
make[2]: Leaving directory '/tmp/tmp.ajQg1hUGaR/protobuf/build'
make[1]: *** [CMakeFiles/Makefile2:186: CMakeFiles/libprotoc.dir/all] Error 2
make[1]: Leaving directory '/tmp/tmp.ajQg1hUGaR/protobuf/build'
make: *** [Makefile:136: all] Error 2
make: Leaving directory '/tmp/tmp.ajQg1hUGaR/protobuf/build'
```

This is on Linux with GCC 13 (and Protobuf 29.2 installed system-wide (if that matters)).

Best, Sebastian

CC @vitalybuka 

PS: `make -C build upb_generator/common.o` could be of interest for the likely quickest way to see the same error.
Continue on GitHub ↗

04 / LABELS

Labels checked by running the task · needs human review

underspecification
Label rules and the text that matched
[]

Historical install-only results are not EnvGap validation.

Default recipe; commands are ecosystem conventions, not issue-specific.

Proposed by batch curation; baseline wall 785s

Preparation uses current registries. Historical package availability is not enforced here; execution metadata records this limitation separately from the oracle's date-bounding policy.