attempt to fix protoc build

pull/15597/head
Jan Tattermusch 6 years ago
parent 18aac34e29
commit c42dd8b3c9
  1. 30
      tools/dockerfile/grpc_artifact_protoc/Dockerfile
  2. 4
      tools/run_tests/artifacts/build_artifact_protoc.sh

@ -30,24 +30,34 @@ RUN yum install -y git \
glibc-devel \
glibc-devel.i686
# Install GCC 4.7 to support -static-libstdc++
RUN wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -P /etc/yum.repos.d
RUN bash -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-1.1.repo'
RUN bash -c "sed -e 's/\$basearch/i386/g' /etc/yum.repos.d/devtools-1.1.repo > /etc/yum.repos.d/devtools-i386-1.1.repo"
RUN sed -e 's/testing-/testing-i386-/g' -i /etc/yum.repos.d/devtools-i386-1.1.repo
# Install GCC 4.8
RUN wget http://people.centos.org/tru/devtools-2/devtools-2.repo -P /etc/yum.repos.d
RUN bash -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-2.repo'
RUN bash -c "sed -e 's/\$basearch/i386/g' /etc/yum.repos.d/devtools-2.repo > /etc/yum.repos.d/devtools-i386-2.repo"
RUN sed -e 's/testing-/testing-i386-/g' -i /etc/yum.repos.d/devtools-i386-2.repo
# We'll get and "Rpmdb checksum is invalid: dCDPT(pkg checksums)" error caused by
# docker issue when using overlay storage driver, but all the stuff we need
# will be installed, so for now we just ignore the error.
# https://github.com/docker/docker/issues/10180
RUN yum install -y devtoolset-1.1 \
devtoolset-1.1-libstdc++-devel \
devtoolset-1.1-libstdc++-devel.i686 || true
RUN yum install -y devtoolset-2-build \
devtoolset-2-toolchain \
devtoolset-2-binutils \
devtoolset-2-gcc \
devtoolset-2-gcc-c++ \
devtoolset-2-libstdc++-devel \
devtoolset-2-libstdc++-devel.i686 || true
# Again, ignore the "Rpmdb checksum is invalid: dCDPT(pkg checksums)" error.
RUN yum install -y ca-certificates || true # renew certs to prevent download error for ius-release.rpm
# TODO(jtattermusch): gRPC makefile uses "which" to detect the availability of gcc
RUN yum install -y which || true
# Update Git to version >1.7 to allow cloning submodules with --reference arg.
RUN yum remove -y git && yum clean all
RUN yum install -y https://centos6.iuscommunity.org/ius-release.rpm && yum clean all
RUN yum install -y git2u && yum clean all
# Start in devtoolset environment that uses GCC 4.7
CMD ["scl", "enable", "devtoolset-1.1", "bash"]
# Start in devtoolset environment that uses GCC 4.8
CMD ["scl", "enable", "devtoolset-2", "bash"]

@ -13,8 +13,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# Use devtoolset environment that has GCC 4.7 before set -ex
source scl_source enable devtoolset-1.1
# Use devtoolset environment that has GCC 4.8 before set -ex
source scl_source enable devtoolset-2
set -ex

Loading…
Cancel
Save