未验证 提交 925280b9 编写于 作者: Z Zeng Jinle 提交者: GitHub

Change GCC version to be 8.2 in Dockerfile.GCC8 (#21222)

* make Docker to gcc 8.2, test=develop

* add -std=c11 to grpc.cmake, test=develop
上级 c0dcb090
...@@ -25,12 +25,12 @@ ProcessorCount(NUM_OF_PROCESSOR) ...@@ -25,12 +25,12 @@ ProcessorCount(NUM_OF_PROCESSOR)
IF(APPLE) IF(APPLE)
SET(BUILD_CMD make -n HAS_SYSTEM_PROTOBUF=false -s -j ${NUM_OF_PROCESSOR} static grpc_cpp_plugin | sed "s/-Werror//g" | sh) SET(BUILD_CMD make -n HAS_SYSTEM_PROTOBUF=false -s -j ${NUM_OF_PROCESSOR} static grpc_cpp_plugin | sed "s/-Werror//g" | sh)
SET(GRPC_INSTALL_CMD make prefix=${GRPC_INSTALL_DIR} install)
ELSE() ELSE()
if(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 8.0) SET(GRPC_CFLAGS "-Wno-error -std=c11 ${CLFAGS}")
SET(BUILD_CMD make CFLAGS=-Wno-error=sizeof-pointer-memaccess CXXFLAGS=-Wno-error=ignored-qualifiers HAS_SYSTEM_PROTOBUF=false -s -j ${NUM_OF_PROCESSOR} static grpc_cpp_plugin) SET(GRPC_CXXFLAGS "-Wno-error -std=c++11 ${CXXFLAGS}")
else() SET(BUILD_CMD make CFLAGS=${GRPC_CFLAGS} CXXFLAGS=${GRPC_CXXFLAGS} HAS_SYSTEM_PROTOBUF=false -s -j ${NUM_OF_PROCESSOR} static grpc_cpp_plugin)
SET(BUILD_CMD make HAS_SYSTEM_PROTOBUF=false -s -j ${NUM_OF_PROCESSOR} static grpc_cpp_plugin) SET(GRPC_INSTALL_CMD make prefix=${GRPC_INSTALL_DIR} install CFLAGS=${GRPC_CFLAGS} CXXFLAGS=${GRPC_CXXFLAGS})
endif()
ENDIF() ENDIF()
# FIXME(wuyi): do not build zlib cares protobuf twice, find a way to build grpc with them # FIXME(wuyi): do not build zlib cares protobuf twice, find a way to build grpc with them
...@@ -56,7 +56,7 @@ ExternalProject_Add( ...@@ -56,7 +56,7 @@ ExternalProject_Add(
# It seems that we cannot configure that by make command. # It seems that we cannot configure that by make command.
# Just dry run make command and remove `-Werror`, then use a shell to run make commands # Just dry run make command and remove `-Werror`, then use a shell to run make commands
BUILD_COMMAND ${BUILD_CMD} BUILD_COMMAND ${BUILD_CMD}
INSTALL_COMMAND make prefix=${GRPC_INSTALL_DIR} install INSTALL_COMMAND ${GRPC_INSTALL_CMD}
) )
ADD_LIBRARY(grpc++_unsecure STATIC IMPORTED GLOBAL) ADD_LIBRARY(grpc++_unsecure STATIC IMPORTED GLOBAL)
......
...@@ -27,18 +27,29 @@ RUN apt-get install -y python-dev python-pip wget vim git ...@@ -27,18 +27,29 @@ RUN apt-get install -y python-dev python-pip wget vim git
# install cmake # install cmake
WORKDIR /home WORKDIR /home
RUN wget https://cmake.org/files/v3.4/cmake-3.4.0-Linux-x86_64.tar.gz RUN wget -q https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.tar.gz
RUN tar -xvf cmake-3.4.0-Linux-x86_64.tar.gz RUN tar -xvf cmake-3.10.0-Linux-x86_64.tar.gz
RUN apt install libidn11 RUN apt install libidn11
ENV PATH=/home/cmake-3.4.0-Linux-x86_64/bin:$PATH ENV PATH=/home/cmake-3.10.0-Linux-x86_64/bin:$PATH
WORKDIR /usr/bin WORKDIR /usr/bin
RUN apt install -y gcc-8 g++-8 RUN wget -q http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.xz && \
tar -xvf gcc-8.2.0.tar.xz && \
cd gcc-8.2.0 && \
unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \
./contrib/download_prerequisites && \
cd .. && mkdir temp_gcc82 && cd temp_gcc82 && \
../gcc-8.2.0/configure --prefix=/usr/local/gcc-8.2 --enable-threads=posix --disable-checking --disable-multilib && \
make -j8 && make install
RUN cp gcc gcc.bak RUN cp gcc gcc.bak
RUN cp g++ g++.bak RUN cp g++ g++.bak
RUN rm gcc RUN rm gcc
RUN rm g++ RUN rm g++
RUN ln -s gcc-8 gcc RUN ln -s /usr/local/gcc-8.2/bin/gcc /usr/local/bin/gcc
RUN ln -s g++-8 g++ RUN ln -s /usr/local/gcc-8.2/bin/g++ /usr/local/bin/g++
RUN ln -s /usr/local/gcc-8.2/bin/gcc /usr/bin/gcc
RUN ln -s /usr/local/gcc-8.2/bin/g++ /usr/bin/g++
ENV PATH=/usr/local/gcc-8.2/bin:$PATH
RUN cd .. && rm -rf /usr/bin/temp_gcc82
# Install Python3.6 # Install Python3.6
RUN mkdir -p /root/python_build/ && wget -q https://www.sqlite.org/2018/sqlite-autoconf-3250300.tar.gz && \ RUN mkdir -p /root/python_build/ && wget -q https://www.sqlite.org/2018/sqlite-autoconf-3250300.tar.gz && \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册