[devel] db4.7-devel-static

Led ledest на gmail.com
Вт Май 19 03:07:57 MSD 2009


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


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