Date: Fri, 04 Aug 2000 06:15:46 +1000 (EST) From: peter.jeremy@ALCATEL.COM.AU To: FreeBSD-gnats-submit@freebsd.org, XFree86@XFree86.org Subject: ports/20386: XFree86 3.3.6 fails to build on FreeBSD 5-CURRENT Message-ID: <00Aug4.072547est.115461@border.alcanet.com.au>
next in thread | raw e-mail | index | archive | help
>Number: 20386 >Category: ports >Synopsis: XFree86 3.3.6 fails to build on FreeBSD 5-CURRENT >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Aug 03 14:30:00 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Peter Jeremy >Release: FreeBSD 5.0-CURRENT i386 >Organization: Alcatel Australia >Environment: FreeBSD 5.0-CURRENT as of 3rd August (cvs-cur 6576) this includes a toolchain comprising gcc-2.95.2 19991024 (release) and gnu binutils 2.10.0. XFree86 3.3.6 with fix-01-r128 (built via the FreeBSD port) >Description: XFree86 3.3.6 for FreeBSD/ELF defaults to using XThreads and builds a stub library libXThrStub.so.6 which is referenced from libX11 and libXt, though it is not explicitly specified as a library dependency. When programs are linked against libX11 and/or libXt, the linker needs to locate libXThrStub.so.6. The GNU ELF linker uses -rpath-link, rather than -L to specify this search path, however this is not specified in the FreeBSD configuration file, resulting in linker failures. >How-To-Repeat: Build the XFree86 port without XFree86 installed (or with an old version prior to XThread support). This will result in all the X clients failing to build as follows: making all in programs/bitmap... ... cc -o bitmap -ansi -pedantic -Dasm=__asm -L../../exports/lib BitEdit.o CutPaste.o Graphics.o ReqMach.o Bitmap.o Dialog.o Handlers.o -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 -L/usr/X11R6/lib -lxpg4 -lm -Wl,-rpath,/usr/X11R6/lib ../../exports/lib/libXaw.so: warning: tmpnam() possibly used unsafely; consider using mkstemp() /usr/libexec/elf/ld: warning: libXThrStub.so.6, needed by ../../exports/lib/libXt.so, not found (try using --rpath) ../../exports/lib/libXt.so: undefined reference to `pthread_cond_signal' ../../exports/lib/libX11.so: undefined reference to `pthread_cond_broadcast' ../../exports/lib/libXt.so: undefined reference to `pthread_cond_init' ../../exports/lib/libXt.so: undefined reference to `pthread_mutex_unlock' ../../exports/lib/libXt.so: undefined reference to `pthread_self' ../../exports/lib/libXt.so: undefined reference to `pthread_mutex_destroy' ../../exports/lib/libXt.so: undefined reference to `pthread_mutex_lock' ../../exports/lib/libXt.so: undefined reference to `pthread_cond_wait' ../../exports/lib/libXt.so: undefined reference to `pthread_cond_destroy' ../../exports/lib/libXt.so: undefined reference to `pthread_mutex_init' *** Error code 1 (continuing) >Fix: Ensure that the link step includes a `-rpath-link $(BUILDLIBDIR)' when XFree86 is being built (!UseInstalled). The simplest way to achieve this is to remove the FreeBSD special case and use the default from bsdLib.rules, as shown below. I don't know if a similar fix is needed for the aout variant. --- xc/config/cf/FreeBSD.cf.orig Thu Aug 3 14:03:19 2000 +++ xc/config/cf/FreeBSD.cf Thu Aug 3 15:44:29 2000 @@ -132,12 +132,12 @@ * reason for FreeBSD to assume that it knows where X libraries are installed * and they can remove it from the list of directories they add to ld.so.cache * in their /etc/rc file. + * + * For the ELF case, we default to the ExtraLoadFlags in bsdLib.rules */ #if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 2) #ifndef ExtraLoadFlags -#if UseElfFormat -#define ExtraLoadFlags -Wl,-rpath,$(USRLIBDIRPATH) -#else +#if !UseElfFormat #define ExtraLoadFlags -Wl,-R,$(USRLIBDIRPATH) #endif #endif >Release-Note: >Audit-Trail: >Unformatted: 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?00Aug4.072547est.115461>