ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Как заставить прогу тайти билиотеку?
@ 2004-03-09 10:39 Igor Tertishny
  2004-03-09 10:50 ` [devel] " Alexey Tourbin
  2004-03-09 13:14 ` [devel] " Andrei Bulava
  0 siblings, 2 replies; 28+ messages in thread
From: Igor Tertishny @ 2004-03-09 10:39 UTC (permalink / raw)
  To: devel

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 791 bytes --]

Прошу подсказать, как заставить прогу при запуске найти нужную ей библиотеку, 
находящуюся в папке /usr/lib/библиотека? %add_findprov_lib_path 
%_libdir/hk_classes помогает только при сборке, но при запуске прога не 
находит того, что ей нужно. Можно, конечно, перепаковать файлы прямо в 
/usr/lib, но это же не то. Да и по политике неправильно. Извините за 
ламмерство, но я очень хочу разобраться где тут собака порылась, потому прошу 
помощи. Всю документацию по текущему rpm я перечитал, но нужного мне не 
нашел.

Вывод ниже:

[ilar@yby SPECS]$ knoda
knoda: error while loading shared libraries: libhk_classes.so.5: cannot open 
shared object file: No such file or directory
[ilar@yby SPECS]$ ls /usr/lib/hk_classes
drivers  libhk_classes.so  libhk_classes.so.5  libhk_classes.so.5.0.1

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

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

* [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 10:39 [devel] Как заставить прогу тайти билиотеку? Igor Tertishny
@ 2004-03-09 10:50 ` Alexey Tourbin
  2004-03-09 14:29   ` Алексей Любимов
  2004-03-10  8:39   ` Igor Tertishny
  2004-03-09 13:14 ` [devel] " Andrei Bulava
  1 sibling, 2 replies; 28+ messages in thread
From: Alexey Tourbin @ 2004-03-09 10:50 UTC (permalink / raw)
  To: devel

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

On Tue, Mar 09, 2004 at 12:39:34PM +0200, Igor Tertishny wrote:
> [ilar@yby SPECS]$ knoda
> knoda: error while loading shared libraries: libhk_classes.so.5: cannot open 
> shared object file: No such file or directory
> [ilar@yby SPECS]$ ls /usr/lib/hk_classes
> drivers  libhk_classes.so  libhk_classes.so.5  libhk_classes.so.5.0.1

ld(1)/rpath
ld.so(8)/LD_LIBRARY_PATH

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

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

* Re: [devel] Как заставить прогу тайти билиотеку?
  2004-03-09 10:39 [devel] Как заставить прогу тайти билиотеку? Igor Tertishny
  2004-03-09 10:50 ` [devel] " Alexey Tourbin
@ 2004-03-09 13:14 ` Andrei Bulava
  1 sibling, 0 replies; 28+ messages in thread
From: Andrei Bulava @ 2004-03-09 13:14 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, 9 Mar 2004, Igor Tertishny wrote:

> Прошу подсказать, как заставить прогу при запуске найти нужную
> ей библиотеку, находящуюся в папке /usr/lib/библиотека?
> %add_findprov_lib_path %_libdir/hk_classes помогает только при
> сборке, но при запуске прога не находит того, что ей нужно.
> Можно, конечно, перепаковать файлы прямо в /usr/lib, но это же
> не то. Да и по политике неправильно.

Можно с этого места поподробнее? Где почитать про то, что
правильно / неправильно класть в /usr/lib ? Спрашиваю не из
праздного любопытства, у самого такая же задача возникла при
опакечивании. Ограничился перепаковкой файлов в /usr/lib, но
теперь начинаю терять уверенность в своей правоте :-/

<skip>

// AB1002-UANIC


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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 10:50 ` [devel] " Alexey Tourbin
@ 2004-03-09 14:29   ` Алексей Любимов
  2004-03-09 14:40     ` Alexander Bokovoy
  2004-03-09 14:41     ` Alexey Tourbin
  2004-03-10  8:39   ` Igor Tertishny
  1 sibling, 2 replies; 28+ messages in thread
From: Алексей Любимов @ 2004-03-09 14:29 UTC (permalink / raw)
  To: ALT Devel discussion list



Alexey Tourbin пишет:

>On Tue, Mar 09, 2004 at 12:39:34PM +0200, Igor Tertishny wrote:
>  
>
>>[ilar@yby SPECS]$ knoda
>>knoda: error while loading shared libraries: libhk_classes.so.5: cannot open 
>>shared object file: No such file or directory
>>[ilar@yby SPECS]$ ls /usr/lib/hk_classes
>>drivers  libhk_classes.so  libhk_classes.so.5  libhk_classes.so.5.0.1
>>    
>>
>
>ld(1)/rpath
>ld.so(8)/LD_LIBRARY_PATH
>  
>

LD_LIBRARY_PATH

Это здорово, но так ищутся только прямо вызываемые библиотеки.
Например, кладем libc.2.3.2 в ~/lib и показываем на нее LD_LIBRARY_PATH=~/lib program
а та жалуется на /lib/ld.so.2
Естественно, жалуется, ведь соответствующая ей ld.so.2 лежит в ~/lib, а не в /lib.
А вот как в таком случае действовать, я пока не нашел. 
chrpath тоже не помог. Не видит он, типа, никаких путей в libc.2.3.2 





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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 14:29   ` Алексей Любимов
@ 2004-03-09 14:40     ` Alexander Bokovoy
  2004-03-09 14:52       ` Алексей Любимов
  2004-03-20  8:57       ` Klimchev Konstantin
  2004-03-09 14:41     ` Alexey Tourbin
  1 sibling, 2 replies; 28+ messages in thread
From: Alexander Bokovoy @ 2004-03-09 14:40 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, Mar 09, 2004 at 05:29:52PM +0300, Алексей Любимов wrote:
> 
> 
> Alexey Tourbin пишет:
> 
> >On Tue, Mar 09, 2004 at 12:39:34PM +0200, Igor Tertishny wrote:
> > 
> >
> >>[ilar@yby SPECS]$ knoda
> >>knoda: error while loading shared libraries: libhk_classes.so.5: cannot 
> >>open shared object file: No such file or directory
> >>[ilar@yby SPECS]$ ls /usr/lib/hk_classes
> >>drivers  libhk_classes.so  libhk_classes.so.5  libhk_classes.so.5.0.1
> >>   
> >>
> >
> >ld(1)/rpath
> >ld.so(8)/LD_LIBRARY_PATH
> > 
> >
> 
> LD_LIBRARY_PATH
> 
> Это здорово, но так ищутся только прямо вызываемые библиотеки.
> Например, кладем libc.2.3.2 в ~/lib и показываем на нее 
> LD_LIBRARY_PATH=~/lib program
> а та жалуется на /lib/ld.so.2
> Естественно, жалуется, ведь соответствующая ей ld.so.2 лежит в ~/lib, а не 
> в /lib.
> А вот как в таком случае действовать, я пока не нашел. 
> chrpath тоже не помог. Не видит он, типа, никаких путей в libc.2.3.2 
Я уже неоднократно публиковал здесь рецепт:
LD_LIBRARY_PATH=~/.lib/glibc ~/.lib/glibc/ld-2.3.2.so $@ 

-- 
/ Alexander Bokovoy
Samba Team                      http://www.samba.org/
ALT Linux Team                  http://www.altlinux.org/
Midgard Project Ry              http://www.midgard-project.org/


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

* [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 14:29   ` Алексей Любимов
  2004-03-09 14:40     ` Alexander Bokovoy
@ 2004-03-09 14:41     ` Alexey Tourbin
  1 sibling, 0 replies; 28+ messages in thread
From: Alexey Tourbin @ 2004-03-09 14:41 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Tue, Mar 09, 2004 at 05:29:52PM +0300, Алексей Любимов wrote:
> LD_LIBRARY_PATH=~/lib program
> а та жалуется на /lib/ld.so.2
> Естественно, жалуется, ведь соответствующая ей ld.so.2 лежит в ~/lib, а не 
> в /lib.

LD_LIBRARY_PATH=~/lib ~/lib/ld.so $PROG

> А вот как в таком случае действовать, я пока не нашел. 
> chrpath тоже не помог. Не видит он, типа, никаких путей в libc.2.3.2 

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 14:40     ` Alexander Bokovoy
@ 2004-03-09 14:52       ` Алексей Любимов
  2004-03-09 15:40         ` Dmitry V. Levin
  2004-03-20  8:57       ` Klimchev Konstantin
  1 sibling, 1 reply; 28+ messages in thread
From: Алексей Любимов @ 2004-03-09 14:52 UTC (permalink / raw)
  To: ALT Devel discussion list



Alexander Bokovoy пишет:

>On Tue, Mar 09, 2004 at 05:29:52PM +0300, Алексей Любимов wrote:
>  
>
>>Alexey Tourbin пишет:
>>
>>    
>>
>>>On Tue, Mar 09, 2004 at 12:39:34PM +0200, Igor Tertishny wrote:
>>>
>>>
>>>      
>>>
>>>>[ilar@yby SPECS]$ knoda
>>>>knoda: error while loading shared libraries: libhk_classes.so.5: cannot 
>>>>open shared object file: No such file or directory
>>>>[ilar@yby SPECS]$ ls /usr/lib/hk_classes
>>>>drivers  libhk_classes.so  libhk_classes.so.5  libhk_classes.so.5.0.1
>>>>  
>>>>
>>>>        
>>>>
>>>ld(1)/rpath
>>>ld.so(8)/LD_LIBRARY_PATH
>>>
>>>
>>>      
>>>
>>LD_LIBRARY_PATH
>>
>>Это здорово, но так ищутся только прямо вызываемые библиотеки.
>>Например, кладем libc.2.3.2 в ~/lib и показываем на нее 
>>LD_LIBRARY_PATH=~/lib program
>>а та жалуется на /lib/ld.so.2
>>Естественно, жалуется, ведь соответствующая ей ld.so.2 лежит в ~/lib, а не 
>>в /lib.
>>А вот как в таком случае действовать, я пока не нашел. 
>>chrpath тоже не помог. Не видит он, типа, никаких путей в libc.2.3.2 
>>    
>>
>Я уже неоднократно публиковал здесь рецепт:
>LD_LIBRARY_PATH=~/.lib/glibc ~/.lib/glibc/ld-2.3.2.so $@ 
>  
>
Спасибо всем откликнувшимся. Почему то когда читал, не отложилась такая 
хитрая конструкция.
Попробую так.




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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 14:52       ` Алексей Любимов
@ 2004-03-09 15:40         ` Dmitry V. Levin
  2004-03-09 15:52           ` Алексей Любимов
  0 siblings, 1 reply; 28+ messages in thread
From: Dmitry V. Levin @ 2004-03-09 15:40 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Tue, Mar 09, 2004 at 05:52:10PM +0300, Алексей Любимов wrote:
> >Я уже неоднократно публиковал здесь рецепт:
> >LD_LIBRARY_PATH=~/.lib/glibc ~/.lib/glibc/ld-2.3.2.so $@ 
> >
> Спасибо всем откликнувшимся. Почему то когда читал, не отложилась такая 
> хитрая конструкция.
> Попробую так.

Запомните простое правило:
Если вы меняете libc, то вы обязаны заменить и dynamic linker на строго
соответствующую версию.  Эти две программы очень тесно связаны.


-- 
ldv

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 15:40         ` Dmitry V. Levin
@ 2004-03-09 15:52           ` Алексей Любимов
  2004-03-09 16:05             ` Alexander Bokovoy
  2004-03-09 16:49             ` Alexey Tourbin
  0 siblings, 2 replies; 28+ messages in thread
From: Алексей Любимов @ 2004-03-09 15:52 UTC (permalink / raw)
  To: ALT Devel discussion list



Dmitry V. Levin пишет:

>On Tue, Mar 09, 2004 at 05:52:10PM +0300, Алексей Любимов wrote:
>  
>
>>>Я уже неоднократно публиковал здесь рецепт:
>>>LD_LIBRARY_PATH=~/.lib/glibc ~/.lib/glibc/ld-2.3.2.so $@ 
>>>
>>>      
>>>
>>Спасибо всем откликнувшимся. Почему то когда читал, не отложилась такая 
>>хитрая конструкция.
>>Попробую так.
>>    
>>
>
>Запомните простое правило:
>Если вы меняете libc, то вы обязаны заменить и dynamic linker на строго
>соответствующую версию.  Эти две программы очень тесно связаны.
>  
>
Да это как раз понятно. Под чрутом все прозрачно получается, но больно 
много тащить приходиться...
Ктож знал, что файл ld-2.3.2.so в переменной LD_LIBRARY_PATH может 
каталогом прикидываться?




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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 15:52           ` Алексей Любимов
@ 2004-03-09 16:05             ` Alexander Bokovoy
  2004-03-09 16:49             ` Alexey Tourbin
  1 sibling, 0 replies; 28+ messages in thread
From: Alexander Bokovoy @ 2004-03-09 16:05 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, Mar 09, 2004 at 06:52:53PM +0300, Алексей Любимов wrote:
> 
> 
> Dmitry V. Levin пишет:
> 
> >On Tue, Mar 09, 2004 at 05:52:10PM +0300, Алексей Любимов wrote:
> > 
> >
> >>>Я уже неоднократно публиковал здесь рецепт:
> >>>LD_LIBRARY_PATH=~/.lib/glibc ~/.lib/glibc/ld-2.3.2.so $@ 
> >>Спасибо всем откликнувшимся. Почему то когда читал, не отложилась такая 
> >>хитрая конструкция.
> >>Попробую так.
> >Запомните простое правило:
> >Если вы меняете libc, то вы обязаны заменить и dynamic linker на строго
> >соответствующую версию.  Эти две программы очень тесно связаны.
> Да это как раз понятно. Под чрутом все прозрачно получается, но больно 
> много тащить приходиться...
> Ктож знал, что файл ld-2.3.2.so в переменной LD_LIBRARY_PATH может 
> каталогом прикидываться?
Где он там каталогом прикидывается? Вы посмотрите повнимательнее.
-- 
/ Alexander Bokovoy
Samba Team                      http://www.samba.org/
ALT Linux Team                  http://www.altlinux.org/
Midgard Project Ry              http://www.midgard-project.org/


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

* [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 15:52           ` Алексей Любимов
  2004-03-09 16:05             ` Alexander Bokovoy
@ 2004-03-09 16:49             ` Alexey Tourbin
  2004-03-09 17:37               ` Alexey Lubimov
  1 sibling, 1 reply; 28+ messages in thread
From: Alexey Tourbin @ 2004-03-09 16:49 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Tue, Mar 09, 2004 at 06:52:53PM +0300, Алексей Любимов wrote:
> Да это как раз понятно. Под чрутом все прозрачно получается, но больно 
> много тащить приходиться...
> Ктож знал, что файл ld-2.3.2.so в переменной LD_LIBRARY_PATH может 
> каталогом прикидываться?

Вы ничего не поняли. :(
Файл ld-2.3.2.so не в переменной LD_LIBRARY_PATH (и уж тем более не
прикидывается каталогом), файл ld-2.3.2.so -- это сам executable.
В качестве параметра он берет динамический бинарь и его аргументы.

$ /lib/ld-linux.so.2 /bin/date
Tue Mar  9 19:40:40 MSK 2004
$

Это стандартный способ запуска динамических бинарей (с помощью
динамического линкера).  Просто в нормальной ситуации /lib/ld-linux.so.2
прозрачно подгружается ядром (execve), и ему передается управление.
А откуда ядро знает, какой линкер подгружать?  А из самого бинаря:

$ strings /bin/date | head -1
/lib/ld-linux.so.2
$

Поэтому его и нельзя подменить с помощью LD_LIBRARY_PATH: эта переменная
влияет на сам линкер, который должен быть к тому моменту уже загружен.

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 16:49             ` Alexey Tourbin
@ 2004-03-09 17:37               ` Alexey Lubimov
  0 siblings, 0 replies; 28+ messages in thread
From: Alexey Lubimov @ 2004-03-09 17:37 UTC (permalink / raw)
  To: ALT Devel discussion list

Alexey Tourbin пишет:
> On Tue, Mar 09, 2004 at 06:52:53PM +0300, Алексей Любимов wrote:
> 
>>Да это как раз понятно. Под чрутом все прозрачно получается, но больно 
>>много тащить приходиться...
>>Ктож знал, что файл ld-2.3.2.so в переменной LD_LIBRARY_PATH может 
>>каталогом прикидываться?
> 
> 
> Вы ничего не поняли. :(
> Файл ld-2.3.2.so не в переменной LD_LIBRARY_PATH (и уж тем более не
> прикидывается каталогом), файл ld-2.3.2.so -- это сам executable.
> В качестве параметра он берет динамический бинарь и его аргументы.
> 
> $ /lib/ld-linux.so.2 /bin/date
> Tue Mar  9 19:40:40 MSK 2004
> $
> 
> Это стандартный способ запуска динамических бинарей (с помощью
> динамического линкера).  Просто в нормальной ситуации /lib/ld-linux.so.2
> прозрачно подгружается ядром (execve), и ему передается управление.
> А откуда ядро знает, какой линкер подгружать?  А из самого бинаря:
> 
> $ strings /bin/date | head -1
> /lib/ld-linux.so.2
> $


здесь у меня был пробел в знаниях...

> 
> Поэтому его и нельзя подменить с помощью LD_LIBRARY_PATH: эта переменная
> влияет на сам линкер, который должен быть к тому моменту уже загружен.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Devel mailing list
> Devel@altlinux.ru
> http://www.altlinux.ru/mailman/listinfo/devel


Заработало!
Даст бог, так и кады закрытые под альтлинуксом пойдут...





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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 10:50 ` [devel] " Alexey Tourbin
  2004-03-09 14:29   ` Алексей Любимов
@ 2004-03-10  8:39   ` Igor Tertishny
  2004-03-10  9:52     ` Sergey V Turchin
                       ` (2 more replies)
  1 sibling, 3 replies; 28+ messages in thread
From: Igor Tertishny @ 2004-03-10  8:39 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 408 bytes --]

>
> ld(1)/rpath
> ld.so(8)/LD_LIBRARY_PATH

Я, кажется, неправильно сформулировал вопрос. Команда: 
LD_LIBRARY_PATH=/usr/lib/hk_classes knoda действительно запускает прогу и 
библиотека находится. Но я-то собираю пакет и хотел бы избежать любых проблем 
при его запуске из меню или из консоли, неважно. И не знаю, к моему глубокому 
стыду, как это сделать. Хоть бери, да делай линк на библиотеку в /usr/lib.

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-10  8:39   ` Igor Tertishny
@ 2004-03-10  9:52     ` Sergey V Turchin
  2004-03-10  9:57     ` Denis Ovsienko
  2004-03-10 16:17     ` [devel] Re: Как заставить прогу тайти билиотеку? Алексей Любимов
  2 siblings, 0 replies; 28+ messages in thread
From: Sergey V Turchin @ 2004-03-10  9:52 UTC (permalink / raw)
  To: ALT Devel discussion list

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

В сообщении от Wednesday 10 March 2004 11:39 Igor Tertishny 
написал(a):
> > ld(1)/rpath
> > ld.so(8)/LD_LIBRARY_PATH
>
> Я, кажется, неправильно сформулировал вопрос. Команда:
> LD_LIBRARY_PATH=/usr/lib/hk_classes knoda действительно запускает
> прогу и библиотека находится. Но я-то собираю пакет и хотел бы
> избежать любых проблем при его запуске из меню или из консоли,
> неважно. И не знаю, к моему глубокому стыду, как это сделать.
> Хоть бери, да делай линк на библиотеку в /usr/lib.
Попробуйте ложить в /usr/lib/kde3 все библиотеки,
которые много пишут на экран при 
ldd -r /path_to/lib_unresolved_symbol.so

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-10  8:39   ` Igor Tertishny
  2004-03-10  9:52     ` Sergey V Turchin
@ 2004-03-10  9:57     ` Denis Ovsienko
  2004-03-10 10:08       ` Igor Tertishny
  2004-03-10 16:17     ` [devel] Re: Как заставить прогу тайти билиотеку? Алексей Любимов
  2 siblings, 1 reply; 28+ messages in thread
From: Denis Ovsienko @ 2004-03-10  9:57 UTC (permalink / raw)
  To: ALT Devel discussion list


> Я, кажется, неправильно сформулировал вопрос. Команда:
> LD_LIBRARY_PATH=/usr/lib/hk_classes knoda действительно запускает прогу
Мне кажется, что программа с модулями/плагинами должна сама знать, где они
лежат, и лазить туда dlopen().


--
    DO4-UANIC


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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-10  9:57     ` Denis Ovsienko
@ 2004-03-10 10:08       ` Igor Tertishny
  2004-03-10 11:15         ` Sergey V Turchin
  2004-03-10 11:18         ` Sergey V Turchin
  0 siblings, 2 replies; 28+ messages in thread
From: Igor Tertishny @ 2004-03-10 10:08 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 558 bytes --]

Среда 10 Март 2004 11:57, Denis Ovsienko написал:
> > Я, кажется, неправильно сформулировал вопрос. Команда:
> > LD_LIBRARY_PATH=/usr/lib/hk_classes knoda действительно запускает прогу
>
> Мне кажется, что программа с модулями/плагинами должна сама знать, где они
> лежат, и лазить туда dlopen().
>

Она и знала. Но прога ориентирована на *.la файлы, что для Сизифа не здраво. 
Как заставить ее искать *.so я не знаю, известные мне методы не срабатывают. 
Пожалуй, действительно придется поступить по совету сергея и уложить эти 
библиотеки в /usr/lib/kde3.

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-10 10:08       ` Igor Tertishny
@ 2004-03-10 11:15         ` Sergey V Turchin
  2004-03-10 11:23           ` Igor Tertishny
  2004-03-10 11:18         ` Sergey V Turchin
  1 sibling, 1 reply; 28+ messages in thread
From: Sergey V Turchin @ 2004-03-10 11:15 UTC (permalink / raw)
  To: ALT Devel discussion list

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

В сообщении от Wednesday 10 March 2004 13:08 Igor Tertishny 
написал(a):
> Среда 10 Март 2004 11:57, Denis Ovsienko написал:
> > > Я, кажется, неправильно сформулировал вопрос. Команда:
> > > LD_LIBRARY_PATH=/usr/lib/hk_classes knoda действительно
> > > запускает прогу
> >
> > Мне кажется, что программа с модулями/плагинами должна сама
> > знать, где они лежат, и лазить туда dlopen().
>
> Она и знала. Но прога ориентирована на *.la файлы, что для Сизифа
> не здраво. Как заставить ее искать *.so я не знаю, известные мне
> методы не срабатывают. Пожалуй, действительно придется поступить
> по совету сергея и уложить эти библиотеки в /usr/lib/kde3.
Вместе с .la

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-10 10:08       ` Igor Tertishny
  2004-03-10 11:15         ` Sergey V Turchin
@ 2004-03-10 11:18         ` Sergey V Turchin
  2004-03-10 11:36           ` [devel] Re: Как заставить прогу найти библиотеку? Igor Tertishny
  1 sibling, 1 reply; 28+ messages in thread
From: Sergey V Turchin @ 2004-03-10 11:18 UTC (permalink / raw)
  To: ALT Devel discussion list

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

В сообщении от Wednesday 10 March 2004 13:08 Igor Tertishny 
написал(a):
> Среда 10 Март 2004 11:57, Denis Ovsienko написал:
> > > Я, кажется, неправильно сформулировал вопрос. Команда:
> > > LD_LIBRARY_PATH=/usr/lib/hk_classes knoda действительно
> > > запускает прогу
> >
> > Мне кажется, что программа с модулями/плагинами должна сама
> > знать, где они лежат, и лазить туда dlopen().
>
> Она и знала. Но прога ориентирована на *.la файлы, что для Сизифа
> не здраво. Как заставить ее искать *.so я не знаю, известные мне
> методы не срабатывают. Пожалуй, действительно придется поступить
> по совету сергея и уложить эти библиотеки в /usr/lib/kde3.
Эти библиотеки из  libhk_classes или из подпакетов knoda?

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-10 11:15         ` Sergey V Turchin
@ 2004-03-10 11:23           ` Igor Tertishny
  0 siblings, 0 replies; 28+ messages in thread
From: Igor Tertishny @ 2004-03-10 11:23 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 44 bytes --]

>
> Вместе с .la

Ясно, спасибо, приступаю.

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

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

* Re: [devel] Re: Как заставить прогу найти библиотеку?
  2004-03-10 11:18         ` Sergey V Turchin
@ 2004-03-10 11:36           ` Igor Tertishny
  2004-03-10 11:56             ` Sergey V Turchin
  0 siblings, 1 reply; 28+ messages in thread
From: Igor Tertishny @ 2004-03-10 11:36 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 133 bytes --]

>
> Эти библиотеки из  libhk_classes или из подпакетов knoda?
Из libhk_classes, они по умолчанию располагаются в /usr/lib/hk_classes

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

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

* Re: [devel] Re: Как заставить прогу найти библиотеку?
  2004-03-10 11:36           ` [devel] Re: Как заставить прогу найти библиотеку? Igor Tertishny
@ 2004-03-10 11:56             ` Sergey V Turchin
  2004-03-10 12:20               ` Igor Tertishny
  2004-03-10 12:35               ` Igor Tertishny
  0 siblings, 2 replies; 28+ messages in thread
From: Sergey V Turchin @ 2004-03-10 11:56 UTC (permalink / raw)
  To: ALT Devel discussion list

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

В сообщении от Wednesday 10 March 2004 14:36 Igor Tertishny 
написал(a):
> > Эти библиотеки из  libhk_classes или из подпакетов knoda?
>
> Из libhk_classes, они по умолчанию располагаются в
> /usr/lib/hk_classes
А это нормально, что в них есть unresolved symbols?

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

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

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

* Re: [devel] Re: Как заставить прогу найти библиотеку?
  2004-03-10 11:56             ` Sergey V Turchin
@ 2004-03-10 12:20               ` Igor Tertishny
  2004-03-10 12:36                 ` Sergey V Turchin
  2004-03-10 12:35               ` Igor Tertishny
  1 sibling, 1 reply; 28+ messages in thread
From: Igor Tertishny @ 2004-03-10 12:20 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 528 bytes --]

> А это нормально, что в них есть unresolved symbols?

Нет, конечно. Но ведь это тестовая версия - 0.6.3-test2. B при указании 
LD_LIBRARY_PATH=/usr/lib/hk_classes прога работает без проблем и почти не 
оставляет баговых сообщений. Только при некоторых операциях с mysql. Об этом 
я уже написал автору. При компиляции, хотя я использовал %__subst 
's,\.la\>,.so,' configure, *.la файлы образуются и уже knoda, похоже, зависит 
от них, так как при компиляции тоже образует немало этого добра. Естественно, 
что я их не паковал. 

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

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

* Re: [devel] Re: Как заставить прогу найти библиотеку?
  2004-03-10 11:56             ` Sergey V Turchin
  2004-03-10 12:20               ` Igor Tertishny
@ 2004-03-10 12:35               ` Igor Tertishny
  2004-03-10 13:47                 ` Alexey Tourbin
  1 sibling, 1 reply; 28+ messages in thread
From: Igor Tertishny @ 2004-03-10 12:35 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 1439 bytes --]

> А это нормально, что в них есть unresolved symbols?

И я, ежели честно, не знаю, как с этим справиться. Я не автор программы. 
Подожду нормальной версии и посмотрю, потому-что все-таки многовато:

[ilar@yby ilar]$ ldd -r /usr/lib/hk_classes/*.so
ldd: warning: you do not have execution permission for 
`/usr/lib/hk_classes/libhk_classes.so'
        libpthread.so.0 => /lib/libpthread.so.0 (0x00348000)
        libm.so.6 => /lib/libm.so.6 (0x0035d000)
        libutil.so.1 => /lib/libutil.so.1 (0x00381000)
        libdl.so.2 => /lib/libdl.so.2 (0x00384000)
        libc.so.6 => /lib/libc.so.6 (0x00387000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
undefined symbol: _ZTTSt14basic_ifstreamIcSt11char_traitsIcEE   
(/usr/lib/hk_classes/libhk_classes.so)
undefined symbol: _ZTVSt13basic_filebufIcSt11char_traitsIcEE    
(/usr/lib/hk_classes/libhk_classes.so)
undefined symbol: _ZNSs4_Rep11_S_terminalE      
(/usr/lib/hk_classes/libhk_classes.so)
undefined symbol: _ZSt4cerr     (/usr/lib/hk_classes/libhk_classes.so)
undefined symbol: _ZTVSt14basic_ifstreamIcSt11char_traitsIcEE   
(/usr/lib/hk_classes/libhk_classes.so)
undefined symbol: _ZTTSt14basic_ofstreamIcSt11char_traitsIcEE   
(/usr/lib/hk_classes/libhk_classes.so)
undefined symbol: _ZNSs4_Rep11_S_max_sizeE      
(/usr/lib/hk_classes/libhk_classes.so)
undefined symbol: _ZNSs20_S_empty_rep_storageE  

И это только пятая часть.

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

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

* Re: [devel] Re: Как заставить прогу найти библиотеку?
  2004-03-10 12:20               ` Igor Tertishny
@ 2004-03-10 12:36                 ` Sergey V Turchin
  2004-03-10 12:48                   ` Igor Tertishny
  0 siblings, 1 reply; 28+ messages in thread
From: Sergey V Turchin @ 2004-03-10 12:36 UTC (permalink / raw)
  To: ALT Devel discussion list

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

В сообщении от Wednesday 10 March 2004 15:20 Igor Tertishny 
написал(a):
> > А это нормально, что в них есть unresolved symbols?
>
> Нет, конечно.
Уберите.
И /usr/lib/hk_classes/*.so.* можно в /usr/lib/ слинковать.
/usr/lib/hk_classes/*.so уберите в подпакет -devel

> Но ведь это тестовая версия - 0.6.3-test2. B при 
> указании LD_LIBRARY_PATH=/usr/lib/hk_classes прога работает без
> проблем и почти не оставляет баговых сообщений.
Это ничего не значит.
Эта единственная прога, knoda, может брать эти символы из другого 
места.

> Только при 
> некоторых операциях с mysql. Об этом я уже написал автору. При
> компиляции, хотя я использовал %__subst 's,\.la\>,.so,'
> configure, *.la файлы образуются и уже knoda, похоже, зависит от
> них, так как при компиляции тоже образует немало этого добра.
> Естественно, что я их не паковал.
Паковать не нужно только /usr/lib/*.la
Остальные нужно.

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

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

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

* Re: [devel] Re: Как заставить прогу найти библиотеку?
  2004-03-10 12:36                 ` Sergey V Turchin
@ 2004-03-10 12:48                   ` Igor Tertishny
  0 siblings, 0 replies; 28+ messages in thread
From: Igor Tertishny @ 2004-03-10 12:48 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 118 bytes --]

>
> Паковать не нужно только /usr/lib/*.la
> Остальные нужно.

Ясненько... Вот оно, похоже, где собака-то порылась...

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

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

* [devel] Re: Как заставить прогу найти библиотеку?
  2004-03-10 12:35               ` Igor Tertishny
@ 2004-03-10 13:47                 ` Alexey Tourbin
  0 siblings, 0 replies; 28+ messages in thread
From: Alexey Tourbin @ 2004-03-10 13:47 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Wed, Mar 10, 2004 at 02:35:53PM +0200, Igor Tertishny wrote:
> undefined symbol: _ZTTSt14basic_ofstreamIcSt11char_traitsIcEE   
> (/usr/lib/hk_classes/libhk_classes.so)
> undefined symbol: _ZNSs4_Rep11_S_max_sizeE      
> (/usr/lib/hk_classes/libhk_classes.so)
> undefined symbol: _ZNSs20_S_empty_rep_storageE  
> 
> И это только пятая часть.

Это похоже на iostream.

$ findsym _ZTVSt14basic_ifstreamIcSt11char_traitsIcEE
/usr/lib/libstdc++.so.5: 000afae0 V _ZTVSt14basic_ifstreamIcSt11char_traitsIcEE
/usr/lib/libstdc++.so.5.0.5: 000afae0 V _ZTVSt14basic_ifstreamIcSt11char_traitsIcEE
$

Используйте g++ в качестве линкера.

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

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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-10  8:39   ` Igor Tertishny
  2004-03-10  9:52     ` Sergey V Turchin
  2004-03-10  9:57     ` Denis Ovsienko
@ 2004-03-10 16:17     ` Алексей Любимов
  2 siblings, 0 replies; 28+ messages in thread
From: Алексей Любимов @ 2004-03-10 16:17 UTC (permalink / raw)
  To: ALT Devel discussion list



Igor Tertishny пишет:

>>ld(1)/rpath
>>ld.so(8)/LD_LIBRARY_PATH
>>    
>>
>
>Я, кажется, неправильно сформулировал вопрос. Команда: 
>LD_LIBRARY_PATH=/usr/lib/hk_classes knoda действительно запускает прогу и 
>библиотека находится. Но я-то собираю пакет и хотел бы избежать любых проблем 
>при его запуске из меню или из консоли, неважно. И не знаю, к моему глубокому 
>стыду, как это сделать. Хоть бери, да делай линк на библиотеку в /usr/lib.
>  
>
тогда chrpath должен помочь




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

* Re: [devel] Re: Как заставить прогу тайти билиотеку?
  2004-03-09 14:40     ` Alexander Bokovoy
  2004-03-09 14:52       ` Алексей Любимов
@ 2004-03-20  8:57       ` Klimchev Konstantin
  1 sibling, 0 replies; 28+ messages in thread
From: Klimchev Konstantin @ 2004-03-20  8:57 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, 9 Mar 2004 16:40:33 +0200
Alexander Bokovoy <a.bokovoy@sam-solutions.net> wrote:

> Я уже неоднократно публиковал здесь рецепт:
> LD_LIBRARY_PATH=~/.lib/glibc ~/.lib/glibc/ld-2.3.2.so $@ 

Может быть такое в фортуну? например, в что-то типа "fortune-tips".

-- 
Best Regards, Konstantin Klimchev 
(mailto:koka@atvc.ru    jabber:koka@jabber.ru)
ATK-Internet ISP, Arkhangelsk, Russia


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

end of thread, other threads:[~2004-03-20  8:57 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-09 10:39 [devel] Как заставить прогу тайти билиотеку? Igor Tertishny
2004-03-09 10:50 ` [devel] " Alexey Tourbin
2004-03-09 14:29   ` Алексей Любимов
2004-03-09 14:40     ` Alexander Bokovoy
2004-03-09 14:52       ` Алексей Любимов
2004-03-09 15:40         ` Dmitry V. Levin
2004-03-09 15:52           ` Алексей Любимов
2004-03-09 16:05             ` Alexander Bokovoy
2004-03-09 16:49             ` Alexey Tourbin
2004-03-09 17:37               ` Alexey Lubimov
2004-03-20  8:57       ` Klimchev Konstantin
2004-03-09 14:41     ` Alexey Tourbin
2004-03-10  8:39   ` Igor Tertishny
2004-03-10  9:52     ` Sergey V Turchin
2004-03-10  9:57     ` Denis Ovsienko
2004-03-10 10:08       ` Igor Tertishny
2004-03-10 11:15         ` Sergey V Turchin
2004-03-10 11:23           ` Igor Tertishny
2004-03-10 11:18         ` Sergey V Turchin
2004-03-10 11:36           ` [devel] Re: Как заставить прогу найти библиотеку? Igor Tertishny
2004-03-10 11:56             ` Sergey V Turchin
2004-03-10 12:20               ` Igor Tertishny
2004-03-10 12:36                 ` Sergey V Turchin
2004-03-10 12:48                   ` Igor Tertishny
2004-03-10 12:35               ` Igor Tertishny
2004-03-10 13:47                 ` Alexey Tourbin
2004-03-10 16:17     ` [devel] Re: Как заставить прогу тайти билиотеку? Алексей Любимов
2004-03-09 13:14 ` [devel] " Andrei Bulava

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