-
Notifications
You must be signed in to change notification settings - Fork 37
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
Add build script for Thrift 0.11.0 #83
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Stephan! I'm going to add Danny to this review since he did the cleanup work that moved build scripts out of the root and will be the best guide to making an exception here or not.
build-thrift-0.11.0.sh
Outdated
sh ./configure \ | ||
--disable-shared \ | ||
--without-cpp \ | ||
--without-c_glib \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if these were always neglected or new targets but it would be good to add:
--without-qt4 \
--without-qt5 \
We're safe in the centos image I believe, but just in case the OSX-using builder has qt installed.
@StephanErb : This should be changed. Sorry! 80a0051 is a good example of how to do this. |
rationale, not what to do yet. what I would like to be done before merging is below The use of any functions from As mentioned, one thing that we would like to maintain is placing scripts in the directories they extract their contents to -- this is shown in the commit 80a0051 linked above. Another thing that I would really appreciate is to make all the version strings used in the script into command-line arguments to the script, and then provide a I don't want to attach too much extra work to this PR, especially since this requires building multiple other tools. For new thrift versions we contribute here in the future, we can incrementally move the build script towards using functions (for example). here is what I would specifically want to be done So for this PR I would only want to see the directory placement/symlinking, and then a separation into a Please let me know if the above is unclear, if this is a huge hassle to do, or if there's additional work I haven't considered. |
Hey, just as a quick example of the above, I just made #84 to provide gnu make (for a pants PR). It uses a lot of the functions in |
Thanks I will take a look. As this is a pretty busy week for me, it will probably take a few days until I can pick up the suggestions. |
Absolutely! I was only offering it since I happened to have just made the
PR — thanks so much for working on this! Please feel no rush to complete.
…On Mon, Oct 22, 2018 at 22:47 Stephan Erb ***@***.***> wrote:
Thanks I will take a look. As this is a pretty busy week for me, it will
probably take a few days until I can pick up the suggestions.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
<#83 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABPqT9gYy57hy_CXzZZYJWu02E4CF4s-ks5unq1ngaJpZM4Xj0_I>
.
|
@cosmicexplorer I have updated the PR trying to follow the conventions of the other PRs. Please let me know if this matches what you had in mind. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for making the change, this all seems great! It fails to build on my osx 10.14 machine with the error:
checking for bison version >= 2.5... no
configure: error: Bison version 2.5 or higher must be installed on the system!
I haven't looked into why this is the case yet, I'm sure it's not an issue, I just woke up. But the structure of the PR looks good to go.
@@ -82,6 +82,9 @@ function do_extract { | |||
*.tar.gz) | |||
tar zxf "$archive_path" | |||
;; | |||
*.tgz) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this useful extension!
Co-Authored-By: StephanErb <github@stephanerb.eu>
@cosmicexplorer The bison error is strange. Did maybe the bison build fail silently for you? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did maybe the bison build fail silently for you?
The build succeeded, but the produced bison continues to abort immediately when I try to run it, even after playing around with some of the configure flags. I don't think that should block this landing, though -- this could just be something strange on my machine. However, if anyone else watching could comment after running the build script in its current state on an osx machine to confirm that it works on another machine, that would be great.
Is there a way to get this unblocked? Unfortunately I am stuck on an older MacOS version so I cannot reproduce the build failures seen by Danny |
I see the same issue on 10.14, unfortunately.
|
And the same with bison EDIT: And as a further datapoint, it looks like the |
As a datapoint, |
Successfully tested on macOS Sierra and Mojave.
@stuhood thanks for investigating! I have pushed a change to use bison 3.2 for MacOS. However I have left it at 2.5.1 for the linux build als the new bison fails to compile in the ancient CentOS 6 image. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm fine with using different bison versions on the two platforms.
I've confirmed that this works on 10.14 and in the linux image. @StephanErb : since I'm going to be building on 10.14, would you mind adjusting the symlinks such that the 10.14 binary is the actual copy, and the rest are symlinks? Then I'll merge.
Thanks!
@stuhood done. Thanks for handling the builds! |
Synced to s3:
|
Add buildozer 0.6.0-80c7f0d45d7e40fa1f7362852697d4a03df557b3 (pantsbuild#56) Synchronize docker instructions with pantsbuild/pants. (pantsbuild#58) Add clang (pantsbuild#57) Switch to a workflow without committed binaries (pantsbuild#59) * Update the README to indicate that no new binaries should be committed here. * Formalize the script location to improve maintainability. Add Go 1.9.4 and 1.10 (pantsbuild#61) Here we add `build.sh` scripts for Go 1.9.4 and 1.10, and a helper script for generating the `build.sh` scripts. We also clarify in the docs what platforms are supported (i386 and macOS pre 10.8 are not supported going forward). update some of the commands described in the README (pantsbuild#63) add gcc 7.3.0 and clang 6.0.0 cross platform, binutils 2.30 for linux, edit clang 5.0.1 to conform to pantsbuild#59 (pantsbuild#62) ``` $ ./sync-s3.sh upload: bin/clang/linux/x86_64/6.0.0/build-cmake.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-cmake.sh upload: bin/clang/linux/x86_64/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build.sh upload: bin/binutils/linux/x86_64/2.30/build.sh to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/build.sh upload: bin/binutils/linux/x86_64/2.30/build-binutils.sh to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/build-binutils.sh upload: bin/binutils/linux/x86_64/2.30/binutils.tar.gz to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/binutils.tar.gz upload: bin/clang/mac/10.10/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/build-clang.sh upload: bin/clang/mac/10.10/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/build.sh upload: bin/clang/linux/x86_64/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/clang.tar.gz upload: bin/clang/mac/10.11/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/build-clang.sh upload: bin/clang/mac/10.11/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/build.sh upload: bin/clang/linux/x86_64/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-clang.sh upload: bin/clang/linux/x86_64/6.0.0/build-clang-for-linux-with-cmake.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-clang-for-linux-with-cmake.sh upload: bin/clang/mac/10.12/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/build-clang.sh upload: bin/clang/mac/10.12/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/build.sh upload: bin/clang/mac/10.10/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/clang.tar.gz upload: bin/clang/mac/10.12/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/clang.tar.gz upload: bin/clang/mac/10.13/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/build-clang.sh upload: bin/clang/mac/10.13/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/build.sh upload: bin/clang/mac/10.11/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/clang.tar.gz upload: bin/clang/mac/10.8/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/build.sh upload: bin/clang/mac/10.8/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/build-clang.sh upload: bin/clang/mac/10.13/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/clang.tar.gz upload: bin/clang/mac/10.9/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/build-clang.sh upload: bin/clang/mac/10.9/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/build.sh upload: bin/clang/mac/10.8/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/clang.tar.gz upload: bin/gcc/linux/x86_64/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/build.sh upload: bin/gcc/linux/x86_64/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/build-gcc.sh upload: bin/clang/mac/10.9/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/clang.tar.gz upload: bin/gcc/mac/10.10/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.10/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/build.sh upload: bin/gcc/mac/10.11/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/build-gcc.sh upload: bin/gcc/linux/x86_64/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.11/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/build.sh upload: bin/gcc/mac/10.12/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.12/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/build.sh upload: bin/gcc/mac/10.10/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.11/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.13/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.13/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/build.sh upload: bin/gcc/mac/10.12/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.8/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.8/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/build.sh upload: bin/gcc/mac/10.13/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.9/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.9/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/build.sh upload: bin/gcc/mac/10.8/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.9/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/gcc.tar.gz ``` add xz package (pantsbuild#66) cloc and isort are now fetched from `bin`, but without the platform-specific path component. (pantsbuild#68) add --disable-rpath when configuring xz (pantsbuild#71) This removes the need to set `DYLD_LIBRARY_PATH` or `LD_LIBRARY_PATH` in pantsbuild/pants#5936. The `xz` binary will use the version of `xz` and `liblzma` in the installation directory when invoked. add xz wrapper script to set the library path (pantsbuild#72) See pantsbuild#71, where we added `--disable-rpath` to `xz` to stop it from using a hardcoded library path at runtime. However, that still fails in Travis in pantsbuild/pants#5936 with the output: ``` INFO] Fetched llvm.tar.xz binary from: https://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz . INFO] Extracting /home/travis/.cache/pants/bin/llvm/linux/x86_64/6.0.0/llvm.tar.xz to /home/travis/.cache/pants/bin/llvm/linux/x86_64/6.0.0/llvm . xz: /lib/x86_64-linux-gnu/liblzma.so.5: version `XZ_5.2' not found (required by xz) ``` While we had removed the query for the hardcoded path, we still need to actually set our own path. We had been doing that on the pants side -- instead, this PR adds a (very short) python script at the path of the real `xz` binary (a suggestion from @illicitonion in that PR) which sets `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` appropriately, not clobbering any existing values. This works with the current version of pantsbuild/pants#5936 for me on osx and linux. statically link xz (pantsbuild#74) See pantsbuild#71, pantsbuild#72, pantsbuild#73. Our `xz` is picking up travis's `xz` installation and using its (incompatible) `liblzma` shared library. On the suggestion of @stuhood in pantsbuild/pants#5936, we statically link `xz` here to avoid ever having this problem ever again. Proof: *linux*: ``` > ldd ./xz-5.2.4-linux/xz-install/bin/xz linux-vdso.so.1 (0x00007ffc865cd000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f1fa385f000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f1fa34a3000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1fa3cb4000) ``` *osx*: ``` > otool -L ./xz-5.2.4-linux/xz-install/bin/xz ./xz-5.2.4-linux/xz-install/bin/xz: /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4) ``` add llvm 6.0.0 package. (pantsbuild#75) See pantsbuild/pants#5991. This adds the binary I should have provided when we added the ability to download `BinaryTool`s from external urls, in the exact same way we do it within Pants. Upgrade isort to 4.3.4. (pantsbuild#76) This adds support for more python3 stdlib symbols. Also introduce a build script. Fixup isort path structure. Node.js 10.7.0 and Yarnpkg 1.7.0 (pantsbuild#80) Four small scripts, each named "build.sh" have been added. These will build a specific version of Node.js or Yarnpkg in the current directory. Symlinks from older macOS to 10.13 are included. Add build scripts and symlinks for Node 8.11.3 and Yarnpkg 1.6.0 (pantsbuild#81) Adding Node v10.13.0 build scripts for Mac 10.8-10.13 and Linux X64 (pantsbuild#86) Add go 1.10.5 (pantsbuild#87) Add build script for Thrift 0.11.0 (pantsbuild#83) Add build scripts and symlinks for Yarnpkg 1.12.3 (pantsbuild#89) Add updated go versions to pants binaries (pantsbuild#90) * Add updated go versions to pants binaries * Expanded the mac_versions into a map to encode the OSX min version requirements of the latest builds of go. Add build scripts and symlinks for Yarnpkg 1.16.0 (pantsbuild#91) * Add build scripts and symlinks for Yarnpkg 1.16.0 Add go 1.12.7 (pantsbuild#92) * Add go 1.12.7 Upgrade to cloc 1.82 (pantsbuild#93) Add cloc 1.80 (pantsbuild#94) The current version of cloc (version 1.82) has a bug where the --ignored flag is not working properly ( AlDanial/cloc#401 ). The pants test for the cloc goal tests this behavior, so as long as this bug is not fixed upstream, pants will fail this test. I've confirmed that version 1.80 of cloc does not have this bug, so we should be able to use it until upstream cloc fixes the bug in a new verson. Add go 1.13.8 for linux and mac 10.11+
Add buildozer 0.6.0-80c7f0d45d7e40fa1f7362852697d4a03df557b3 (pantsbuild#56) Synchronize docker instructions with pantsbuild/pants. (pantsbuild#58) Add clang (pantsbuild#57) Switch to a workflow without committed binaries (pantsbuild#59) * Update the README to indicate that no new binaries should be committed here. * Formalize the script location to improve maintainability. Add Go 1.9.4 and 1.10 (pantsbuild#61) Here we add `build.sh` scripts for Go 1.9.4 and 1.10, and a helper script for generating the `build.sh` scripts. We also clarify in the docs what platforms are supported (i386 and macOS pre 10.8 are not supported going forward). update some of the commands described in the README (pantsbuild#63) add gcc 7.3.0 and clang 6.0.0 cross platform, binutils 2.30 for linux, edit clang 5.0.1 to conform to pantsbuild#59 (pantsbuild#62) ``` $ ./sync-s3.sh upload: bin/clang/linux/x86_64/6.0.0/build-cmake.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-cmake.sh upload: bin/clang/linux/x86_64/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build.sh upload: bin/binutils/linux/x86_64/2.30/build.sh to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/build.sh upload: bin/binutils/linux/x86_64/2.30/build-binutils.sh to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/build-binutils.sh upload: bin/binutils/linux/x86_64/2.30/binutils.tar.gz to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/binutils.tar.gz upload: bin/clang/mac/10.10/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/build-clang.sh upload: bin/clang/mac/10.10/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/build.sh upload: bin/clang/linux/x86_64/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/clang.tar.gz upload: bin/clang/mac/10.11/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/build-clang.sh upload: bin/clang/mac/10.11/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/build.sh upload: bin/clang/linux/x86_64/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-clang.sh upload: bin/clang/linux/x86_64/6.0.0/build-clang-for-linux-with-cmake.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-clang-for-linux-with-cmake.sh upload: bin/clang/mac/10.12/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/build-clang.sh upload: bin/clang/mac/10.12/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/build.sh upload: bin/clang/mac/10.10/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/clang.tar.gz upload: bin/clang/mac/10.12/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/clang.tar.gz upload: bin/clang/mac/10.13/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/build-clang.sh upload: bin/clang/mac/10.13/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/build.sh upload: bin/clang/mac/10.11/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/clang.tar.gz upload: bin/clang/mac/10.8/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/build.sh upload: bin/clang/mac/10.8/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/build-clang.sh upload: bin/clang/mac/10.13/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/clang.tar.gz upload: bin/clang/mac/10.9/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/build-clang.sh upload: bin/clang/mac/10.9/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/build.sh upload: bin/clang/mac/10.8/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/clang.tar.gz upload: bin/gcc/linux/x86_64/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/build.sh upload: bin/gcc/linux/x86_64/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/build-gcc.sh upload: bin/clang/mac/10.9/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/clang.tar.gz upload: bin/gcc/mac/10.10/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.10/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/build.sh upload: bin/gcc/mac/10.11/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/build-gcc.sh upload: bin/gcc/linux/x86_64/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.11/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/build.sh upload: bin/gcc/mac/10.12/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.12/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/build.sh upload: bin/gcc/mac/10.10/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.11/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.13/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.13/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/build.sh upload: bin/gcc/mac/10.12/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.8/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.8/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/build.sh upload: bin/gcc/mac/10.13/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.9/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.9/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/build.sh upload: bin/gcc/mac/10.8/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.9/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/gcc.tar.gz ``` add xz package (pantsbuild#66) cloc and isort are now fetched from `bin`, but without the platform-specific path component. (pantsbuild#68) add --disable-rpath when configuring xz (pantsbuild#71) This removes the need to set `DYLD_LIBRARY_PATH` or `LD_LIBRARY_PATH` in pantsbuild/pants#5936. The `xz` binary will use the version of `xz` and `liblzma` in the installation directory when invoked. add xz wrapper script to set the library path (pantsbuild#72) See pantsbuild#71, where we added `--disable-rpath` to `xz` to stop it from using a hardcoded library path at runtime. However, that still fails in Travis in pantsbuild/pants#5936 with the output: ``` INFO] Fetched llvm.tar.xz binary from: https://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz . INFO] Extracting /home/travis/.cache/pants/bin/llvm/linux/x86_64/6.0.0/llvm.tar.xz to /home/travis/.cache/pants/bin/llvm/linux/x86_64/6.0.0/llvm . xz: /lib/x86_64-linux-gnu/liblzma.so.5: version `XZ_5.2' not found (required by xz) ``` While we had removed the query for the hardcoded path, we still need to actually set our own path. We had been doing that on the pants side -- instead, this PR adds a (very short) python script at the path of the real `xz` binary (a suggestion from @illicitonion in that PR) which sets `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` appropriately, not clobbering any existing values. This works with the current version of pantsbuild/pants#5936 for me on osx and linux. statically link xz (pantsbuild#74) See pantsbuild#71, pantsbuild#72, pantsbuild#73. Our `xz` is picking up travis's `xz` installation and using its (incompatible) `liblzma` shared library. On the suggestion of @stuhood in pantsbuild/pants#5936, we statically link `xz` here to avoid ever having this problem ever again. Proof: *linux*: ``` > ldd ./xz-5.2.4-linux/xz-install/bin/xz linux-vdso.so.1 (0x00007ffc865cd000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f1fa385f000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f1fa34a3000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1fa3cb4000) ``` *osx*: ``` > otool -L ./xz-5.2.4-linux/xz-install/bin/xz ./xz-5.2.4-linux/xz-install/bin/xz: /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4) ``` add llvm 6.0.0 package. (pantsbuild#75) See pantsbuild/pants#5991. This adds the binary I should have provided when we added the ability to download `BinaryTool`s from external urls, in the exact same way we do it within Pants. Upgrade isort to 4.3.4. (pantsbuild#76) This adds support for more python3 stdlib symbols. Also introduce a build script. Fixup isort path structure. Node.js 10.7.0 and Yarnpkg 1.7.0 (pantsbuild#80) Four small scripts, each named "build.sh" have been added. These will build a specific version of Node.js or Yarnpkg in the current directory. Symlinks from older macOS to 10.13 are included. Add build scripts and symlinks for Node 8.11.3 and Yarnpkg 1.6.0 (pantsbuild#81) Adding Node v10.13.0 build scripts for Mac 10.8-10.13 and Linux X64 (pantsbuild#86) Add go 1.10.5 (pantsbuild#87) Add build script for Thrift 0.11.0 (pantsbuild#83) Add build scripts and symlinks for Yarnpkg 1.12.3 (pantsbuild#89) Add updated go versions to pants binaries (pantsbuild#90) * Add updated go versions to pants binaries * Expanded the mac_versions into a map to encode the OSX min version requirements of the latest builds of go. Add build scripts and symlinks for Yarnpkg 1.16.0 (pantsbuild#91) * Add build scripts and symlinks for Yarnpkg 1.16.0 Add go 1.12.7 (pantsbuild#92) * Add go 1.12.7 Upgrade to cloc 1.82 (pantsbuild#93) Add cloc 1.80 (pantsbuild#94) The current version of cloc (version 1.82) has a bug where the --ignored flag is not working properly ( AlDanial/cloc#401 ). The pants test for the cloc goal tests this behavior, so as long as this bug is not fixed upstream, pants will fail this test. I've confirmed that version 1.80 of cloc does not have this bug, so we should be able to use it until upstream cloc fixes the bug in a new verson. Add go 1.13.8 for linux and mac 10.11+
Add buildozer 0.6.0-80c7f0d45d7e40fa1f7362852697d4a03df557b3 (pantsbuild#56) Synchronize docker instructions with pantsbuild/pants. (pantsbuild#58) Add clang (pantsbuild#57) Switch to a workflow without committed binaries (pantsbuild#59) * Update the README to indicate that no new binaries should be committed here. * Formalize the script location to improve maintainability. Add Go 1.9.4 and 1.10 (pantsbuild#61) Here we add `build.sh` scripts for Go 1.9.4 and 1.10, and a helper script for generating the `build.sh` scripts. We also clarify in the docs what platforms are supported (i386 and macOS pre 10.8 are not supported going forward). update some of the commands described in the README (pantsbuild#63) add gcc 7.3.0 and clang 6.0.0 cross platform, binutils 2.30 for linux, edit clang 5.0.1 to conform to pantsbuild#59 (pantsbuild#62) ``` $ ./sync-s3.sh upload: bin/clang/linux/x86_64/6.0.0/build-cmake.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-cmake.sh upload: bin/clang/linux/x86_64/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build.sh upload: bin/binutils/linux/x86_64/2.30/build.sh to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/build.sh upload: bin/binutils/linux/x86_64/2.30/build-binutils.sh to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/build-binutils.sh upload: bin/binutils/linux/x86_64/2.30/binutils.tar.gz to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/binutils.tar.gz upload: bin/clang/mac/10.10/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/build-clang.sh upload: bin/clang/mac/10.10/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/build.sh upload: bin/clang/linux/x86_64/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/clang.tar.gz upload: bin/clang/mac/10.11/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/build-clang.sh upload: bin/clang/mac/10.11/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/build.sh upload: bin/clang/linux/x86_64/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-clang.sh upload: bin/clang/linux/x86_64/6.0.0/build-clang-for-linux-with-cmake.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-clang-for-linux-with-cmake.sh upload: bin/clang/mac/10.12/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/build-clang.sh upload: bin/clang/mac/10.12/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/build.sh upload: bin/clang/mac/10.10/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/clang.tar.gz upload: bin/clang/mac/10.12/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/clang.tar.gz upload: bin/clang/mac/10.13/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/build-clang.sh upload: bin/clang/mac/10.13/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/build.sh upload: bin/clang/mac/10.11/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/clang.tar.gz upload: bin/clang/mac/10.8/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/build.sh upload: bin/clang/mac/10.8/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/build-clang.sh upload: bin/clang/mac/10.13/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/clang.tar.gz upload: bin/clang/mac/10.9/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/build-clang.sh upload: bin/clang/mac/10.9/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/build.sh upload: bin/clang/mac/10.8/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/clang.tar.gz upload: bin/gcc/linux/x86_64/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/build.sh upload: bin/gcc/linux/x86_64/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/build-gcc.sh upload: bin/clang/mac/10.9/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/clang.tar.gz upload: bin/gcc/mac/10.10/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.10/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/build.sh upload: bin/gcc/mac/10.11/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/build-gcc.sh upload: bin/gcc/linux/x86_64/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.11/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/build.sh upload: bin/gcc/mac/10.12/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.12/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/build.sh upload: bin/gcc/mac/10.10/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.11/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.13/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.13/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/build.sh upload: bin/gcc/mac/10.12/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.8/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.8/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/build.sh upload: bin/gcc/mac/10.13/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.9/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/build-gcc.sh upload: bin/gcc/mac/10.9/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/build.sh upload: bin/gcc/mac/10.8/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/gcc.tar.gz upload: bin/gcc/mac/10.9/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/gcc.tar.gz ``` add xz package (pantsbuild#66) cloc and isort are now fetched from `bin`, but without the platform-specific path component. (pantsbuild#68) add --disable-rpath when configuring xz (pantsbuild#71) This removes the need to set `DYLD_LIBRARY_PATH` or `LD_LIBRARY_PATH` in pantsbuild/pants#5936. The `xz` binary will use the version of `xz` and `liblzma` in the installation directory when invoked. add xz wrapper script to set the library path (pantsbuild#72) See pantsbuild#71, where we added `--disable-rpath` to `xz` to stop it from using a hardcoded library path at runtime. However, that still fails in Travis in pantsbuild/pants#5936 with the output: ``` INFO] Fetched llvm.tar.xz binary from: https://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz . INFO] Extracting /home/travis/.cache/pants/bin/llvm/linux/x86_64/6.0.0/llvm.tar.xz to /home/travis/.cache/pants/bin/llvm/linux/x86_64/6.0.0/llvm . xz: /lib/x86_64-linux-gnu/liblzma.so.5: version `XZ_5.2' not found (required by xz) ``` While we had removed the query for the hardcoded path, we still need to actually set our own path. We had been doing that on the pants side -- instead, this PR adds a (very short) python script at the path of the real `xz` binary (a suggestion from @illicitonion in that PR) which sets `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` appropriately, not clobbering any existing values. This works with the current version of pantsbuild/pants#5936 for me on osx and linux. statically link xz (pantsbuild#74) See pantsbuild#71, pantsbuild#72, pantsbuild#73. Our `xz` is picking up travis's `xz` installation and using its (incompatible) `liblzma` shared library. On the suggestion of @stuhood in pantsbuild/pants#5936, we statically link `xz` here to avoid ever having this problem ever again. Proof: *linux*: ``` > ldd ./xz-5.2.4-linux/xz-install/bin/xz linux-vdso.so.1 (0x00007ffc865cd000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f1fa385f000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f1fa34a3000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1fa3cb4000) ``` *osx*: ``` > otool -L ./xz-5.2.4-linux/xz-install/bin/xz ./xz-5.2.4-linux/xz-install/bin/xz: /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4) ``` add llvm 6.0.0 package. (pantsbuild#75) See pantsbuild/pants#5991. This adds the binary I should have provided when we added the ability to download `BinaryTool`s from external urls, in the exact same way we do it within Pants. Upgrade isort to 4.3.4. (pantsbuild#76) This adds support for more python3 stdlib symbols. Also introduce a build script. Fixup isort path structure. Node.js 10.7.0 and Yarnpkg 1.7.0 (pantsbuild#80) Four small scripts, each named "build.sh" have been added. These will build a specific version of Node.js or Yarnpkg in the current directory. Symlinks from older macOS to 10.13 are included. Add build scripts and symlinks for Node 8.11.3 and Yarnpkg 1.6.0 (pantsbuild#81) Adding Node v10.13.0 build scripts for Mac 10.8-10.13 and Linux X64 (pantsbuild#86) Add go 1.10.5 (pantsbuild#87) Add build script for Thrift 0.11.0 (pantsbuild#83) Add build scripts and symlinks for Yarnpkg 1.12.3 (pantsbuild#89) Add updated go versions to pants binaries (pantsbuild#90) * Add updated go versions to pants binaries * Expanded the mac_versions into a map to encode the OSX min version requirements of the latest builds of go. Add build scripts and symlinks for Yarnpkg 1.16.0 (pantsbuild#91) * Add build scripts and symlinks for Yarnpkg 1.16.0 Add go 1.12.7 (pantsbuild#92) * Add go 1.12.7 Upgrade to cloc 1.82 (pantsbuild#93) Add cloc 1.80 (pantsbuild#94) The current version of cloc (version 1.82) has a bug where the --ignored flag is not working properly ( AlDanial/cloc#401 ). The pants test for the cloc goal tests this behavior, so as long as this bug is not fixed upstream, pants will fail this test. I've confirmed that version 1.80 of cloc does not have this bug, so we should be able to use it until upstream cloc fixes the bug in a new verson. Add go 1.13.8 for linux and mac 10.11+
Build tested successfully on MacOS Sierra and Centos 6 (
pantsbuild/centos6:latest
).As all existing Thrift binaries follow the old scheme of a single script in the root of the repo, I followed the same approach here. Please let me know if this should be changed.