[devel] Принудительно установить версию GCC в SPEC

Gleb Fotengauer-Malinovskiy glebfm на altlinux.org
Чт Апр 10 20:35:27 MSK 2014


On Thu, Apr 10, 2014 at 01:46:27AM +0400, Sergey Y. Afonin wrote:
> Может, делать удаление gcc/gcc-c++, отличных от X.Y, если макрос есть ?
> Или что-то мешает ?

Что мешает использовать тот gcc, который вам нужен вместо того, который
лежит и не мешает?

> А gccX.Y-с++ ? Или, в этом случае, "BuildRequires: gccX.Y-c++" требуется
> всё равно, если c++ надо ?

Да, требуется, также как и для всех gcc-что-нибудь (удобно писать
'gcc%{?_gcc_version}-что-нибудь' вместо gccX.Y-что-нибудь).

> Или это вот
> 
> Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != ((void *)0)' failed!
> ldd: ERROR: ./usr/lib/xorp/bin/rip_show_stats: trace failed

Возможно, это может быть результатом работы chrpath. После его отключения
такие проблемы у меня исчезают.

> последствие не gcc4.8, а чего-то другого ? Хотя, если посмотреть в xorp-овский
> git https://github.com/greearb/xorp.ct/tree/master/xorp, видно, что какие-то
> исправления для 4.8 были уже, правда давно.

Вы так говорите, будто между t6 и Сизифом мог измениться только gcc. ;)

А в 4.7 правда какой-то internal error, используйте 4.6.
Так (см. diff) у меня всё собирается (в Сизифе на 4.8, в t7 на 4.6, в t6
на 4.5)

-- 
glebfm
 
Глеб Фотенгауэр-Малиновский
----------- следующая часть -----------
diff --git a/xorp.spec b/xorp.spec
index c134a1f..4492f35 100644
--- a/xorp.spec
+++ b/xorp.spec
@@ -37,7 +37,7 @@ BuildRequires:    chrpath
 
 # Automatically added by buildreq on Tue Apr 08 2014
 # optimized out: libstdc++-devel libtinfo-devel python-base python-modules python-modules-compiler python-modules-email xz
-BuildRequires:    cvs flex gcc4.5-c++ libncurses-devel libpcap-devel libpcre-devel libssl-devel scons
+BuildRequires:    cvs flex gcc-c++ libncurses-devel libpcap-devel libpcre-devel libssl-devel scons
 
 
 %description
@@ -53,9 +53,7 @@ functionality, including support for custom hardware and software forwarding.
 
 
 %build
-%set_gcc_version 4.5
-
-scons -j4 \
+[ -n "$NPROCS" ] || NPROCS='%__nprocs'; scons -j$NPROCS \
 	DESTDIR=${RPM_BUILD_ROOT}     \
 	sbindir=%{_sbindir}           \
 	prefix=%{prefixdir}           \
@@ -63,6 +61,8 @@ scons -j4 \
 	sysconfdir=%{_sysconfdir}     \
 	xorp_confdir=%{_sysconfdir}   \
 	localstatedir=%{_localstatedir} \
+	build=%_configure_platform \
+	rtld_origin=false \
 %if %with_shared
 	shared=yes \
 %endif
@@ -92,6 +92,8 @@ scons \
 	sysconfdir=%{_sysconfdir}     \
 	xorp_confdir=%{_sysconfdir}   \
 	localstatedir=%{_localstatedir} \
+	build=%_configure_platform \
+	rtld_origin=false \
 %if %with_shared
 	shared=yes \
 %endif
@@ -106,15 +108,8 @@ scons \
 %{__install} -m 0644 %{SOURCE3}           ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/xorp
 %{__install} -m 0660 %{SOURCE4}           ${RPM_BUILD_ROOT}%{_sysconfdir}/xorp
 
-
-# remove rpath
-find %buildroot -type f -exec file {} \; | grep ELF | sed "s/^\([^ ]*\): ELF.*/\1/" | \
-	while read f; do chrpath -d $f; done
-
-%set_verify_elf_method unresolved=relaxed
-
 %pre
-if ! getent group  xorp >/dev/null 2>&1; then
+if ! getent group xorp >/dev/null 2>&1; then
 	/usr/sbin/groupadd -r xorp
 
 	# xorpsh is using group's permission for access to xorp.
@@ -141,12 +136,12 @@ exit 0
 %attr(660,root,xorp) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/xorp/xorp.conf
 
 %dir %_datadir/%name
-%dir %_libexecdir/%name
+%dir /usr/lib/%name
 %dir %_logdir/%name
 
 %_sbindir/*
 %_datadir/%name/*
-%_libexecdir/%name/*
+/usr/lib/%name/*
 
 %changelog
 * Wed Apr 09 2014 Sergey Y. Afonin <asy на altlinux.ru> 1.8.6-alt0.20130830.1
----------- следующая часть -----------
diff --git a/xorp.spec b/xorp.spec
index c134a1f..230b761 100644
--- a/xorp.spec
+++ b/xorp.spec
@@ -4,6 +4,7 @@
 %define prefixdir	/usr
 %define snapshot	1
 
+%set_gcc_version 4.6
 Name: xorp
 
 %define baseversion 1.8.6
@@ -37,7 +38,7 @@ BuildRequires:    chrpath
 
 # Automatically added by buildreq on Tue Apr 08 2014
 # optimized out: libstdc++-devel libtinfo-devel python-base python-modules python-modules-compiler python-modules-email xz
-BuildRequires:    cvs flex gcc4.5-c++ libncurses-devel libpcap-devel libpcre-devel libssl-devel scons
+BuildRequires:    cvs flex gcc%{?_gcc_version}-c++ libncurses-devel libpcap-devel libpcre-devel libssl-devel scons
 
 
 %description
@@ -53,9 +54,7 @@ functionality, including support for custom hardware and software forwarding.
 
 
 %build
-%set_gcc_version 4.5
-
-scons -j4 \
+[ -n "$NPROCS" ] || NPROCS='%__nprocs'; scons -j$NPROCS \
 	DESTDIR=${RPM_BUILD_ROOT}     \
 	sbindir=%{_sbindir}           \
 	prefix=%{prefixdir}           \
@@ -63,6 +62,8 @@ scons -j4 \
 	sysconfdir=%{_sysconfdir}     \
 	xorp_confdir=%{_sysconfdir}   \
 	localstatedir=%{_localstatedir} \
+	build=%_configure_platform \
+	rtld_origin=false \
 %if %with_shared
 	shared=yes \
 %endif
@@ -92,6 +93,8 @@ scons \
 	sysconfdir=%{_sysconfdir}     \
 	xorp_confdir=%{_sysconfdir}   \
 	localstatedir=%{_localstatedir} \
+	build=%_configure_platform \
+	rtld_origin=false \
 %if %with_shared
 	shared=yes \
 %endif
@@ -106,15 +109,8 @@ scons \
 %{__install} -m 0644 %{SOURCE3}           ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/xorp
 %{__install} -m 0660 %{SOURCE4}           ${RPM_BUILD_ROOT}%{_sysconfdir}/xorp
 
-
-# remove rpath
-find %buildroot -type f -exec file {} \; | grep ELF | sed "s/^\([^ ]*\): ELF.*/\1/" | \
-	while read f; do chrpath -d $f; done
-
-%set_verify_elf_method unresolved=relaxed
-
 %pre
-if ! getent group  xorp >/dev/null 2>&1; then
+if ! getent group xorp >/dev/null 2>&1; then
 	/usr/sbin/groupadd -r xorp
 
 	# xorpsh is using group's permission for access to xorp.
@@ -141,12 +137,12 @@ exit 0
 %attr(660,root,xorp) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/xorp/xorp.conf
 
 %dir %_datadir/%name
-%dir %_libexecdir/%name
+%dir /usr/lib/%name
 %dir %_logdir/%name
 
 %_sbindir/*
 %_datadir/%name/*
-%_libexecdir/%name/*
+/usr/lib/%name/*
 
 %changelog
 * Wed Apr 09 2014 Sergey Y. Afonin <asy на altlinux.ru> 1.8.6-alt0.20130830.1
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 181 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20140410/e1556e89/attachment.bin>


Подробная информация о списке рассылки Devel