[
https://issues.apache.org/jira/browse/ARROW-2463?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16441062#comment-16441062
]
ASF GitHub Bot commented on ARROW-2463:
---------------------------------------
xhochy closed pull request #1898: ARROW-2463: [C++] Update flatbuffers to 1.9.0
URL: https://github.com/apache/arrow/pull/1898
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index 020e0ed446..26ffd0744a 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -23,7 +23,7 @@ set(THIRDPARTY_DIR "${CMAKE_SOURCE_DIR}/thirdparty")
set(GFLAGS_VERSION "2.2.0")
set(GTEST_VERSION "1.8.0")
set(GBENCHMARK_VERSION "1.1.0")
-set(FLATBUFFERS_VERSION "1.7.1")
+set(FLATBUFFERS_VERSION "1.9.0")
set(JEMALLOC_VERSION "17c897976c60b0e6e4f4a365c751027244dada7a")
set(SNAPPY_VERSION "1.1.3")
set(BROTLI_VERSION "v0.6.0")
@@ -440,12 +440,14 @@ if (ARROW_IPC)
else()
set(FLATBUFFERS_CMAKE_CXX_FLAGS -fPIC)
endif()
+ # We always need to do release builds, otherwise flatc will not be
installed.
ExternalProject_Add(flatbuffers_ep
URL
"https://github.com/google/flatbuffers/archive/v${FLATBUFFERS_VERSION}.tar.gz"
CMAKE_ARGS
"-DCMAKE_CXX_FLAGS=${FLATBUFFERS_CMAKE_CXX_FLAGS}"
"-DCMAKE_INSTALL_PREFIX:PATH=${FLATBUFFERS_PREFIX}"
"-DFLATBUFFERS_BUILD_TESTS=OFF"
+ "-DCMAKE_BUILD_TYPE=RELEASE"
"-DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_CXX_FLAGS}"
"-DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE}=${EP_C_FLAGS}"
${EP_LOG_OPTIONS})
diff --git a/python/manylinux1/README.md b/python/manylinux1/README.md
index 3d462ff2f7..2ec662d502 100644
--- a/python/manylinux1/README.md
+++ b/python/manylinux1/README.md
@@ -41,3 +41,25 @@ docker run --shm-size=2g --rm -t -i -v $PWD:/io
arrow-base-x86_64 /io/build_arro
# Now the new packages are located in the dist/ folder
ls -l dist/
```
+
+### Updating the build environment
+
+In addition to the docker images that contains the Arrow C++ and Parquet C++
+builds, we also have another base image that only contains their dependencies.
+This image is less often updated. In the case we want to update a dependency to
+a new version, we also need to adjust it. You can rebuild this image using
+
+```bash
+docker build -t arrow_manylinux1_x86_64_base -f Dockerfile-x86_64_base .
+```
+
+For each dependency, we have a bash script in the directory `scripts/` that
+downloads the sources, builds and installs them. At the end of each dependency
+build the sources are removed again so that only the binary installation of a
+dependency is persisted in the docker image. When you do local adjustments to
+this image, you need to change the `FROM` line in `Dockerfile-x86_64` to pick
up
+the new image:
+
+```
+FROM arrow_manylinux1_x86_64_base
+```
diff --git a/python/manylinux1/scripts/build_flatbuffers.sh
b/python/manylinux1/scripts/build_flatbuffers.sh
index 509ec41dea..70b184c9a5 100755
--- a/python/manylinux1/scripts/build_flatbuffers.sh
+++ b/python/manylinux1/scripts/build_flatbuffers.sh
@@ -16,11 +16,17 @@
# specific language governing permissions and limitations
# under the License.
-curl -sL https://github.com/google/flatbuffers/archive/v1.6.0.tar.gz -o
flatbuffers-1.6.0.tar.gz
-tar xf flatbuffers-1.6.0.tar.gz
-pushd flatbuffers-1.6.0
-cmake "-DCMAKE_CXX_FLAGS=-fPIC" "-DCMAKE_INSTALL_PREFIX:PATH=/usr"
"-DFLATBUFFERS_BUILD_TESTS=OFF"
-make -j5
-make install
+export FLATBUFFERS_VERSION=1.9.0
+curl -sL
https://github.com/google/flatbuffers/archive/v${FLATBUFFERS_VERSION}.tar.gz \
+ -o flatbuffers-${FLATBUFFERS_VERSION}.tar.gz
+tar xf flatbuffers-${FLATBUFFERS_VERSION}.tar.gz
+pushd flatbuffers-${FLATBUFFERS_VERSION}
+cmake \
+ "-DCMAKE_CXX_FLAGS=-fPIC" \
+ "-DCMAKE_INSTALL_PREFIX:PATH=/usr" \
+ -DFLATBUFFERS_BUILD_TESTS=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -GNinja
+ninja install
popd
-rm -rf flatbuffers-1.6.0.tar.gz flatbuffers-1.6.0
+rm -rf flatbuffers-${FLATBUFFERS_VERSION}.tar.gz
flatbuffers-${FLATBUFFERS_VERSION}
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> [C++] Update flatbuffers to 1.9.0
> ---------------------------------
>
> Key: ARROW-2463
> URL: https://issues.apache.org/jira/browse/ARROW-2463
> Project: Apache Arrow
> Issue Type: Improvement
> Components: C++
> Reporter: Uwe L. Korn
> Assignee: Uwe L. Korn
> Priority: Major
> Labels: pull-request-available
> Fix For: 0.10.0
>
>
> This will update externalproject and manylinux1 installations of Flatbuffers.
> The conda-forge update is at
> https://github.com/conda-forge/flatbuffers-feedstock/pull/9
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)