Arrow headers installed to /usr/local can break perspective's subdirectory Arrow build #2791
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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
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