diff --git a/0006-Fix-bolt-grpc-build-bugs-and-link-error.patch b/0006-Fix-bolt-grpc-build-bugs-and-link-error.patch new file mode 100644 index 0000000000000000000000000000000000000000..d5044dc2f5e8dc9e60667bc320f44b7bead75c0f --- /dev/null +++ b/0006-Fix-bolt-grpc-build-bugs-and-link-error.patch @@ -0,0 +1,73 @@ +From 79aacb7897dd1182667931b9b4830191e8646a06 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E9=83=91=E6=99=A8=E5=8D=89?= +Date: Thu, 28 Nov 2024 10:52:08 +0800 +Subject: [PATCH] Fix bolt/grpc build bugs and link error. + +--- + .../hcc_aarch64_native_release.sh | 20 ++++++++++++------- + 1 file changed, 13 insertions(+), 7 deletions(-) + +diff --git a/build/hcc_arm64le_native/hcc_aarch64_native_release.sh b/build/hcc_arm64le_native/hcc_aarch64_native_release.sh +index 1359f4f..533b200 100644 +--- a/build/hcc_arm64le_native/hcc_aarch64_native_release.sh ++++ b/build/hcc_arm64le_native/hcc_aarch64_native_release.sh +@@ -73,9 +73,11 @@ export PATH=$PREFIX_PERL/bin:$PATH + echo "Building ncurses..." && pushd $ROOT_NATIVE_DIR/obj/build-ncurses + LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CFLAGS}" $ROOT_NATIVE_SRC/$NCURSES/configure --prefix=$PREFIX_NATIVE --with-shared --build=$BUILD --host=$HOST --libdir=$PREFIX_NATIVE/lib64 + make -j $PARALLEL && make install -j $PARALLEL && popd +-ln -s $PREFIX_NATIVE/lib64/libncurses.so $PREFIX_NATIVE/lib64/libtinfo.so +-ln -s $PREFIX_NATIVE/lib64/libncurses.so.6 $PREFIX_NATIVE/lib64/libtinfo.so.6 +-ln -s $PREFIX_NATIVE/lib64/libncurses.so.6.3 $PREFIX_NATIVE/lib64/libtinfo.so.6.3 ++pushd $PREFIX_NATIVE/lib64 ++ln -s libncurses.so libtinfo.so ++ln -s libncurses.so.6 libtinfo.so.6 ++ln -s libncurses.so.6.3 libtinfo.so.6.3 ++popd + + echo "Building binutils..." && pushd $ROOT_NATIVE_DIR/obj/build-binutils + LDFLAGS="${SECURE_LDFLAGS}" CFLAGS="${SECURE_CFLAGS}" CXXFLAGS="${SECURE_CFLAGS}" CFLAGS_FOR_TARGET="${SECURE_CFLAGS}" CXXFLAGS_FOR_TARGET="${SECURE_CFLAGS}" $ROOT_NATIVE_SRC/$BINUTILS/configure --prefix=$PREFIX_NATIVE --with-pkgversion="${COMPILER_INFO}" --enable-plugins --enable-ld=yes --libdir=$PREFIX_NATIVE/lib64 --enable-multiarch --build=$BUILD --host=$HOST --target=$TARGET +@@ -93,10 +95,9 @@ make -j $PARALLEL && make install -j $PARALLEL && popd + + export OPENSSL_ROOT_DIR=$PREFIX_OPENSSL + export PATH=$PREFIX_OPENSSL/bin:$PATH +-export CPLUS_INCLUDE_PATH=$PREFIX_OPENSSL/include + export LIBRARY_PATH=$PREFIX_OPENSSL/lib64 + export LD_LIBRARY_PATH=$PREFIX_OPENSSL/lib64 +-cp -r $PREFIX_OPENSSL/include $PREFIX_NATIVE/include ++cp -r $PREFIX_OPENSSL/include/* $PREFIX_NATIVE/include + cp $PREFIX_OPENSSL/lib64/libssl.so.* $PREFIX_NATIVE/lib64 + + echo "Building cmake for bolt..." && pushd $ROOT_NATIVE_DIR/obj/build-cmake +@@ -111,6 +112,7 @@ cmake $ROOT_NATIVE_SRC/$PROTOBUF -Dprotobuf_ABSL_PROVIDER=module -Dprotobuf_BUIL + make -j $PARALLEL && make install -j $PARALLEL && popd + + export PATH=$PREFIX_NATIVE/bin:$PATH ++export CPLUS_INCLUDE_PATH=$PREFIX_NATIVE/include + export LD_LIBRARY_PATH=$PREFIX_NATIVE/lib64:$LD_LIBRARY_PATH + export PKG_CONFIG_PATH=$PREFIX_NATIVE/lib64/pkgconfig + +@@ -119,7 +121,7 @@ cmake -G"Unix Makefiles" $ROOT_NATIVE_SRC/$AUTOFDO -DCMAKE_INSTALL_PREFIX=$PREFI + make -j $PARALLEL && make install -j $PARALLEL && popd + + echo "Building bolt..." && pushd $ROOT_NATIVE_DIR/obj/build-llvm-bolt +-cmake -G"Unix Makefiles" $ROOT_NATIVE_SRC/$BOLT/llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_PROJECTS="bolt" -DLLVM_TARGETS_TO_BUILD="AArch64" -DCMAKE_INSTALL_PREFIX=$PREFIX_BOLT -DBUILD_SHARED_LIBS:BOOL=ON ++cmake -G"Unix Makefiles" $ROOT_NATIVE_SRC/$BOLT/llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_PROJECTS="bolt" -DLLVM_TARGETS_TO_BUILD="AArch64" -DCMAKE_INSTALL_PREFIX=$PREFIX_BOLT -DBUILD_SHARED_LIBS:BOOL=OFF + make -j $PARALLEL && make install -j $PARALLEL && popd + # Put in llvm-bolt and perf2bolt. + cp $PREFIX_BOLT/bin/llvm-bolt $PREFIX_BOLT/bin/perf2bolt $PREFIX_NATIVE/bin +@@ -134,7 +136,11 @@ cp $ROOT_NATIVE_DIR/obj/build-llvm-mlir/bin/mlir-tblgen /usr/bin + cp -r $PREFIX_MLIR/lib/* $PREFIX_NATIVE/lib64 + cp -r $PREFIX_MLIR/include/* $PREFIX_NATIVE/include + +-echo "Building grpc..." && pushd $ROOT_NATIVE_DIR/obj/build-grpc ++echo "Building grpc..." && pushd $ROOT_NATIVE_SRC/$GRPC ++# avoid downloading ++mkdir $ROOT_NATIVE_SRC/$GRPC/third_party/opencensus-proto/src ++sed -r -i 's/(std=c\+\+)14/\1%{cpp_std}/g' setup.py grpc.gyp Rakefile examples/cpp/*/Makefile examples/cpp/*/CMakeLists.txt tools/run_tests/artifacts/artifact_targets.py tools/distrib/python/grpcio_tools/setup.py && popd ++pushd $ROOT_NATIVE_DIR/obj/build-grpc + cmake -G "Unix Makefiles" $ROOT_NATIVE_SRC/$GRPC -DCMAKE_BUILD_TYPE=Release -DgRPC_INSTALL=ON -DgRPC_CARES_PROVIDER=module -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_SSL_PROVIDER=package -DgRPC_RE2_PROVIDER=module -DgRPC_ABSL_PROVIDER=package -DCMAKE_INSTALL_PREFIX=$PREFIX_NATIVE -DgRPC_INSTALL_LIBDIR=$PREFIX_NATIVE/lib64 -DProtobuf_INCLUDE_DIR=$PREFIX_NATIVE/include -DProtobuf_LIBRARY=$PREFIX_NATIVE/lib64/libprotobuf.so -DProtobuf_PROTOC_LIBRARY=$PREFIX_NATIVE/lib64/libprotoc.so -DProtobuf_PROTOC_EXECUTABLE=$PREFIX_NATIVE/bin/protoc -DBUILD_DEPS=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_C_FLAGS="${SECURE_CFLAGS}" -DCMAKE_CXX_FLAGS="${SECURE_CFLAGS}" -DCMAKE_SHRAED_LINKER_FLAGS="${SECURE_LDFLAGS}" + make -j $PARALLEL && make install -j $PARALLEL && popd + +-- +2.33.0 + diff --git a/config.xml b/config.xml index de3b6cbee2b533f4214e6b11a394e463c57c97fa..c2d89caccc39d8310ebd4584da6d170c5e7dd5fb 100644 --- a/config.xml +++ b/config.xml @@ -1,6 +1,6 @@ -BRANCH="openEuler-24.09" -INSTALL_NATIVE="gcc-12.3.1-2024.09-aarch64-linux" -COMPILER_INFO="gcc for openEuler 3.0.0" +BRANCH="openEuler-24.03-LTS-SP1" +INSTALL_NATIVE="gcc-12.3.1-2024.12-aarch64-linux" +COMPILER_INFO="gcc for openEuler 3.0.1" GCC="gcc-12.3.0" BINUTILS="binutils-2.41" @@ -11,7 +11,7 @@ MPFR="mpfr-4.2.1" ISL="isl-0.24" MATHLIB="optimized-routines-24.01" JEMALLOC="jemalloc-5.2.1" -AUTOFDO="autofdo-0.30.1" +AUTOFDO="autofdo-0.19" BOLT="llvm-project-17.0.6.src" CMAKE="cmake-3.27.9" OPENSSL="openssl-3.0.12" @@ -24,8 +24,8 @@ PROTOBUF="protobuf-25.1" GCC_CLIENT="pin-gcc-client-0.4.1" GRPC="grpc-1.60.0" CARES="c-ares-1.19.1" -ABSEIL="abseil-cpp-20240116.2" +ABSEIL="abseil-cpp-20230802.1" RE2="re2-2024-02-01" JSONCPP="jsoncpp-1.9.5" PERL="perl-5.38.0" -PERL_IPC_CMD="IPC-Cmd-1.04" \ No newline at end of file +PERL_IPC_CMD="IPC-Cmd-1.04" diff --git a/gcc-for-openEuler.spec b/gcc-for-openEuler.spec index 14dbdb91d552d2a0be8ed56a6c10829c269faa7c..e1dd942ea8597a35e772d385e060759b92df8470 100644 --- a/gcc-for-openEuler.spec +++ b/gcc-for-openEuler.spec @@ -1,6 +1,6 @@ Name: gcc-for-openEuler Version: 2.0.0 -Release: 4 +Release: 5 Summary: GCC released as a binary package for openEuler and other OSes. License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2 and BSD @@ -8,7 +8,7 @@ URL: https://gitee.com/openEuler/gcc-for-openEuler Source0: %{name}-%{version}.tar.gz %global config config.xml -%global build_name gcc-12.3.1-2024.09-aarch64-linux +%global build_name gcc-12.3.1-2024.12-aarch64-linux ExclusiveArch: aarch64 @@ -20,6 +20,7 @@ Patch2: 0002-Temporarily-fix-pin-gcc-client-build-error.patch Patch3: 0003-Modify-openssl-compilation-options-to-match-src-repo.patch Patch4: 0004-Add-autofdo-binary-files.patch Patch5: 0005-Add-libcrypto.so.patch +Patch6: 0006-Fix-bolt-grpc-build-bugs-and-link-error.patch %description GCC released as a binary package for openEuler and other OSes. @@ -47,6 +48,9 @@ sha256sum %{build_name}.tar.gz > %{build_name}.tar.gz.sha256 %attr(755, root, root) /%{build_name}.tar.gz.sha256 %changelog +* Thu Nov 28 2024 Zheng Chenhui - 2.0.0-5 +- Fix bolt/grpc build bugs and link error. + * Thu Oct 10 2024 Zheng Chenhui - 2.0.0-4 - Add libcrypto.so.