On Jul 18, 2016 9:04 AM, "Yiannis Gkoufas" <johngou...@gmail.com> wrote: > > Hi John, > > just to confirm: this is how this part of pants.ini should look like: > > backend_packages: [ > [binaries] > baseurls: +['http://localhost:9999'] > path_by_id: {('linux', 'armv7l'): ['local']} > ] > > right?
Not quite, kill the surrounding backend_packages, so: [binaries] baseurls: +['http://localhost:9999'] path_by_id: {('linux', 'armv7l'): ['local']} > > On 17 July 2016 at 11:58, Yiannis Gkoufas <johngou...@gmail.com> wrote: >> >> Wow, thanks a lot John! >> Will give it a shot and get back to you! >> >> On 15 July 2016 at 18:05, John Sirois <john.sir...@gmail.com> wrote: >>> >>> Here's a workaround for you to try. If this works, I can modify the Aurora pants build without modifying pants itself to do all this automatically. >>> >>> The basic idea is that pants probes a list of URLs for pre-built binaries. You can add a local HTTP server to the list and point that server at the thrift binary Aurora builds for gradle via make. >>> Below is how you do this: >>> >>> 0.) Ensure the Aurora gradle thrift is built. >>> $ ./build-support/thrift/thriftw 0.9.1 --version >>> Thrift version 0.9.1 >>> >>> 1.) Just for reference, the pants options in-play here >>> $ ./pants options | grep binaries >>> binaries.baseurls = [' https://dl.bintray.com/pantsbuild/bin/build-support'] (from HARDCODED) >>> binaries.fetch_timeout_secs = 30 (from HARDCODED) >>> binaries.path_by_id = {} (from NONE) >>> $ ./pants options | grep binary >>> thrift-binary.supportdir = bin/thrift (from HARDCODED) >>> thrift-binary.version = 0.9.1 (from CONFIG in pants.ini) >>> >>> 2.) Grab machine name pants will try to find your thrift binary under (here is an example from my machine with result 'x86_64' - yours will be different and arm-ey): >>> $ python2 -c 'import os; sysname, _, _, _, machine = os.uname(); print sysname.lower(), machine' >>> linux x86_64 >>> >>> 3.) Edit pants.ini to tell pants where to look for binaries for your machine: >>> $ git diff -U1 >>> diff --git a/pants.ini b/pants.ini >>> index de0ab30..e2cd94e 100644 >>> --- a/pants.ini >>> +++ b/pants.ini >>> @@ -32,2 +32,6 @@ backend_packages: [ >>> >>> +[binaries] >>> +baseurls: +['http://localhost:9999'] >>> +path_by_id: {('linux', 'x86_64'): ['local']} >>> + >>> [thrift-binary] >>> >>> 4.) Setup the URL you told pants about above: >>> $ mkdir -p build-support/thrift/serve/bin/thrift/local/0.9.1 >>> $ ln -s $PWD/build-support/thrift/thrift-0.9.1/compiler/cpp/thrift build-support/thrift/serve/bin/thrift/local/0.9.1/thrift >>> $ cd build-support/thrift/serve && (nohup python2 -m SimpleHTTPServer 9999 >&/tmp/thrift.serve &) && cd - >>> >>> 5.) Run pants and confirm download of a thrift binary for your machine: >>> $ ./pants binary src/main/python/:: >>> >>> 10:58:44 00:00 [main] >>> (To run a reporting server: ./pants server) >>> 10:58:44 00:00 [setup] >>> 10:58:44 00:00 [parse] >>> Executing tasks in goals: binary >>> 10:58:44 00:00 [binary] >>> 10:58:44 00:00 [binary-prep-command] >>> 10:58:44 00:00 [python-binary-create] >>> 10:58:44 00:00 [cache] >>> No cached artifacts for 8 targets. >>> Invalidated 8 targets. >>> 10:58:44 00:00 [chroot]INFO] Attempting to fetch thrift binary from: http://localhost:9999/bin/thrift/local/0.9.1/thrift ... >>> 100% .................................................. 31661 KB 0.364s >>> INFO] Fetched thrift binary from: http://localhost:9999/bin/thrift/local/0.9.1/thrift . >>> ... >>> >>> Let me know what you get! >>> >>> On Thu, Jul 14, 2016 at 6:24 AM, Yiannis Gkoufas <johngou...@gmail.com> wrote: >>>> >>>> Cool, can you imagine a way to work around this? >>>> I have to customize pants itself right? >>>> >>>> On 14 July 2016 at 11:54, Erb, Stephan <stephan....@blue-yonder.com> wrote: >>>>> >>>>> Yeah, that sounds like it could be the issue here. >>>>> >>>>> >>>>> >>>>> From: Yiannis Gkoufas <johngou...@gmail.com> >>>>> Reply-To: "user@aurora.apache.org" <user@aurora.apache.org> >>>>> Date: Thursday 14 July 2016 at 12:28 >>>>> To: "user@aurora.apache.org" <user@aurora.apache.org> >>>>> Subject: Re: Build thermos executor on ARM >>>>> >>>>> >>>>>> >>>>>> Hi there, >>>>>> >>>>>> >>>>>> >>>>>> sure: >>>>>> >>>>>> >>>>>> >>>>>> 10:26:45 00:00 [binary] >>>>>> >>>>>> 10:26:45 00:00 [binary-jvm-prep-command] >>>>>> >>>>>> 10:26:46 00:01 [jvm_prep_command] >>>>>> >>>>>> 10:26:46 00:01 [binary-prep-command] >>>>>> >>>>>> 10:26:46 00:01 [python-binary-create] >>>>>> >>>>>> Detected interpreter /usr/bin/python2.7: CPython-2.7.6 >>>>>> >>>>>> 10:26:46 00:01 [chroot] >>>>>> >>>>>> Building chroot for [PythonBinary(BuildFileAddress(BuildFile(src/main/python/apache/aurora/executor/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), thermos_executor))]: >>>>>> >>>>>> Dumping library: PythonLibrary(BuildFileAddress(BuildFile(src/main/python/apache/aurora/executor/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), _executor)) >>>>>> >>>>>> Dumping library: PythonLibrary(BuildFileAddress(BuildFile(api/src/main/thrift/org/apache/aurora/gen/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), gen)) >>>>>> >>>>>> Dumping library: PythonLibrary(BuildFileAddress(BuildFile(src/main/python/apache/aurora/common/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), common)) >>>>>> >>>>>> Dumping library: PythonLibrary(BuildFileAddress(BuildFile(src/main/python/apache/aurora/config/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), config)) >>>>>> >>>>>> Dumping library: PythonLibrary(BuildFileAddress(BuildFile(src/main/python/apache/thermos/config/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), config)) >>>>>> >>>>>> Dumping library: PythonLibrary(BuildFileAddress(BuildFile(src/main/python/apache/thermos/common/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), common)) >>>>>> >>>>>> Dumping library: PythonLibrary(BuildFileAddress(BuildFile(src/main/python/apache/thermos/core/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), core)) >>>>>> >>>>>> Dumping library: PythonLibrary(BuildFileAddress(BuildFile(src/main/python/apache/thermos/monitoring/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), monitoring)) >>>>>> >>>>>> Dumping library: PythonBinary(BuildFileAddress(BuildFile(src/main/python/apache/aurora/executor/BUILD, FileSystemProjectTree(/home/ubuntu/apache-aurora-0.15.0)), thermos_executor)) >>>>>> >>>>>> FAILURE: Update --binaries-path-by-id to find binaries for Linux armv7l 3.10.40 >>>>>> >>>>>> >>>>>> >>>>>> If I am not completely wrong, I think pants is looking one of the architectures outlined here: >>>>>> >>>>>> >>>>>> >>>>>> https://github.com/pantsbuild/pants/blob/master/src/python/pants/binaries/binary_util.py#L24 >>>>>> >>>>>> >>>>>> >>>>>> and probably that's why it fails >>>>>> >>>>>> >>>>>> >>>>>> On 14 July 2016 at 11:17, Erb, Stephan <stephan....@blue-yonder.com> wrote: >>>>>>> >>>>>>> Cool, ARM J. Please try to run it like this, so that we get a little bit more output: >>>>>>> >>>>>>> >>>>>>> >>>>>>> PEX_VERBOSE=1 ./pants -ldebug binary src/main/python/apache/aurora/executor:thermos_executor >>>>>>> >>>>>>> >>>>>>> >>>>>>> From: Yiannis Gkoufas <johngou...@gmail.com> >>>>>>> Reply-To: "user@aurora.apache.org" <user@aurora.apache.org> >>>>>>> Date: Thursday 14 July 2016 at 10:44 >>>>>>> To: "user@aurora.apache.org" <user@aurora.apache.org> >>>>>>> Subject: Build thermos executor on ARM >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> Hi guys, >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> I have been trying to get aurora working on ARM processors. >>>>>>>> >>>>>>>> I had no problem with the scheduler, but I didn't manage to compile the thermos executor. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> When I give: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ./pants binary src/main/python/apache/aurora/executor:thermos_executor >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> I get back: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> FAILURE: Update --binaries-path-by-id to find binaries for Linux armv7l 3.10.40 >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Let me know if you have any hints on how to workaround this. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Thanks! >>>>>> >>>>>> >>>> >>>> >>> >> >