Date: Mon, 29 Jan 2001 14:09:41 +0200 From: Maxim Sobolev <sobomax@FreeBSD.org> To: John Polstra <jdp@polstra.com> Cc: ports@FreeBSD.org, obrien@FreeBSD.org Subject: Re: Strange problems with dynamic linking of libGL.so.1 from XFree86-4.0.2_5 Message-ID: <3A755D84.266A80E7@FreeBSD.org> References: <3A6C3D19.E1F56291@FreeBSD.org> <3A6FE52B.AC9970C2@FreeBSD.org> <200101251842.f0PIgTL32394@vashon.polstra.com> <3A70756F.D8A7ED75@FreeBSD.org> <200101251903.f0PJ3qF32488@vashon.polstra.com>
next in thread | previous in thread | raw e-mail | index | archive | help
John Polstra wrote: > In article <3A70756F.D8A7ED75@FreeBSD.org>, > Maxim Sobolev <sobomax@FreeBSD.ORG> wrote: > > John Polstra wrote: > > > > > Hmm, now the question is whether libGL.so was built using this > > > version of libgcc. Could you please repeat that objdump command on > > > "/usr/X11R6/lib/libGL.so.1" (still grepping for pthread) and show me > > > the output? > > > > Hmm, the dates of last modification (see above) suggest that it was built using > > *this* version of libgcc. Nevertheless following is similar output for > > libGL.so.1: > > > > max@notebook$ objdump --syms /usr/X11R6/lib/libGL.so.1 | grep pthread > > 00000000 *UND* 00000000 pthread_getspecific > > 00000000 *UND* 00000000 pthread_key_create > > 00000000 *UND* 00000000 pthread_mutex_unlock > > 00000000 *UND* 00000000 pthread_self > > 00000000 *UND* 00000000 pthread_mutex_lock > > 00000000 *UND* 00000000 pthread_mutex_init > > 00000000 *UND* 00000000 pthread_setspecific > > I think your libGL must have been built with an older libgcc. If > possible please try building a fresh libGL and checking again. > > First, check in "/usr/lib" and remove any old "libgcc_r.a" you find > there. (Save a copy just in case.) That should not be used any more. As you suggested I've rebuilt both world and all installed ports from freshly cvsup'ed sources (it should be done anyway due to libc_r changes), but module linked against libGL.so.1 still doesn't work with exactly the same symptoms. Also I've noted that some ports linking with libGL now need -pthread linker flag for link to succeed (x11-toolkits/gtkglarea for example), which is strange because libGL.so.1 is already linked with -pthread and thus should have libc_r recorded as dependency in it, moreover I have a reports from the users with the exactly same misbehaviour. I suspect that these problems are related somehow. Please either you or O'Brien look at what is wrong. Following is trace similar to ones that I sent to you earlier: max@notebook$ cat register.tcl pkg_mkIndex -verbose /usr/local/lib/python2.0/site-packages/OpenGL/Tk/freebsd5-tk8.3 Togl.so max@notebook$ /usr/local/bin/tclsh8.3 register.tcl warning: error while loading Togl.so: couldn't load file "./Togl.so": /usr/X11R6/lib/libGL.so.1: Undefined symbol "pthread_getspecific" max@notebook$ ll /usr/lib/libgcc* -r--r--r-- 1 root wheel 142544 Jan 26 17:33 /usr/lib/libgcc.a lrwxr-xr-x 1 root wheel 8 Jan 9 19:43 /usr/lib/libgcc_r.a@ -> libgcc.a max@notebook$ ll /usr/X11R6/lib/libGL.so.1 -rwxr-xr-x 1 root wheel 435959 Jan 27 07:52 /usr/X11R6/lib/libGL.so.1* max@notebook$ objdump --syms /usr/lib/libgcc.a | grep pthread 00000000 w *UND* 00000000 pthread_create 00000000 w *UND* 00000000 pthread_getspecific 00000000 w *UND* 00000000 pthread_key_delete 00000000 w *UND* 00000000 pthread_once 00000000 w *UND* 00000000 pthread_key_create 00000000 w *UND* 00000000 pthread_mutex_unlock 00000000 w *UND* 00000000 pthread_mutex_lock 00000000 w *UND* 00000000 pthread_mutex_trylock 00000000 w *UND* 00000000 pthread_setspecific 00000000 w *UND* 00000000 pthread_create 00000000 w *UND* 00000000 pthread_getspecific 00000000 w *UND* 00000000 pthread_key_delete 00000000 w *UND* 00000000 pthread_once 00000000 w *UND* 00000000 pthread_key_create 00000000 w *UND* 00000000 pthread_mutex_unlock 00000000 w *UND* 00000000 pthread_mutex_lock 00000000 w *UND* 00000000 pthread_mutex_trylock 00000000 w *UND* 00000000 pthread_setspecific max@notebook$ objdump --syms /usr/X11R6/lib/libGL.so.1 | grep pthread 00000000 *UND* 00000000 pthread_getspecific 00000000 *UND* 00000000 pthread_key_create 00000000 *UND* 00000000 pthread_mutex_unlock 00000000 *UND* 00000000 pthread_self 00000000 *UND* 00000000 pthread_mutex_lock 00000000 *UND* 00000000 pthread_mutex_init 00000000 *UND* 00000000 pthread_setspecific -Maxim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A755D84.266A80E7>