On Sat, Sep 03, 2005 at 01:20:30AM +0400, Alexey Rusakov wrote: > >Всё правильно. Это не отменяет того, что "новые функции неплохо бы > >повесить на отдельный интерфейс". :) > > > Честно говоря, я всё равно не очень понимаю, о чём вы. Какой интерфейс > вы имеете в виду? Программы, которые используют новые функции из libgtk+2-2.8, должны получить зависимость на libgtk-x11-2.0.so.0(GTK_2.8). Для этого новые функции нужно повесить на интерфейс GTK_2.8. Для этого пишется linker script. Пример есть в perl58.spec. # enabled in alt-makefile-soname.patch %__cat <<__EOF__ >lib%name.def PERL_5.8.6 { Perl_Guse_safe_putenv_ptr; }; PERL_5.8.7 { Perl_Ipte_arenaroot_ptr; Perl_Ipte_root_ptr; Perl_my_swabn; Perl_op_refcnt_lock; Perl_op_refcnt_unlock; Perl_savesvpv; }; DynaLoader { boot_DynaLoader; XS_DynaLoader_dl_error; XS_DynaLoader_dl_find_symbol; XS_DynaLoader_dl_install_xsub; XS_DynaLoader_dl_load_file; XS_DynaLoader_dl_undef_symbols; XS_DynaLoader_dl_unload_file; }; __EOF__ --- perl-5.8.6/Makefile.SH~ 2004-10-21 15:30:02 +0000 +++ perl-5.8.6/Makefile.SH 2004-12-11 00:19:11 +0000 @@ -520,7 +520,7 @@ $(LIBPERL): $& perl$(OBJ_EXT) $(obj) $(L case "$useshrplib" in true) $spitshell >>Makefile <<'!NO!SUBS!' - $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs) + $(LD) -o $@ $(SHRPLDFLAGS) -Wl,-soname,$(LIBPERL) -Wl,--version-script=libperl.def perl$(OBJ_EXT) $(obj) $(libs) !NO!SUBS! case "$osname" in aix)