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

Error after fetching native_engine.so #5182

Closed
tcco opened this issue Dec 6, 2017 · 2 comments
Closed

Error after fetching native_engine.so #5182

tcco opened this issue Dec 6, 2017 · 2 comments

Comments

@tcco
Copy link

tcco commented Dec 6, 2017

Building pants on Alpine Linux via Docker with Dockerfile provided below

FROM alpine
RUN apk update && apk upgrade
RUN apk add --no-cache 		\
    bash build-base 		\
    curl         		\
    gcc g++ 			\
    libc-dev libc6-compat       \
    libffi-dev linux-headers 	\
    make 			\
    openjdk8 openssl-dev	\
    python python-dev py-psutil \
    zlib-dev

EXPOSE 5000 80

RUN mkdir -p /opt/python/current/app
WORKDIR /opt/python/current/app
# Requirements
ADD . .
RUN ./pants clean-all

Ran across a CRITICAL after downloading the native_engine.so from bintray

INFO] Attempting to fetch native_engine.so binary from: https://dl.bintray.com/pantsbuild/bin/build-support/bin/native-engine/linux/x86_64/af2e5b09cb7eee743c8d4e065258ac046c8a19ac/native_engine.so ...
100% .................................................. 21364 KB 4.516s
INFO] Fetched native_engine.so binary from: https://dl.bintray.com/pantsbuild/bin/build-support/bin/native-engine/linux/x86_64/af2e5b09cb7eee743c8d4e065258ac046c8a19ac/native_engine.so .
CRITICAL] panic at 'there is no guard page', /checkout/src/libstd/sys/unix/thread.rs:329
CRITICAL] Please file a bug at https://github.com/pantsbuild/pants/issues.
fatal runtime error: failed to initiate panic, error 5
Aborted

Appreciate it

@stuhood
Copy link
Sponsor Member

stuhood commented Dec 6, 2017

@tcco : Hey Tim! The native engine is built on debian wheezy, and currently requires at least GLIBC 2.13. I'm working to lower the GLIBC to 2.12 via #4896, but as it stands, I don't think we'll be able to build on a system that uses musl.

It would be a goal to link statically against musl at some point, but we currently have other native dependencies (gRPC I think? cc @illicitonion) that don't make that easy, unfortunately.

If it's not an option to use a different linux distribution, it should in theory be possible to rebuild in the 1.3.x branch on alpine, and then host the native binary yourself at either a URL or file link with the --binaries-baseurls option.

@tcco
Copy link
Author

tcco commented Dec 6, 2017

@stuhood This is great insight. Thanks for that - I'll probably opt out of Alpine knowing the mismatch. Out of curiosity I found this, which could provide a hack fix.

Primary reason to go with Alpine was the light-weighted nature. Really am looking for compatibility and portability when interacting with pants! Which linux disto would you recommend?

Appreciate it

@tcco tcco closed this as completed Dec 7, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants