diff --git a/cmake/external/grpc.cmake b/cmake/external/grpc.cmake index eb1bcdfce0b8e9461ecf172ce6142688a56677dc..7517fde836ad794d41937da081fc6329f70ded9a 100644 --- a/cmake/external/grpc.cmake +++ b/cmake/external/grpc.cmake @@ -25,12 +25,12 @@ ProcessorCount(NUM_OF_PROCESSOR) 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(GRPC_INSTALL_CMD make prefix=${GRPC_INSTALL_DIR} install) ELSE() - if(${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 8.0) - 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) - else() - SET(BUILD_CMD make HAS_SYSTEM_PROTOBUF=false -s -j ${NUM_OF_PROCESSOR} static grpc_cpp_plugin) - endif() + SET(GRPC_CFLAGS "-Wno-error -std=c11 ${CLFAGS}") + SET(GRPC_CXXFLAGS "-Wno-error -std=c++11 ${CXXFLAGS}") + SET(BUILD_CMD make CFLAGS=${GRPC_CFLAGS} CXXFLAGS=${GRPC_CXXFLAGS} 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() # FIXME(wuyi): do not build zlib cares protobuf twice, find a way to build grpc with them @@ -56,7 +56,7 @@ ExternalProject_Add( # 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 BUILD_COMMAND ${BUILD_CMD} - INSTALL_COMMAND make prefix=${GRPC_INSTALL_DIR} install + INSTALL_COMMAND ${GRPC_INSTALL_CMD} ) ADD_LIBRARY(grpc++_unsecure STATIC IMPORTED GLOBAL) diff --git a/tools/manylinux1/Dockerfile.GCC8 b/tools/manylinux1/Dockerfile.GCC8 index 53900af9f270ce103c0576f5fade596a5ce355fe..4c6b3be3cbf9e40511db5901386b878658e9985a 100644 --- a/tools/manylinux1/Dockerfile.GCC8 +++ b/tools/manylinux1/Dockerfile.GCC8 @@ -27,18 +27,29 @@ RUN apt-get install -y python-dev python-pip wget vim git # install cmake WORKDIR /home -RUN wget https://cmake.org/files/v3.4/cmake-3.4.0-Linux-x86_64.tar.gz -RUN tar -xvf 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.10.0-Linux-x86_64.tar.gz 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 -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 g++ g++.bak RUN rm gcc RUN rm g++ -RUN ln -s gcc-8 gcc -RUN ln -s g++-8 g++ +RUN ln -s /usr/local/gcc-8.2/bin/gcc /usr/local/bin/gcc +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 RUN mkdir -p /root/python_build/ && wget -q https://www.sqlite.org/2018/sqlite-autoconf-3250300.tar.gz && \