jduo commented on a change in pull request #8325:
URL: https://github.com/apache/arrow/pull/8325#discussion_r501186324
##########
File path: python/manylinux1/scripts/build_re2.sh
##########
@@ -31,5 +31,7 @@ make prefix=/usr/local -j${NCORES} install
popd
-# Need to remove shared library to make sure the static library is picked up
by Arrow
-rm -rf re2-${RE2_VERSION}.tar.gz re2-${RE2_VERSION} /usr/local/lib/libre2.so*
+# Need to remove static library to make sure the shared library is picked up
by Arrow
+# The static library fails to link when using gRPC 1.32.
+rm -rf re2-${RE2_VERSION}.tar.gz re2-${RE2_VERSION} /usr/local/lib/libre2.a
Review comment:
I was seeing linker errors and wasn't aware static linking was a hard
requirement for manylinux1.
The linker error was the the string constructor for RE2 was not being
defined.
Any thoughts about how to fix this? Flight doesn't use RE2 directly -- gRPC
uses RE2. For this type of problem, with GNU Makefiles I'd change the order
libraries were linked in to ensure gRPC is fed to the linker before RE2 or add
the linker flag to disable stripping of unneeded symbols. I'm not sure about
doing this with CMake though.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]