ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] db4.7-devel-static
@ 2009-05-18 20:03 Led
  2009-05-18 22:25 ` Dmitry V. Levin
  0 siblings, 1 reply; 10+ messages in thread
From: Led @ 2009-05-18 20:03 UTC (permalink / raw)
  To: ALT Linux Team development discussions

/usr/bin/ld: /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a(db_err.o): 
relocation R_X86_64_32 against `a local symbol' can not be used when making a 
shared object; recompile with -fPIC
/usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a: could not 
read symbols: Bad value
collect2: ld returned 1 exit status

Это бага в сборке db4.7 или нужно как-то по-другому использовать libdb-4.7.a ?

-- 
Led


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

* Re: [devel] db4.7-devel-static
  2009-05-18 20:03 [devel] db4.7-devel-static Led
@ 2009-05-18 22:25 ` Dmitry V. Levin
  2009-05-18 22:28   ` Led
  0 siblings, 1 reply; 10+ messages in thread
From: Dmitry V. Levin @ 2009-05-18 22:25 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Mon, May 18, 2009 at 11:03:32PM +0300, Led wrote:
> /usr/bin/ld: /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a(db_err.o): 
> relocation R_X86_64_32 against `a local symbol' can not be used when making a 
> shared object; recompile with -fPIC
> /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a: could not 
> read symbols: Bad value
> collect2: ld returned 1 exit status
> 
> Это бага в сборке db4.7 или нужно как-то по-другому использовать libdb-4.7.a ?

Обычно статические библиотеки, которые сопровождают динамические, собирают
без -fpic, поскольку с ними обычно линкуются статически.  Например,
так собирается rpm-static с -ldb.

Другое дело, если для статической библиотеки нет парной динамической.
Например, мне в понедельник показали libmysqld.a, который тоже
скомпилирован без -fpic, однако libmysqld.so не существует, и это создаёт
проблемы.


-- 
ldv

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

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

* Re: [devel] db4.7-devel-static
  2009-05-18 22:25 ` Dmitry V. Levin
@ 2009-05-18 22:28   ` Led
  2009-05-18 22:33     ` Dmitry V. Levin
  0 siblings, 1 reply; 10+ messages in thread
From: Led @ 2009-05-18 22:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday, 19 May 2009 01:25:50 Dmitry V. Levin wrote:
> On Mon, May 18, 2009 at 11:03:32PM +0300, Led wrote:
> > /usr/bin/ld:
> > /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a(db_er
> >r.o): relocation R_X86_64_32 against `a local symbol' can not be used when
> > making a shared object; recompile with -fPIC
> > /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a:
> > could not read symbols: Bad value
> > collect2: ld returned 1 exit status
> >
> > Это бага в сборке db4.7 или нужно как-то по-другому использовать
> > libdb-4.7.a ?
>
> Обычно статические библиотеки, которые сопровождают динамические, собирают
> без -fpic, поскольку с ними обычно линкуются статически.  Например,
> так собирается rpm-static с -ldb.
>
> Другое дело, если для статической библиотеки нет парной динамической.
> Например, мне в понедельник показали libmysqld.a, который тоже
> скомпилирован без -fpic, однако libmysqld.so не существует, и это создаёт
> проблемы.

Как бы то ни было, но сборка libdb-4.7 c явно указанным --with-pic для x86_64 
проблему решает.
Если так и должно быть, и это не бага, значит в багзиллу мне идти нЕзачем?

-- 
Led

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

* Re: [devel] db4.7-devel-static
  2009-05-18 22:28   ` Led
@ 2009-05-18 22:33     ` Dmitry V. Levin
  2009-05-18 23:07       ` Led
  0 siblings, 1 reply; 10+ messages in thread
From: Dmitry V. Levin @ 2009-05-18 22:33 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, May 19, 2009 at 01:28:42AM +0300, Led wrote:
> On Tuesday, 19 May 2009 01:25:50 Dmitry V. Levin wrote:
> > On Mon, May 18, 2009 at 11:03:32PM +0300, Led wrote:
> > > /usr/bin/ld:
> > > /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a(db_er
> > >r.o): relocation R_X86_64_32 against `a local symbol' can not be used when
> > > making a shared object; recompile with -fPIC
> > > /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a:
> > > could not read symbols: Bad value
> > > collect2: ld returned 1 exit status
> > >
> > > Это бага в сборке db4.7 или нужно как-то по-другому использовать
> > > libdb-4.7.a ?
> >
> > Обычно статические библиотеки, которые сопровождают динамические, собирают
> > без -fpic, поскольку с ними обычно линкуются статически.  Например,
> > так собирается rpm-static с -ldb.
> >
> > Другое дело, если для статической библиотеки нет парной динамической.
> > Например, мне в понедельник показали libmysqld.a, который тоже
> > скомпилирован без -fpic, однако libmysqld.so не существует, и это создаёт
> > проблемы.
> 
> Как бы то ни было, но сборка libdb-4.7 c явно указанным --with-pic для x86_64 
> проблему решает.

В Сизифе 49 исходных пакетов линкуются с -ldb, и проблемы не испытывают.
Зачем вы линкуете libdb.a в ELF shared object при наличии libdb.so?
Расскажите нам, какую проблему вы решаете.


-- 
ldv

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

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

* Re: [devel] db4.7-devel-static
  2009-05-18 22:33     ` Dmitry V. Levin
@ 2009-05-18 23:07       ` Led
  2009-05-18 23:48         ` Dmitry V. Levin
  0 siblings, 1 reply; 10+ messages in thread
From: Led @ 2009-05-18 23:07 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday, 19 May 2009 01:33:53 Dmitry V. Levin wrote:
> On Tue, May 19, 2009 at 01:28:42AM +0300, Led wrote:
> > On Tuesday, 19 May 2009 01:25:50 Dmitry V. Levin wrote:
> > > On Mon, May 18, 2009 at 11:03:32PM +0300, Led wrote:
> > > > /usr/bin/ld:
> > > > /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a(d
> > > >b_er r.o): relocation R_X86_64_32 against `a local symbol' can not be
> > > > used when making a shared object; recompile with -fPIC
> > > > /usr/lib64/gcc/x86_64-alt-linux/4.4.0/../../../../lib64/libdb-4.7.a:
> > > > could not read symbols: Bad value
> > > > collect2: ld returned 1 exit status
> > > >
> > > > Это бага в сборке db4.7 или нужно как-то по-другому использовать
> > > > libdb-4.7.a ?
> > >
> > > Обычно статические библиотеки, которые сопровождают динамические,
> > > собирают без -fpic, поскольку с ними обычно линкуются статически. 
> > > Например, так собирается rpm-static с -ldb.
> > >
> > > Другое дело, если для статической библиотеки нет парной динамической.
> > > Например, мне в понедельник показали libmysqld.a, который тоже
> > > скомпилирован без -fpic, однако libmysqld.so не существует, и это
> > > создаёт проблемы.
> >
> > Как бы то ни было, но сборка libdb-4.7 c явно указанным --with-pic для
> > x86_64 проблему решает.
>
> В Сизифе 49 исходных пакетов линкуются с -ldb, и проблемы не испытывают.
> Зачем вы линкуете libdb.a в ELF shared object при наличии libdb.so?
> Расскажите нам, какую проблему вы решаете.

Спасибо, теперь, кажется, понятно. Это из-за "-ldb-4.7" в команде линковки и 
отстутствия "-L/lib64" в ней же. А симлинк /usr/lib64/libdb-4.7.so нельзя 
сделать? Или это приведёт к дополнительным проблемам?

-- 
Led

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

* Re: [devel] db4.7-devel-static
  2009-05-18 23:07       ` Led
@ 2009-05-18 23:48         ` Dmitry V. Levin
  2009-05-19  0:00           ` Led
  0 siblings, 1 reply; 10+ messages in thread
From: Dmitry V. Levin @ 2009-05-18 23:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, May 19, 2009 at 02:07:57AM +0300, Led wrote:
[...]
> Спасибо, теперь, кажется, понятно. Это из-за "-ldb-4.7" в команде линковки и 
> отстутствия "-L/lib64" в ней же. А симлинк /usr/lib64/libdb-4.7.so нельзя 
> сделать? Или это приведёт к дополнительным проблемам?

Да, этот симлинк придётся сделать.  К счастью, только libdb используют
такую схему именования библиотек, поэтому других пакетов эта проблема не
касается.

Поясню ситуацию:
Порядок перебора каталогов с библиотеками у GNU ld отличается от ld.so,
а именно, /lib просматривается после /usr/lib.
Я обсуждал эту тему с апстримом 5 лет назад, и мы сошлись во мнении, что
изменение этого неочевидного на первый взгляд порядка может сломать multilib.
Если интересно, то я могу откопать цитаты из той переписки.


-- 
ldv

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

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

* Re: [devel] db4.7-devel-static
  2009-05-18 23:48         ` Dmitry V. Levin
@ 2009-05-19  0:00           ` Led
  2009-05-19  0:56             ` Evgeny Sinelnikov
  0 siblings, 1 reply; 10+ messages in thread
From: Led @ 2009-05-19  0:00 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tuesday, 19 May 2009 02:48:22 Dmitry V. Levin wrote:
> On Tue, May 19, 2009 at 02:07:57AM +0300, Led wrote:
> [...]
>
> > Спасибо, теперь, кажется, понятно. Это из-за "-ldb-4.7" в команде
> > линковки и отстутствия "-L/lib64" в ней же. А симлинк
> > /usr/lib64/libdb-4.7.so нельзя сделать? Или это приведёт к дополнительным
> > проблемам?
>
> Да, этот симлинк придётся сделать.

Ок, спасибо, если сделаете:)

> К счастью, только libdb используют 
> такую схему именования библиотек, поэтому других пакетов эта проблема не
> касается.
>
> Поясню ситуацию:
> Порядок перебора каталогов с библиотеками у GNU ld отличается от ld.so,
> а именно, /lib просматривается после /usr/lib.
> Я обсуждал эту тему с апстримом 5 лет назад, и мы сошлись во мнении, что
> изменение этого неочевидного на первый взгляд порядка может сломать
> multilib. Если интересно, то я могу откопать цитаты из той переписки.

Не, ненужно "откапывать" - наверное это логично. Тем более, что добавление 
симлинка в /usr/lib всё решает.

-- 
Led

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

* Re: [devel] db4.7-devel-static
  2009-05-19  0:00           ` Led
@ 2009-05-19  0:56             ` Evgeny Sinelnikov
  2009-05-19  1:04               ` Dmitry V. Levin
  0 siblings, 1 reply; 10+ messages in thread
From: Evgeny Sinelnikov @ 2009-05-19  0:56 UTC (permalink / raw)
  To: ALT Linux Team development discussions

19 мая 2009 г. 4:00 пользователь Led <ledest@gmail.com> написал:
> On Tuesday, 19 May 2009 02:48:22 Dmitry V. Levin wrote:
>> On Tue, May 19, 2009 at 02:07:57AM +0300, Led wrote:
>> [...]
>>
>> > Спасибо, теперь, кажется, понятно. Это из-за "-ldb-4.7" в команде
>> > линковки и отстутствия "-L/lib64" в ней же. А симлинк
>> > /usr/lib64/libdb-4.7.so нельзя сделать? Или это приведёт к дополнительным
>> > проблемам?
>>
>> Да, этот симлинк придётся сделать.
>
> Ок, спасибо, если сделаете:)
>
>> К счастью, только libdb используют
>> такую схему именования библиотек, поэтому других пакетов эта проблема не
>> касается.
>>
>> Поясню ситуацию:
>> Порядок перебора каталогов с библиотеками у GNU ld отличается от ld.so,
>> а именно, /lib просматривается после /usr/lib.
>> Я обсуждал эту тему с апстримом 5 лет назад, и мы сошлись во мнении, что
>> изменение этого неочевидного на первый взгляд порядка может сломать
>> multilib. Если интересно, то я могу откопать цитаты из той переписки.
>
> Не, ненужно "откапывать" - наверное это логично. Тем более, что добавление
> симлинка в /usr/lib всё решает.
>

Вообще-то странно... Я уже указывал в личной переписке с ldv@ по
поводу похожих проблем с линковкой с libdb-4.7 при пересборке питона,
причём на 32-битной системе.

В некоторых конфигурациях, в каких именно я так пока не успел
разобраться, линковка с libdb-4.7 не работает. Хотя, при этом, в
хешере та же самая сборка отрабатывает нормально... На пересборке
питона это ошибка стабильно проявляется. Может быть и у вас проявится?

-- 
Sin (Sinelnikov Evgeny)

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

* Re: [devel] db4.7-devel-static
  2009-05-19  0:56             ` Evgeny Sinelnikov
@ 2009-05-19  1:04               ` Dmitry V. Levin
  2009-05-19  1:25                 ` Evgeny Sinelnikov
  0 siblings, 1 reply; 10+ messages in thread
From: Dmitry V. Levin @ 2009-05-19  1:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, May 19, 2009 at 04:56:33AM +0400, Evgeny Sinelnikov wrote:
> 19 мая 2009 г. 4:00 пользователь Led <ledest@gmail.com> написал:
> > On Tuesday, 19 May 2009 02:48:22 Dmitry V. Levin wrote:
> >> On Tue, May 19, 2009 at 02:07:57AM +0300, Led wrote:
> >> [...]
> >>
> >> > Спасибо, теперь, кажется, понятно. Это из-за "-ldb-4.7" в команде
> >> > линковки и отстутствия "-L/lib64" в ней же. А симлинк
> >> > /usr/lib64/libdb-4.7.so нельзя сделать? Или это приведёт к дополнительным
> >> > проблемам?
> >>
> >> Да, этот симлинк придётся сделать.
> >
> > Ок, спасибо, если сделаете:)
> >
> >> К счастью, только libdb используют
> >> такую схему именования библиотек, поэтому других пакетов эта проблема не
> >> касается.
> >>
> >> Поясню ситуацию:
> >> Порядок перебора каталогов с библиотеками у GNU ld отличается от ld.so,
> >> а именно, /lib просматривается после /usr/lib.
> >> Я обсуждал эту тему с апстримом 5 лет назад, и мы сошлись во мнении, что
> >> изменение этого неочевидного на первый взгляд порядка может сломать
> >> multilib. Если интересно, то я могу откопать цитаты из той переписки.
> >
> > Не, ненужно "откапывать" - наверное это логично. Тем более, что добавление
> > симлинка в /usr/lib всё решает.
> 
> Вообще-то странно... Я уже указывал в личной переписке с ldv@ по
> поводу похожих проблем с линковкой с libdb-4.7 при пересборке питона,
> причём на 32-битной системе.
> 
> В некоторых конфигурациях, в каких именно я так пока не успел
> разобраться, линковка с libdb-4.7 не работает. Хотя, при этом, в
> хешере та же самая сборка отрабатывает нормально... На пересборке
> питона это ошибка стабильно проявляется. Может быть и у вас проявится?

Вероятно, вы тоже наступили на эти грабли: в сборочную среду питона
libdb-4.7.a не устанавливается, поэтому всё собирается.

Впрочем, это уже не важно, поскольку задание #6722 уже выполнилось.


-- 
ldv

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

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

* Re: [devel] db4.7-devel-static
  2009-05-19  1:04               ` Dmitry V. Levin
@ 2009-05-19  1:25                 ` Evgeny Sinelnikov
  0 siblings, 0 replies; 10+ messages in thread
From: Evgeny Sinelnikov @ 2009-05-19  1:25 UTC (permalink / raw)
  To: ALT Linux Team development discussions

19 мая 2009 г. 5:04 пользователь Dmitry V. Levin <ldv@altlinux.org> написал:
> Вероятно, вы тоже наступили на эти грабли: в сборочную среду питона
> libdb-4.7.a не устанавливается, поэтому всё собирается.
>

Ах, вот оно в чём дело... Действительно, при удалении
libdb4.7-devel-static всё пересобирается.

> Впрочем, это уже не важно, поскольку задание #6722 уже выполнилось.
>

Каюсь, разбираться было некогда... Зато вот оно яркое подтверждение на
практике преимущества повторяемой сборочной среды, где конечный
бинарный пакет есть функция исходников и этой сборочной среды.


-- 
Sin (Sinelnikov Evgeny)

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

end of thread, other threads:[~2009-05-19  1:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-18 20:03 [devel] db4.7-devel-static Led
2009-05-18 22:25 ` Dmitry V. Levin
2009-05-18 22:28   ` Led
2009-05-18 22:33     ` Dmitry V. Levin
2009-05-18 23:07       ` Led
2009-05-18 23:48         ` Dmitry V. Levin
2009-05-19  0:00           ` Led
2009-05-19  0:56             ` Evgeny Sinelnikov
2009-05-19  1:04               ` Dmitry V. Levin
2009-05-19  1:25                 ` Evgeny Sinelnikov

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