https://pantsbuild.org/ logo
#development
Title
# development
f

fast-nail-55400

07/29/2020, 7:30 PM
how does the native_engine.so get built in remoting? Is it built locally and then uploaded to the CAS, or is it built in the remoting environment?
context is I’m seeing the following error when running a Pants build against a Buildgrid instance with a worker running rquests in a container similar to the Ubuntu 16 container used on RBE. the client side is Ubuntu 20.04 LTS though:
Copy code
E   ImportError: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /toolchain/operations/src/python/pants/engine/internals/native_engine.so)
h

hundreds-father-404

07/29/2020, 7:35 PM
Exactly. See
engine/internals/BUILD
. It’s simply a
files()
target
Compiling the binary is entirely controlled outside of Pants, I think
build-support/bin/native/bootstrap_code.sh
f

fast-nail-55400

07/29/2020, 7:36 PM
for integration tests running remotely, does that
files
target cause Pants to upload the
native_engine.so
into the CAS for use in the remote execution request to run the integration test?
w

witty-crayon-22786

07/29/2020, 7:37 PM
yea, this is the multi-platform execution stuff. client and server need to be fairly aligned currently, unfortunately.
for integration tests running remotely, does that 
files
 target cause Pants to upload the 
native_engine.so
 into the CAS for use in the remote execution request to run the integration test?
yes
(although iirc, it's a
resources
target)
f

fast-nail-55400

07/29/2020, 7:40 PM
okay so that behavior will be an issue when the client environment differs from the remoting environment
w

witty-crayon-22786

07/29/2020, 7:41 PM
yea. that’s the whole thrust of the multi-platform speculation stuff.
f

fast-nail-55400

07/29/2020, 7:41 PM
for now I think I need to get the new remote execution image up as a PR for pants, and then get that pushed to docker hub
👍 1
I’ll use it locally on the client-side before then as well although that will complicate my testing a bit
also, a pants local executor using a Docker container would probably be a useful feature in the future
w

witty-crayon-22786

07/29/2020, 7:46 PM
yea, almost certainly.