← All tasks
cppabseil/abseil-cpp #1614Reported task

[Bug]: Problems with inline namespaces in 20240116

envgap__abseil__abseil-cpp-1614

01 / FAILURE SIGNATURE

Captured in a clean container

$SRC_DIR/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc:59:15: error: no member named 'StrCat' in namespace 'absl'

02 / ENVIRONMENT RECIPE

Base commit
563c86a80c06ffbbfaa2ea792a9c255a5c258cf0
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

abseil/abseil-cpp #1614 · read the original issue
### Describe the issue

While [building](https://github.com/conda-forge/grpc-cpp-feedstock/pull/348) grpc with `-DgRPC_ABSL_PROVIDER="package"` in conda-forge against the newest abseil 20240116.0, all builds failed with problems due to namespaces, more precisely: the linkers not finding symbols. This worked without issue with the previous abseil 20230802.0



OSX and windows both failed to find `absl::StrCat`. That [file](https://github.com/abseil/abseil-cpp/blame/20240116.0/absl/strings/str_cat.cc) had quite a lot of changes recently, but I don't see how that symbol could not be found anymore?



OSX:

```

FAILED: CMakeFiles/grpc.dir/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc.o 

$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang++ -Dgrpc_EXPORTS -I$SRC_DIR/include -I$SRC_DIR -I$SRC_DIR/third_party/address_sorting/include -I$SRC_DIR/src/core/ext/upb-gen -I$SRC_DIR/src/core/ext/upbdefs-gen -I$SRC_DIR/third_party/upb -I$SRC_DIR/third_party/utf8_range -I$SRC_DIR/third_party/xxhash -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/libgrpc-1.61.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -D_LIBCPP_DISABLE_AVAILABILITY  -O3 -DNDEBUG -std=gnu++17 -isysroot /Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.13 -fPIC -MD -MT CMakeFiles/grpc.dir/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc.o -MF CMakeFiles/grpc.dir/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc.o.d -o CMakeFiles/grpc.dir/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc.o -c $SRC_DIR/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc

$SRC_DIR/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc:59:15: error: no member named 'StrCat' in namespace 'absl'

        absl::StrCat("getsockname:", grpc_core::StrError(errno)));

        ~~~~~~^

1 error generated.

```



Windows:

```

FAILED: CMakeFiles/grpc.dir/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc.obj

cl.exe  /nologo /TP -DABSL_CONSUME_DLL -DGPR_DLL_IMPORTS -DGRPC_DLL_EXPORTS -DUPB_DLL_IMPORTS -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS -D_WIN32_WINNT=0x600 -D_WINSOCK_DEPRECATED_NO_WARNINGS -I%SRC_DIR%\include -I%SRC_DIR% -I%SRC_DIR%\third_party\address_sorting\include -I%SRC_DIR%\src\core\ext\upb-gen -I%SRC_DIR%\src\core\ext\upbdefs-gen -I%SRC_DIR%\third_party\upb -I%SRC_DIR%\third_party\utf8_range -I%SRC_DIR%\third_party\xxhash -external:I%PREFIX%\Library\include -external:W0 /DWIN32 /D_WINDOWS /W3 /GR /EHsc  /wd4065 /wd4506 /wd4200 /wd4291 /wd4244 /wd4267 /wd4987 /wd4774 /wd4819 /wd4996 /wd4619 /wd4503 /utf-8 /MD /O2 /Ob2 /DNDEBUG -std:c++17 /showIncludes /FoCMakeFiles\grpc.dir\src\core\lib\event_engine\windows\native_windows_dns_resolver.cc.obj /Fdgrpc.pdb /FS -c %SRC_DIR%\src\core\l
Continue on GitHub ↗

04 / LABELS

Labels checked by running the task · needs human review

No supported category has been assigned.

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 225s

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