diff --git a/dist/redhat/centos_dep/build_dependency.sh b/dist/redhat/centos_dep/build_dependency.sh index e9f66ff72a..3f31eb5a26 100755 --- a/dist/redhat/centos_dep/build_dependency.sh +++ b/dist/redhat/centos_dep/build_dependency.sh @@ -85,18 +85,19 @@ if [ ! -f build/rpms/scylla-isl-0.14-4.el7*.x86_64.rpm ]; then sudo mock --root=$TARGET --rebuild --resultdir=`pwd`/build/rpms build/srpms/scylla-isl-0.14-4.el7*.src.rpm fi -if [ ! -f build/srpms/scylla-gcc-5.3.1-2.el7*.src.rpm ]; then +if [ ! -f build/srpms/scylla-gcc-5.3.1-2.1.el7*.src.rpm ]; then rpm --define "_topdir $RPMBUILD" -ivh build/downloads/gcc-5.3.1-2.fc23.src.rpm patch $RPMBUILD/SPECS/gcc.spec < dist/redhat/centos_dep/gcc.diff + cp dist/redhat/centos_dep/unwind_dw2_fde_nolock.patch $RPMBUILD/SOURCES/ sudo mock --buildsrpm --root=$TARGET --resultdir=`pwd`/build/srpms --spec=$RPMBUILD/SPECS/gcc.spec --sources=$RPMBUILD/SOURCES fi -if [ ! -f build/rpms/scylla-gcc-5.3.1-2.el7*.x86_64.rpm ]; then +if [ ! -f build/rpms/scylla-gcc-5.3.1-2.1.el7*.x86_64.rpm ]; then sudo mock --root=$TARGET --init sudo mock --root=$TARGET --install build/rpms/scylla-env-1.0-1.el7*.noarch.rpm sudo mock --root=$TARGET --install build/rpms/scylla-binutils-2.25-15.el7*.x86_64.rpm sudo mock --root=$TARGET --install build/rpms/scylla-isl-0.14-4.el7*.x86_64.rpm sudo mock --root=$TARGET --install build/rpms/scylla-isl-devel-0.14-4.el7*.x86_64.rpm - sudo mock --root=$TARGET --rebuild --resultdir=`pwd`/build/rpms --no-clean build/srpms/scylla-gcc-5.3.1-2.el7*.src.rpm + sudo mock --root=$TARGET --rebuild --resultdir=`pwd`/build/rpms --no-clean build/srpms/scylla-gcc-5.3.1-2.1.el7*.src.rpm fi if [ ! -f build/srpms/scylla-boost-1.58.0-11.el7*.src.rpm ]; then diff --git a/dist/redhat/centos_dep/gcc.diff b/dist/redhat/centos_dep/gcc.diff index 2669345be4..cd64259ac0 100644 --- a/dist/redhat/centos_dep/gcc.diff +++ b/dist/redhat/centos_dep/gcc.diff @@ -1,5 +1,5 @@ ---- gcc.spec.orig 2015-12-08 16:03:46.000000000 +0000 -+++ gcc.spec 2016-07-10 06:07:27.612453480 +0000 +--- gcc.spec.orig 2017-07-27 08:58:05.141433315 +0000 ++++ gcc.spec 2017-07-30 10:12:32.154791594 +0000 @@ -1,6 +1,7 @@ %global DATE 20151207 %global SVNREV 231358 @@ -25,7 +25,7 @@ %ifarch %{ix86} x86_64 ia64 %global build_libquadmath 1 %else -@@ -84,7 +77,8 @@ +@@ -84,9 +77,10 @@ %global multilib_32_arch i686 %endif Summary: Various compilers (C, C++, Objective-C, Java, ...) @@ -33,8 +33,11 @@ +Name: scylla-gcc +%define orig_name gcc Version: %{gcc_version} - Release: %{gcc_release}%{?dist} +-Release: %{gcc_release}%{?dist} ++Release: %{gcc_release}.1%{?dist} # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have + # GCC Runtime Exception. + License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD @@ -99,6 +93,7 @@ %global isl_version 0.14 URL: http://gcc.gnu.org @@ -103,7 +106,15 @@ Requires(post): /sbin/install-info Requires(preun): /sbin/install-info AutoReq: true -@@ -228,12 +221,12 @@ +@@ -208,6 +201,7 @@ + Patch14: gcc5-libsanitize-aarch64-va42.patch + Patch15: gcc5-pr65689.patch + Patch16: gcc5-rh1279639.patch ++Patch17: unwind_dw2_fde_nolock.patch + + # On ARM EABI systems, we do want -gnueabi to be part of the + # target triple. +@@ -228,12 +222,12 @@ The gcc package contains the GNU Compiler Collection version 5. You'll need this package in order to compile C code. @@ -118,7 +129,7 @@ %endif Obsoletes: libmudflap Obsoletes: libmudflap-devel -@@ -241,17 +234,19 @@ +@@ -241,17 +235,19 @@ Obsoletes: libgcj < %{version}-%{release} Obsoletes: libgcj-devel < %{version}-%{release} Obsoletes: libgcj-src < %{version}-%{release} @@ -142,7 +153,7 @@ Autoreq: true %description c++ -@@ -259,50 +254,55 @@ +@@ -259,50 +255,55 @@ It includes support for most of the current C++ specification, including templates and exception handling. @@ -210,7 +221,7 @@ Autoreq: true %description objc -@@ -313,29 +313,32 @@ +@@ -313,29 +314,32 @@ %package objc++ Summary: Objective-C++ support for GCC Group: Development/Languages @@ -250,7 +261,7 @@ %endif Requires(post): /sbin/install-info Requires(preun): /sbin/install-info -@@ -345,260 +348,286 @@ +@@ -345,260 +349,286 @@ The gcc-gfortran package provides support for compiling Fortran programs with the GNU Compiler Collection. @@ -609,7 +620,7 @@ Cpp is the GNU C-Compatible Compiler Preprocessor. Cpp is a macro processor which is used automatically by the C compiler to transform your program before actual -@@ -623,8 +652,9 @@ +@@ -623,8 +653,9 @@ %package gnat Summary: Ada 83, 95, 2005 and 2012 support for GCC Group: Development/Languages @@ -621,7 +632,7 @@ Requires(post): /sbin/install-info Requires(preun): /sbin/install-info Autoreq: true -@@ -633,82 +663,90 @@ +@@ -633,82 +664,90 @@ GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes development tools, the documents and Ada compiler. @@ -734,7 +745,7 @@ Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1 %description plugin-devel -@@ -728,7 +766,8 @@ +@@ -728,7 +767,8 @@ Summary: Debug information for package %{name} Group: Development/Debug AutoReqProv: 0 @@ -744,7 +755,15 @@ %description debuginfo This package provides debug information for package %{name}. -@@ -958,11 +997,11 @@ +@@ -776,6 +816,7 @@ + %patch14 -p0 -b .libsanitize-aarch64-va42~ + %patch15 -p0 -b .pr65689~ + %patch16 -p0 -b .rh1279639~ ++%patch17 -p1 -b .unwind_dw2_fde_nolock~ + sed -i -e 's/ -Wl,-z,nodlopen//g' gcc/ada/gcc-interface/Makefile.in + + %if 0%{?_enable_debug_packages} +@@ -958,11 +999,11 @@ --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu \ --enable-plugin --enable-initfini-array \ --disable-libgcj \ @@ -758,7 +777,7 @@ %else --without-isl \ %endif -@@ -971,11 +1010,9 @@ +@@ -971,11 +1012,9 @@ %else --disable-libmpx \ %endif @@ -770,7 +789,7 @@ %ifarch %{arm} --disable-sjlj-exceptions \ %endif -@@ -1006,9 +1043,6 @@ +@@ -1006,9 +1045,6 @@ %if 0%{?rhel} >= 7 --with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \ %endif @@ -780,7 +799,7 @@ %endif %ifarch ppc --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32 -@@ -1270,16 +1304,15 @@ +@@ -1270,16 +1306,15 @@ mv %{buildroot}%{_prefix}/%{_lib}/libmpx.spec $FULLPATH/ %endif @@ -803,7 +822,7 @@ %endif %ifarch ppc rm -f $FULLPATH/libgcc_s.so -@@ -1819,7 +1852,7 @@ +@@ -1819,7 +1854,7 @@ chmod 755 %{buildroot}%{_prefix}/bin/c?9 cd .. @@ -812,7 +831,7 @@ %find_lang cpplib # Remove binaries we will not be including, so that they don't end up in -@@ -1869,11 +1902,7 @@ +@@ -1869,11 +1904,7 @@ # run the tests. make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \ @@ -824,7 +843,7 @@ echo ====================TESTING========================= ( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}' echo ====================TESTING END===================== -@@ -1900,13 +1929,13 @@ +@@ -1900,13 +1931,13 @@ --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : fi @@ -840,7 +859,7 @@ if [ $1 = 0 -a -f %{_infodir}/cpp.info.gz ]; then /sbin/install-info --delete \ --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : -@@ -1945,19 +1974,19 @@ +@@ -1945,19 +1976,19 @@ fi %post go @@ -863,7 +882,7 @@ if posix.access ("/sbin/ldconfig", "x") then local pid = posix.fork () if pid == 0 then -@@ -1967,7 +1996,7 @@ +@@ -1967,7 +1998,7 @@ end end @@ -872,7 +891,7 @@ if posix.access ("/sbin/ldconfig", "x") then local pid = posix.fork () if pid == 0 then -@@ -1977,120 +2006,120 @@ +@@ -1977,120 +2008,120 @@ end end @@ -1031,7 +1050,7 @@ %defattr(-,root,root,-) %{_prefix}/bin/cc %{_prefix}/bin/c89 -@@ -2414,7 +2443,7 @@ +@@ -2414,7 +2445,7 @@ %{!?_licensedir:%global license %%doc} %license gcc/COPYING* COPYING.RUNTIME @@ -1040,7 +1059,7 @@ %defattr(-,root,root,-) %{_prefix}/lib/cpp %{_prefix}/bin/cpp -@@ -2425,10 +2454,10 @@ +@@ -2425,10 +2456,10 @@ %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1 @@ -1054,7 +1073,7 @@ %{!?_licensedir:%global license %%doc} %license gcc/COPYING* COPYING.RUNTIME -@@ -2469,7 +2498,7 @@ +@@ -2469,7 +2500,7 @@ %endif %doc rpm.doc/changelogs/gcc/cp/ChangeLog* @@ -1063,7 +1082,7 @@ %defattr(-,root,root,-) %{_prefix}/%{_lib}/libstdc++.so.6* %dir %{_datadir}/gdb -@@ -2481,7 +2510,7 @@ +@@ -2481,7 +2512,7 @@ %dir %{_prefix}/share/gcc-%{gcc_version}/python %{_prefix}/share/gcc-%{gcc_version}/python/libstdcxx @@ -1072,7 +1091,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/include/c++ %dir %{_prefix}/include/c++/%{gcc_version} -@@ -2507,7 +2536,7 @@ +@@ -2507,7 +2538,7 @@ %endif %doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README* @@ -1081,7 +1100,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2528,7 +2557,7 @@ +@@ -2528,7 +2559,7 @@ %endif %if %{build_libstdcxx_docs} @@ -1090,7 +1109,7 @@ %defattr(-,root,root) %{_mandir}/man3/* %doc rpm.doc/libstdc++-v3/html -@@ -2567,7 +2596,7 @@ +@@ -2567,7 +2598,7 @@ %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version} %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1objplus @@ -1099,7 +1118,7 @@ %defattr(-,root,root,-) %{_prefix}/%{_lib}/libobjc.so.4* -@@ -2621,11 +2650,11 @@ +@@ -2621,11 +2652,11 @@ %endif %doc rpm.doc/gfortran/* @@ -1113,7 +1132,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2671,12 +2700,12 @@ +@@ -2671,12 +2702,12 @@ %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/gnat1 %doc rpm.doc/changelogs/gcc/ada/ChangeLog* @@ -1128,7 +1147,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2702,7 +2731,7 @@ +@@ -2702,7 +2733,7 @@ %exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnarl.a %endif @@ -1137,7 +1156,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2726,7 +2755,7 @@ +@@ -2726,7 +2757,7 @@ %endif %endif @@ -1146,7 +1165,7 @@ %defattr(-,root,root,-) %{_prefix}/%{_lib}/libgomp.so.1* %{_prefix}/%{_lib}/libgomp-plugin-host_nonshm.so.1* -@@ -2734,14 +2763,14 @@ +@@ -2734,14 +2765,14 @@ %doc rpm.doc/changelogs/libgomp/ChangeLog* %if %{build_libquadmath} @@ -1163,7 +1182,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2754,7 +2783,7 @@ +@@ -2754,7 +2785,7 @@ %endif %doc rpm.doc/libquadmath/ChangeLog* @@ -1172,7 +1191,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2773,12 +2802,12 @@ +@@ -2773,12 +2804,12 @@ %endif %if %{build_libitm} @@ -1187,7 +1206,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2791,7 +2820,7 @@ +@@ -2791,7 +2822,7 @@ %endif %doc rpm.doc/libitm/ChangeLog* @@ -1196,7 +1215,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2810,11 +2839,11 @@ +@@ -2810,11 +2841,11 @@ %endif %if %{build_libatomic} @@ -1210,7 +1229,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2834,11 +2863,11 @@ +@@ -2834,11 +2865,11 @@ %endif %if %{build_libasan} @@ -1224,7 +1243,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2860,11 +2889,11 @@ +@@ -2860,11 +2891,11 @@ %endif %if %{build_libubsan} @@ -1238,7 +1257,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2886,11 +2915,11 @@ +@@ -2886,11 +2917,11 @@ %endif %if %{build_libtsan} @@ -1252,7 +1271,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2902,11 +2931,11 @@ +@@ -2902,11 +2933,11 @@ %endif %if %{build_liblsan} @@ -1266,7 +1285,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2918,11 +2947,11 @@ +@@ -2918,11 +2949,11 @@ %endif %if %{build_libcilkrts} @@ -1280,7 +1299,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -2942,12 +2971,12 @@ +@@ -2942,12 +2973,12 @@ %endif %if %{build_libmpx} @@ -1295,7 +1314,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -3009,12 +3038,12 @@ +@@ -3009,12 +3040,12 @@ %endif %doc rpm.doc/go/* @@ -1310,7 +1329,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -3042,7 +3071,7 @@ +@@ -3042,7 +3073,7 @@ %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgo.so %endif @@ -1319,7 +1338,7 @@ %defattr(-,root,root,-) %dir %{_prefix}/lib/gcc %dir %{_prefix}/lib/gcc/%{gcc_target_platform} -@@ -3060,12 +3089,12 @@ +@@ -3060,12 +3091,12 @@ %endif %endif diff --git a/dist/redhat/scylla.spec.in b/dist/redhat/scylla.spec.in index d43c5a6f6b..9efef352b7 100644 --- a/dist/redhat/scylla.spec.in +++ b/dist/redhat/scylla.spec.in @@ -7,7 +7,7 @@ Group: Applications/Databases License: AGPLv3 URL: http://www.scylladb.com/ Source0: %{name}-@@VERSION@@-@@RELEASE@@.tar -Requires: scylla-server = @@VERSION@@ scylla-jmx = @@VERSION@@ scylla-tools = @@VERSION@@ scylla-kernel-conf = @@VERSION@@ +Requires: scylla-server = @@VERSION@@ scylla-jmx = @@VERSION@@ scylla-tools = @@VERSION@@ scylla-kernel-conf = @@VERSION@@ scylla-libgcc scylla-libstdc++ Obsoletes: scylla-server < 1.1 %description @@ -73,7 +73,7 @@ This package contains ScyllaDB server. %endif %if 0%{?rhel} . /etc/profile.d/scylla.sh -python3.4 ./configure.py --enable-dpdk --mode=release --static-stdc++ --static-boost --compiler=/opt/scylladb/bin/g++ --python python3.4 +python3.4 ./configure.py --enable-dpdk --mode=release --static-boost --compiler=/opt/scylladb/bin/g++ --python python3.4 --ldflag=-Wl,-rpath=/opt/scylladb/lib64 %endif ninja-build %{?_smp_mflags} build/release/scylla build/release/iotune cp dist/common/systemd/scylla-server.service.in build/scylla-server.service