Arrow headers installed to /usr/local can break perspective's subdirectory Arrow build #2791
Unanswered
tomjakubowski
asked this question in
Q&A
Replies: 1 comment 4 replies
-
this is a duplicate of many other similar issues: |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Bug Report
Steps to Reproduce:
Expected Result:
Perspective builds Arrow with its own set of options (defined in FindInstallDependency.cmake)
Actual Result:
Flags from the global installation, defined in /usr/local/include/arrow/util/config.h, will interfere with perspective's Arrow build.
In my case, that global config file had
#define ARROW_JEMALLOC
, while perspective's build had(set ARROW_JEMALLOC OFF)
in cmake, which are inconsistent flags and so Arrow was miscompiled with some missing symbols referencing their Jemalloc memory pool implementation.Found this by running a
make VERBOSE=1
from the arrow-build directory (atrust/target/release/build/perspective-server-bb669fae7f7ee29c/out/build/arrow-build/
). Logs below. Notice that the-I
for /usr/local/include comes before the-I
for arrow's own source file.Environment:
macOS 13.3.1 perspective master, 13b26d7
Additional Context:
Here is the
#include
which was picking up from /usr/local instead of the build directory.This seems like a potentially common hazard/footgun for people building from source, who may have an installed Arrow elsewhere on their system. I do not know if a libarrow installed to /usr (as might be done by a Linux distro package manager) causes the same problem but would be worth investigating.
Beta Was this translation helpful? Give feedback.
All reactions