konsolidacja postgresql-a

Jakub Bogusz qboosh w pld-linux.org
Wto, 25 Lis 2003, 14:05:40 CET


On Tue, Nov 25, 2003 at 01:48:17PM +0100, Andrzej Krzysztofowicz wrote:
> Jakub Bogusz wrote:
> > On Tue, Nov 25, 2003 at 01:29:55PM +0100, Andrzej Krzysztofowicz wrote:
> > > Pewnie do qboosha, ktory ostatnio w tym grzebal...
> > > 
> > > Zaobserwowalem dziwna zmiane w zaleznosciach:
> > > 
> > > [pldra w ep09 ra]$ rpm -qpR PLD/i386/PLD/RPMS/postgresql-module-pltcl-7.2.3-1.i386.rpm | grep tcl
> > > libtcl8.3.so
> > > tcl
> > > [pldra w ep09 ra]$ rpm -qpR updates/security/i386/postgresql-module-pltcl-7.2.4-4.i386.rpm | grep tcl
> > > [pldra w ep09 ra]$
> > > 
> > > Czyzby ten nowy byl zle skonsolidowany ?
> > 
> > Raczej tak. Jak testowo budowałem po załataniu, to zlinkował się tak:
> > 
> > $ pwd
> > /home/users/qboosh/PLD/BUILD/postgresql-7.2.4/src/pl/tcl
> > $ ldd pltcl.so
> >         libtcl8.3.so => /usr/lib/libtcl8.3.so (0x4001a000)
> >         libdl.so.2 => /lib/libdl.so.2 (0x400a1000)
> >         libm.so.6 => /lib/libm.so.6 (0x400a5000)
> >         libc.so.6 => /lib/libc.so.6 (0x400c8000)
> >         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
> > 
> > Może z jakiegoś powodu zlinkował się ze statycznym libtcl?
> > (nie mam tcl-static, nie wiem jak na builderach)
> 
> Tam tez nie ma.
> 
> [builderra w ep09 builderra]$ chr i386
> rp[root w ep09 /root]# rpm -q tcl-static
> package tcl-static is not installed
> 
> [builderra w ep09 builderra]$ rpm -q libtool
> libtool-1.5-5
> 
> > Albo tclConfig.sh zawiera coś nie tak jak powinno (tcl-devel mam z Ra 1.0).
> 
> Przebudowalem ze starym (z -n ra) i to samo:
> [pldra w ep09 ra]$ rpm -qpR test/i686/postgresql-module-pltcl-7.2.4-5.i686.rpm | grep tcl
> [pldra w ep09 ra]$
> 
> Moze nowy libtool cos tu miesza ?

Nie, nie jest przy tym używany.

Ale już widzę - przyczyną jest patch soname do tcl-a (i problem dotyczy
także wersji z HEAD!). W Makefile do pl/tcl jest:

%$(TCL_SHLIB_SUFFIX): %.o
        $(TCL_SHLIB_LD) -o $@ $< $(TCL_LIB_SPEC) $(SHLIB_EXTRA_LIBS)

Patch soname_fix zmienia SHLIB_SUFFIX z ".so" na ".so.0.0" - przez co
wymagany moduł (pltcl.so) buduje się przy użyciu standardowej reguły,
zamiast powyższej. Trzeba zmienić "%$(TCL_SHLIB_SUFFIX)" na
"%$(DLSUFFIX)".
Poprzedniej wersji tcl-a nie powinno zaszkodzić.


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl