budowanie kde-base wywala sie

Paweł Sikora pluto w ds14.agh.edu.pl
Nie, 1 Lut 2004, 22:44:00 CET


On Sunday 01 of February 2004 21:37, Jakub Bogusz wrote:
> On Sun, Feb 01, 2004 at 08:44:54PM +0100, Piotr Szymanski wrote:
> > Hi,
> >
> > Piotr Szymanski(Sunday 01 of February 2004 20:36):
> > > niestety nie ma problemu
> > > Sprawdze wieczorem.
> >
> > configure:46998: checking for smbc_new_context in -lsmbclient
> > configure:47028: athlon-pld-linux-gcc -o conftest -ansi -W -Wall
> > -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes
> > -Wwrite-strings -D_XOPEN_SO
> > URCE=500 -D_BSD_SOURCE -O2  -march=athlon-xp -mcpu=athlon-xp -mfpmath=sse
> > -mmmx -msse -m3dnow -mno-sse2 -Os -fomit-frame-pointer -pipe
> > -Wformat-security -Wm
> > issing-format-attribute -D_GNU_SOURCE  -DQT_THREAD_SUPPORT  -D_REENTRANT
> > -s -L/usr/X11R6/lib -L/usr/lib  conftest.c -lsmbclient   >&5
> > /usr/bin/../lib/libdb-4.2.so: undefined reference to
> > `pthread_condattr_setpshared'
> > /usr/bin/../lib/libdb-4.2.so: undefined reference to
> > `pthread_mutexattr_destroy'
> > /usr/bin/../lib/libdb-4.2.so: undefined reference to
> > `pthread_mutexattr_setpshared'
> > /usr/bin/../lib/libdb-4.2.so: undefined reference to
> > `pthread_mutexattr_init' /usr/bin/../lib/libdb-4.2.so: undefined
> > reference to `pthread_mutex_trylock'
>
> db z wątkami? to z ftp?
> Mi się zbudowało db nie używające libpthread.
> (skoro używa, to powinno być zlinkowane z -lpthread - ale dlaczego
> używa?)

uzywa, bo korzysta (albo moze korzystac - nie wiem) z semaforow,
a w.w. symbole uzywane sa w kodzie db.

[~/rpm/BUILD/db-4.2.52] # objdump -t build_unix/.libs/mut_pthread.o

(...)
00000000         *UND*  00000000 pthread_mutex_init
00000000         *UND*  00000000 pthread_mutexattr_destroy
00000000         *UND*  00000000 pthread_condattr_destroy
00000000         *UND*  00000000 pthread_cond_init
00000000         *UND*  00000000 pthread_condattr_init
00000000         *UND*  00000000 pthread_condattr_setpshared
00000000         *UND*  00000000 pthread_mutexattr_init
00000000         *UND*  00000000 pthread_mutexattr_setpshared
000001a0 g     F .text  0000030f __db_pthread_mutex_lock
00000000         *UND*  00000000 pthread_mutex_trylock
00000000         *UND*  00000000 pthread_mutex_lock
00000000         *UND*  00000000 pthread_cond_wait
00000000         *UND*  00000000 pthread_mutex_unlock
000004b0 g     F .text  000000fd __db_pthread_mutex_unlock
00000000         *UND*  00000000 pthread_cond_signal
000005b0 g     F .text  00000066 __db_pthread_mutex_destroy
00000000         *UND*  00000000 pthread_mutex_destroy

u mnie w systemie z glibc+nptl w 2.6.2 db nie jest zlinkowane
z -lpthread i jakos dziala bezproblemowo, bo relokacje
symboli pthread_... bierze z glibca (objdump to potwierdza).

[pluto]-[~/rpm/SPECS] # ldd /usr/lib/libdb-4.2.so
        linux-gate.so.1 =>  (0xffffe000)
        libc.so.6 => /lib/libc.so.6 (0x400fb000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

coprawda ./configure ma taka mila opcje:

--enable-posixmutexes   Force use of POSIX standard mutexes.

ale ona nie jest domyslnie wlaczana.

-- 
The only thing necessary for the triumph of evil
  is for good men to do nothing.
                                           - Edmund Burke



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