Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Feb 2001 23:09:35 +0900
From:      FUJISHIMA Satsuki <sf@FreeBSD.org>
To:        Maxim Sobolev <sobomax@FreeBSD.org>
Cc:        John Polstra <jdp@polstra.com>, 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:  <86vgqn7vj4.wl@cheerful.com>
In-Reply-To: <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> <3A755D84.266A80E7@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
At Mon, 29 Jan 2001 14:09:41 +0200,
Maxim Sobolev wrote:
> 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,

You missed here, libGL.so.1 doesn't have dependency on libc_r.
cc -shared -pthread -o libGL.so.1 does nothing related -lc_r. (try cc -v)

====
LD_LIBRARY_PATH=../../exports/lib cc -v -o ./libGL.so.1.2~ -shared -rpath /usr/X11R6/lib -Wl,-soname,libGL.so.1 glx/clientattrib.o glx/compsize.o glx/dispatch.o glx/eval.o glx/g_render.o glx/g_single.o glx/g_vendpriv.o glx/glapi.o glx/glapi_x86.o glx/glapinoop.o glx/glthread.o glx/glxcmds.o glx/glxext.o glx/indirect_init.o glx/pixel.o glx/pixelstore.o glx/render2.o glx/renderpix.o glx/single2.o glx/singlepix.o glx/vertarr.o glx/xfont.o dri/XF86dri.o dri/dri_glx.o -pthread
Using builtin specs.
gcc version 2.95.3 20010101 (prerelease)
 /usr/libexec/elf/ld -m elf_i386 -rpath /usr/X11R6/lib -Bshareable -o ./libGL.so.1.2~ /usr/lib/crti.o /usr/lib/crtbeginS.o -L/usr/libexec/elf -L/usr/libexec -L/usr/lib -soname libGL.so.1 glx/clientattrib.o glx/compsize.o glx/dispatch.o glx/eval.o glx/g_render.o glx/g_single.o glx/g_vendpriv.o glx/glapi.o glx/glapi_x86.o glx/glapinoop.o glx/glthread.o glx/glxcmds.o glx/glxext.o glx/indirect_init.o glx/pixel.o glx/pixelstore.o glx/render2.o glx/renderpix.o glx/single2.o glx/singlepix.o glx/vertarr.o glx/xfont.o dri/XF86dri.o dri/dri_glx.o -lgcc -lgcc /usr/lib/crtendS.o /usr/lib/crtn.o
====

As libc_r does not have libc feature now, there's no reason to avoid
linking -lc_r against shared libraries, I think.

-- 
FUJISHIMA Satsuki

Index: contrib/gcc.295/config/freebsd.h
===================================================================
RCS file: /home/ncvs/src/contrib/gcc.295/config/freebsd.h,v
retrieving revision 1.31
diff -u -r1.31 freebsd.h
--- contrib/gcc.295/config/freebsd.h	2001/01/25 18:57:13	1.31
+++ contrib/gcc.295/config/freebsd.h	2001/02/06 08:54:23
@@ -76,10 +76,8 @@
    (like the default, except no -lg, and no -p).  */
 #undef  LIB_SPEC
 #define LIB_SPEC "\
-  %{!shared: \
-    %{!pg: %{pthread:-lc_r} -lc} \
-    %{pg:  %{pthread:-lc_r_p} -lc_p} \
-  }"
+  %{!pg: %{pthread:-lc_r} %{!shared:-lc}} \
+  %{pg:  %{pthread:-lc_r_p} %{!shared:-lc_p}}"
 
 
 /************************[  Target stuff  ]***********************************/


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?86vgqn7vj4.wl>