ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Принудительно установить версию GCC в SPEC
@ 2014-03-21  9:12 Roman Savochenko
  2014-03-21 16:06 ` Roman Savochenko
  2014-03-21 16:30 ` Gleb Fotengauer-Malinovskiy
  0 siblings, 2 replies; 10+ messages in thread
From: Roman Savochenko @ 2014-03-21  9:12 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 208 bytes --]

Приветствую, Всех

Подскажите как собрать koffice16 с GCC 4.7.
Пробовал:
%set_gcc_version 4.7
и
BuildRequires: gcc4.7-c++

Всё-равно hasher тянет проблемный gcc4.8 и пытается собирать им.

С уважением, Роман

[-- Attachment #2: rom_as.vcf --]
[-- Type: text/x-vcard, Size: 298 bytes --]

begin:vcard
fn:Roman Savochenko
n:Savochenko;Roman
org:DIYA Ltd
adr:;;;Dneprodzerzinsk;Dnepropetrovsk;51925;Ukraine
email;internet:rom_as@oscada.org
title:Leading engineer-programer
tel;work:+380675675542
tel;fax:+380569262025
tel;cell:+380679859815
url:http://diyaorg.dp.ua
version:2.1
end:vcard


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Принудительно установить версию GCC в SPEC
  2014-03-21  9:12 [devel] Принудительно установить версию GCC в SPEC Roman Savochenko
@ 2014-03-21 16:06 ` Roman Savochenko
  2014-03-21 16:30 ` Gleb Fotengauer-Malinovskiy
  1 sibling, 0 replies; 10+ messages in thread
From: Roman Savochenko @ 2014-03-21 16:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 211 bytes --]

21.03.14 11:12, Roman Savochenko написал:
> Подскажите как собрать koffice16 с GCC 4.7.
> Пробовал:
> %set_gcc_version 4.7
> и
> BuildRequires: gcc4.7-c++
Одновременно оба выбрали нужный GCC

С уважением, Роман

[-- Attachment #2: rom_as.vcf --]
[-- Type: text/x-vcard, Size: 298 bytes --]

begin:vcard
fn:Roman Savochenko
n:Savochenko;Roman
org:DIYA Ltd
adr:;;;Dneprodzerzinsk;Dnepropetrovsk;51925;Ukraine
email;internet:rom_as@oscada.org
title:Leading engineer-programer
tel;work:+380675675542
tel;fax:+380569262025
tel;cell:+380679859815
url:http://diyaorg.dp.ua
version:2.1
end:vcard


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Принудительно установить версию GCC в SPEC
  2014-03-21  9:12 [devel] Принудительно установить версию GCC в SPEC Roman Savochenko
  2014-03-21 16:06 ` Roman Savochenko
@ 2014-03-21 16:30 ` Gleb Fotengauer-Malinovskiy
  2014-03-24 11:43   ` Sergei Epiphanov
  1 sibling, 1 reply; 10+ messages in thread
From: Gleb Fotengauer-Malinovskiy @ 2014-03-21 16:30 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 930 bytes --]

On Fri, Mar 21, 2014 at 11:12:32AM +0200, Roman Savochenko wrote:
> Приветствую, Всех
> 
> Подскажите как собрать koffice16 с GCC 4.7.
> Пробовал:
> %set_gcc_version 4.7
> и
> BuildRequires: gcc4.7-c++
> 
> Всё-равно hasher тянет проблемный gcc4.8 и пытается собирать им.

Как бы вы ни старались, от gcc4.8 вы не избавитесь, он (в качестве 'любого
gcc') является частью build_list в hasher и устанавливается до обработки BR.

%set_gcc_version устанавливает, какой gcc будет запущен wrapper-ом
/usr/bin/gcc. Если koffice16 не использует /usr/bin/gcc, этот макрос никак
вам не поможет.


-- 
glebfm
 
Глеб Фотенгауэр-Малиновский

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Принудительно установить версию GCC в SPEC
  2014-03-21 16:30 ` Gleb Fotengauer-Malinovskiy
@ 2014-03-24 11:43   ` Sergei Epiphanov
  2014-03-24 12:33     ` Dmitry V. Levin
  0 siblings, 1 reply; 10+ messages in thread
From: Sergei Epiphanov @ 2014-03-24 11:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

В письме от 21 марта 2014 16:30:53 пользователь Gleb Fotengauer-Malinovskiy 
написал:
> Как бы вы ни старались, от gcc4.8 вы не избавитесь, он (в качестве 'любого
> gcc') является частью build_list в hasher и устанавливается до обработки BR.

А зачем? Раньше, вроде, такого принуждения не было, ставилась только та 
версия, которая была нужна.

-- 
С уважением, Епифанов Сергей

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Принудительно установить версию GCC в SPEC
  2014-03-24 11:43   ` Sergei Epiphanov
@ 2014-03-24 12:33     ` Dmitry V. Levin
  2014-04-09 21:46       ` Sergey Y. Afonin
  0 siblings, 1 reply; 10+ messages in thread
From: Dmitry V. Levin @ 2014-03-24 12:33 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1147 bytes --]

On Mon, Mar 24, 2014 at 03:43:22PM +0400, Sergei Epiphanov wrote:
> В письме от 21 марта 2014 16:30:53 пользователь Gleb Fotengauer-Malinovskiy 
> написал:
> > Как бы вы ни старались, от gcc4.8 вы не избавитесь, он (в качестве 'любого
> > gcc') является частью build_list в hasher и устанавливается до обработки BR.
> 
> А зачем? Раньше, вроде, такого принуждения не было, ставилась только та 
> версия, которая была нужна.

Базовый чрут формируется до обработки сборочных зависимостей пакета.
Поскольку в него входит gcc, то самая актуальная версия gcc оказывается в
сборочном чруте в любом случае.  Так у нас было всегда.

Использование макроса "%set_gcc_version X.Y" приводит к следующему:
- в сборочные зависимости попадает gccX.Y;
- в environment попадает переменная GCC_VERSION=X.Y, которая влияет на
автоматический выбор версии используемого gcc/g++/... во всех случаях, где
прямо или косвенно используется gcc_wrapper; на практике это означает, что
если пакет не переопределяет GCC_VERSION для своих нужд, то будет
использоваться именно та версия компилятора, которая указана в макросе
%set_gcc_version.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Принудительно установить версию GCC в SPEC
  2014-03-24 12:33     ` Dmitry V. Levin
@ 2014-04-09 21:46       ` Sergey Y. Afonin
  2014-04-10  6:25         ` Sergey Y. Afonin
  2014-04-10 16:35         ` Gleb Fotengauer-Malinovskiy
  0 siblings, 2 replies; 10+ messages in thread
From: Sergey Y. Afonin @ 2014-04-09 21:46 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Monday 24 March 2014, Dmitry V. Levin wrote:

> Базовый чрут формируется до обработки сборочных зависимостей пакета.
> Поскольку в него входит gcc, то самая актуальная версия gcc оказывается
> в сборочном чруте в любом случае.  Так у нас было всегда.

Может, делать удаление gcc/gcc-c++, отличных от X.Y, если макрос есть ?
Или что-то мешает ?

> Использование макроса "%set_gcc_version X.Y" приводит к следующему:
> - в сборочные зависимости попадает gccX.Y;
 
А gccX.Y-с++ ? Или, в этом случае, "BuildRequires: gccX.Y-c++" требуется
всё равно, если c++ надо ?

Вот два практически идентичных src.rpm:

#117960 TESTED #1 [test-only] t6 srpm=xorp-1.8.6-alt0.0.20130830.M60T.1.src.rpm
#117935 FAILED #4 [test-only] sisyphus srpm=xorp-1.8.6-alt0.20130830.1.src.rpm

Который для sisyphus, содержит %set_gcc_version 4.5 и BuildRequires gcc4.5-c++.

Или это вот

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

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

-- 
С уважением, Сергей Афонин


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Принудительно установить версию GCC в SPEC
  2014-04-09 21:46       ` Sergey Y. Afonin
@ 2014-04-10  6:25         ` Sergey Y. Afonin
  2014-04-10 16:35         ` Gleb Fotengauer-Malinovskiy
  1 sibling, 0 replies; 10+ messages in thread
From: Sergey Y. Afonin @ 2014-04-10  6:25 UTC (permalink / raw)
  To: devel

On Thursday 10 April 2014, Sergey Y. Afonin wrote:

> Вот два практически идентичных src.rpm:
> 
> #117960 TESTED #1 [test-only] t6 srpm=xorp-1.8.6-alt0.0.20130830.M60T.1.src.rpm
> #117935 FAILED #4 [test-only] sisyphus srpm=xorp-1.8.6-alt0.20130830.1.src.rpm

#117973 FAILED #1 [test-only] t7 srpm=xorp-1.8.6-alt0.0.20130830.M70T.1.src.rpm

И в t7 не собирается, но ошибка другая, вообще g++ свалиться заставили:

internal compiler error: in expand_debug_locations, at cfgexpand.c:3706
Please submit a full bug report.

-- 
С уважением, Сергей Афонин
asy@altlinux.ru


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Принудительно установить версию GCC в SPEC
  2014-04-09 21:46       ` Sergey Y. Afonin
  2014-04-10  6:25         ` Sergey Y. Afonin
@ 2014-04-10 16:35         ` Gleb Fotengauer-Malinovskiy
  2014-04-10 22:03           ` Sergey Y. Afonin
  2014-04-11  8:37           ` [devel] сборка xorp, glibc-kernheaders и gcc4.7 Sergey Y. Afonin
  1 sibling, 2 replies; 10+ messages in thread
From: Gleb Fotengauer-Malinovskiy @ 2014-04-10 16:35 UTC (permalink / raw)
  To: Sergey Y. Afonin; +Cc: ALT Linux Team development discussions


[-- Attachment #1.1: Type: text/plain, Size: 1857 bytes --]

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
 
Глеб Фотенгауэр-Малиновский

[-- Attachment #1.2: xorp.spec.diff --]
[-- Type: text/plain, Size: 2342 bytes --]

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

[-- Attachment #1.3: xorp.spec.t7.diff --]
[-- Type: text/plain, Size: 2491 bytes --]

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

[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] Принудительно установить версию GCC в SPEC
  2014-04-10 16:35         ` Gleb Fotengauer-Malinovskiy
@ 2014-04-10 22:03           ` Sergey Y. Afonin
  2014-04-11  8:37           ` [devel] сборка xorp, glibc-kernheaders и gcc4.7 Sergey Y. Afonin
  1 sibling, 0 replies; 10+ messages in thread
From: Sergey Y. Afonin @ 2014-04-10 22:03 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thursday 10 April 2014, Gleb Fotengauer-Malinovskiy wrote:

> Что мешает использовать тот gcc, который вам нужен вместо того,
> который лежит и не мешает ?
 
Да не очень пока понятно было, что мешает, и что нет. За diff к
спекам спасибо, завтра посмотрю. Сегодня я кое-что пробовал, когда
время выдавалось. Что удалять rpath нельзя, уже выяснил - xorp 
работать перестаёт, даже если собирается, а компилятор уже дело
25-ое получается. В t7 я его собрал, правда локально, с gcc 4.6,
завтра допроверяю.

Ещё понять бы, что он нужен вообще. :-) Что-то затея с использованием
его PIM, ради чего всё собиралось, не проходит, как хочется. Но это
уже не для devel@lists.altlinux вопрос...

-- 
С уважением, Сергей Афонин


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [devel] сборка xorp, glibc-kernheaders и gcc4.7
  2014-04-10 16:35         ` Gleb Fotengauer-Malinovskiy
  2014-04-10 22:03           ` Sergey Y. Afonin
@ 2014-04-11  8:37           ` Sergey Y. Afonin
  1 sibling, 0 replies; 10+ messages in thread
From: Sergey Y. Afonin @ 2014-04-11  8:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thursday 10 April 2014, Gleb Fotengauer-Malinovskiy wrote:

> А в 4.7 правда какой-то internal error, используйте 4.6.
 
В общем, в Сизиф ушло, по результату сборки повесил 2 бага:

https://bugzilla.altlinux.org/29991
https://bugzilla.altlinux.org/29992

-- 
С уважением, Сергей Афонин
asy@altlinux.ru


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-04-11  8:37 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-21  9:12 [devel] Принудительно установить версию GCC в SPEC Roman Savochenko
2014-03-21 16:06 ` Roman Savochenko
2014-03-21 16:30 ` Gleb Fotengauer-Malinovskiy
2014-03-24 11:43   ` Sergei Epiphanov
2014-03-24 12:33     ` Dmitry V. Levin
2014-04-09 21:46       ` Sergey Y. Afonin
2014-04-10  6:25         ` Sergey Y. Afonin
2014-04-10 16:35         ` Gleb Fotengauer-Malinovskiy
2014-04-10 22:03           ` Sergey Y. Afonin
2014-04-11  8:37           ` [devel] сборка xorp, glibc-kernheaders и gcc4.7 Sergey Y. Afonin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git