Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++] Compatibility with glog 0.7 #40181

Closed
h-vetinari opened this issue Feb 21, 2024 · 8 comments · Fixed by #40230
Closed

[C++] Compatibility with glog 0.7 #40181

h-vetinari opened this issue Feb 21, 2024 · 8 comments · Fixed by #40230

Comments

@h-vetinari
Copy link
Contributor

Describe the bug, including details regarding any error messages, version, and platform.

Trying to build arrow 15 (and before) with the new glog 0.7 runs into a lot of errors, starting with:

[138/498] Building CXX object src/arrow/CMakeFiles/arrow_objlib.dir/util/logging.cc.o
FAILED: src/arrow/CMakeFiles/arrow_objlib.dir/util/logging.cc.o 
$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DARROW_EXPORTING -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HDFS -DARROW_MIMALLOC -DARROW_USE_GLOG -DARROW_WITH_BACKTRACE -DARROW_WITH_BROTLI -DARROW_WITH_BZ2 -DARROW_WITH_LZ4 -DARROW_WITH_RE2 -DARROW_WITH_SNAPPY -DARROW_WITH_TIMING_TESTS -DARROW_WITH_UTF8PROC -DARROW_WITH_ZLIB -DARROW_WITH_ZSTD -DAWS_AUTH_USE_IMPORT_EXPORT -DAWS_CAL_USE_IMPORT_EXPORT -DAWS_CHECKSUMS_USE_IMPORT_EXPORT -DAWS_COMMON_USE_IMPORT_EXPORT -DAWS_COMPRESSION_USE_IMPORT_EXPORT -DAWS_CRT_CPP_USE_IMPORT_EXPORT -DAWS_EVENT_STREAM_USE_IMPORT_EXPORT -DAWS_HTTP_USE_IMPORT_EXPORT -DAWS_IO_USE_IMPORT_EXPORT -DAWS_MQTT_USE_IMPORT_EXPORT -DAWS_S3_USE_IMPORT_EXPORT -DAWS_SDKUTILS_USE_IMPORT_EXPORT -DAWS_SDK_VERSION_MAJOR=1 -DAWS_SDK_VERSION_MINOR=11 -DAWS_SDK_VERSION_PATCH=242 -DAWS_USE_EPOLL -DBOOST_ALL_DYN_LINK -DURI_STATIC_BUILD -DUSE_IMPORT_EXPORT=1 -I$SRC_DIR/cpp/build/src -I$SRC_DIR/cpp/src -I$SRC_DIR/cpp/src/generated -isystem $SRC_DIR/cpp/thirdparty/flatbuffers/include -isystem $SRC_DIR/cpp/thirdparty/hadoop/include -isystem $SRC_DIR/cpp/build/jemalloc_ep-prefix/src -isystem $SRC_DIR/cpp/build/mimalloc_ep/src/mimalloc_ep/include/mimalloc-2.0 -Wno-noexcept-type -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/apache-arrow-15.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -fdiagnostics-color=always -fuse-ld=gold  -Wall -fno-semantic-interposition -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/apache-arrow-15.0.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -DNDEBUG -O2 -ftree-vectorize  -std=c++17 -fPIC -pthread -fPIC -MD -MT src/arrow/CMakeFiles/arrow_objlib.dir/util/logging.cc.o -MF src/arrow/CMakeFiles/arrow_objlib.dir/util/logging.cc.o.d -o src/arrow/CMakeFiles/arrow_objlib.dir/util/logging.cc.o -c $SRC_DIR/cpp/src/arrow/util/logging.cc
In file included from $SRC_DIR/cpp/src/arrow/util/logging.cc:31:
$PREFIX/include/glog/logging.h:60:4: error: #error <glog/logging.h> was not included correctly. See the documention for how to consume the library.
   60 | #  error <glog/logging.h> was not included correctly. See the documention for how to consume the library.
      |    ^~~~~

At first I thought this might be a glog issue (because the release notes don't point to any such breaking changes), but it turns out that this is specific to arrow and can be fixed with a relatively small patch.

Just opening the issue as a reference, and for potential discussion, if compatibility with new glog is somehow at odds with other priorities.

Component(s)

C++, Packaging

@xhochy
Copy link
Member

xhochy commented Feb 21, 2024

I will propose a patch later today.

@bnavigator
Copy link

me, impatiently noting that more than 24h have passed 🥲

@kou kou changed the title Compatibility with glog 0.7 [C++] Compatibility with glog 0.7 Feb 22, 2024
@bnavigator
Copy link

For packagers where this is not mandatory: You can disable the logging feature with cmake -DARROW_USE_GLOG:BOOL=OFF

@xhochy
Copy link
Member

xhochy commented Feb 27, 2024

Fix is in #40230 and CI has passed, ready for review.

kou pushed a commit that referenced this issue Feb 27, 2024
Fixes #40181 

### Are these changes tested?

These changes have been tested as part of the conda feedstocks for Arrow.
* GitHub Issue: #40181

Authored-by: Uwe L. Korn <uwe.korn@quantco.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
@kou kou added this to the 16.0.0 milestone Feb 27, 2024
@kou
Copy link
Member

kou commented Feb 27, 2024

Issue resolved by pull request 40230
#40230

@bnavigator
Copy link

Please reopen. The fix is not complete: #40230 (comment)

@kou
Copy link
Member

kou commented Feb 28, 2024

Could you open a new issue for it?

@bnavigator
Copy link

#40274

zanmato1984 pushed a commit to zanmato1984/arrow that referenced this issue Feb 28, 2024
Fixes apache#40181 

### Are these changes tested?

These changes have been tested as part of the conda feedstocks for Arrow.
* GitHub Issue: apache#40181

Authored-by: Uwe L. Korn <uwe.korn@quantco.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
thisisnic pushed a commit to thisisnic/arrow that referenced this issue Mar 8, 2024
Fixes apache#40181 

### Are these changes tested?

These changes have been tested as part of the conda feedstocks for Arrow.
* GitHub Issue: apache#40181

Authored-by: Uwe L. Korn <uwe.korn@quantco.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants