From owner-freebsd-current@FreeBSD.ORG Sun Feb 11 15:21:23 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B381A16A401 for ; Sun, 11 Feb 2007 15:21:23 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) Received: from pobox.codelabs.ru (pobox.codelabs.ru [144.206.177.45]) by mx1.freebsd.org (Postfix) with ESMTP id 4D39713C441 for ; Sun, 11 Feb 2007 15:21:23 +0000 (UTC) (envelope-from rea-fbsd@codelabs.ru) Received: from codelabs.ru (pobox.codelabs.ru [144.206.177.45]) by pobox.codelabs.ru with esmtpsa (TLSv1:AES256-SHA:256) id 1HGGIG-000Nmn-HW; Sun, 11 Feb 2007 18:07:09 +0300 Date: Sun, 11 Feb 2007 18:07:03 +0300 From: Eygene Ryabinkin To: Robert Noland Message-ID: <20070211150703.GJ73008@codelabs.ru> References: <45CA7D23.8050501@criticalmagic.com> <1170980071.18185.12.camel@rnoland-ibm.acs.internap.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="IiVenqGWf+H9Y6IX" Content-Disposition: inline In-Reply-To: <1170980071.18185.12.camel@rnoland-ibm.acs.internap.com> Sender: rea-fbsd@codelabs.ru X-Spam-Status: No, score=-3.4 required=4.0 tests=ALL_TRUSTED,AWL,BAYES_00 Cc: Michiel Boland , freebsd-current@freebsd.org, Richard Coleman Subject: Re: latest xorg port compiles but does not run on sparc64 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Feb 2007 15:21:23 -0000 --IiVenqGWf+H9Y6IX Content-Type: text/plain; charset=koi8-r Content-Disposition: inline > > > Anyway, I recently got hold of an old Sun Ultra10 which I upgraded from > > > 6.2-RELEASE to -CURRENT (dated about midnight, 7 feb). At that time no > > > ports were installed. > > > > > > Then I proceeded to build and install the xorg-server port > > > (xorg-server-6.9.0_6) manually, but it wouldn't run. On startup of X the > > > rather curious message appeared: > > > > > > dlopen: /usr/X11R6/lib/modules/fonts/libbitmap.so: Undefined symbol > > > "xf86stderr". > > > > > > Unfortunately I forgot to make a typescript, so I can't tell if > > > something went wrong during the build. Building xorg on an ultra10 takes > > > several hours, so please forgive me for not building a second time. > > > Meanwhile I got X running using binary packages. > > > > > > Does anyone have any clue as to what might have happend? The full > > > Xorg.log is reproduced below. I do not know what's happened, but the attached file should go to the x11-servers/xorg-server/files/ directory and overwrite the original patch-FreeBSD.cf. Basically, it adds the --export-dynamic flag for the linker to make global symbols in Xorg to be visible to the dlopen()/dlsym(), since this is the immediate reason for failures. > This is related to the removal of objformat from -current. Richard and > I got his working by installing objformat from my -current box and > recompiling xorg-server and xorg-libraries. > > ./work/xc/lib/Xft/configure: objformat=`test -x /usr/bin/objformat > && /usr/bin/objformat || echo aout` > ./work/xc/lib/Xft/configure: version_type=freebsd-$objformat > > this is scattered all around in several places in the code. I will try to look at the objformat changes and will try to undestand why it broke the things. But this will be done only tomorrow. -- Eygene --IiVenqGWf+H9Y6IX Content-Type: text/plain; charset=koi8-r Content-Disposition: attachment; filename="patch-FreeBSD.cf" --- config/cf/FreeBSD.cf.orig Wed May 4 04:14:57 2005 +++ config/cf/FreeBSD.cf Fri Feb 9 08:26:54 2007 @@ -78,6 +78,7 @@ #define HasIssetugid YES #define HasPoll YES #endif +#define BuildHtmlManPages NO #if OSMajorVersion >= 4 #define HasGetIfAddrs YES @@ -116,15 +117,14 @@ # endif # if (OSRelVersion < 500043) # define NeedUIThrStubs YES -# endif -# if (OSRelVersion >= 502102) -# define ThreadsLibraries -lpthread -# elif (OSRelVersion >= 500016) -# define ThreadsLibraries -lc_r +# define BuildThreadStubLibrary YES +# define SharedX11Reqs $(LDPRELIB) $(XTHRSTUBLIB) +# define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB) $(XTHRSTUBLIB) # else -# define ThreadsLibraries -pthread +# define BuildThreadStubLibrary NO # endif -# define SystemMTDefines -D_THREAD_SAFE +# define ThreadsLibraries FreeBSDPTHREAD_LIBS +# define SystemMTDefines FreeBSDPTHREAD_CFLAGS #endif /* This fixes linking C programs against libGLU on FreeBSD 3.x */ @@ -172,12 +172,14 @@ #endif #endif -#ifndef CcCmd -#define CcCmd cc -#endif -#ifndef CplusplusCmd -#define CplusplusCmd c++ +#if BuildThreadStubLibrary && (!defined(UseInstalledX11) || !UseInstalledX11) +#define CcCmd $(CLIENTENVSETUP) FreeBSDCC +#define CplusplusCmd $(CLIENTENVSETUP) FreeBSDCXX +#else +#define CcCmd FreeBSDCC +#define CplusplusCmd FreeBSDCXX #endif + #define CppCmd /usr/bin/cpp #define PreProcessCmd CppCmd #define StandardCppOptions -traditional @@ -338,7 +340,7 @@ #ifndef LibraryRpathLoadFlags # if UseRpath # if UseElfFormat -# define LibraryRpathLoadFlags -rpath $(USRLIBDIRPATH) +# define LibraryRpathLoadFlags -Wl,-rpath $(USRLIBDIRPATH) # else # define LibraryRpathLoadFlags -R $(USRLIBDIRPATH) # endif @@ -446,7 +448,9 @@ #ifdef PpcArchitecture #define XF86INT10_BUILD X86INT10_STUB #endif - +#ifdef PpcArchitecture +#define XF86INT10_BUILD X86INT10_STUB +#endif #define StandardDefines -DCSRG_BASED #if OSMajorVersion > 1 @@ -467,18 +471,8 @@ #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC #endif -/* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */ -#ifndef DefaultGcc2i386Opt -#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5) -#define DefaultGcc2i386Opt -O2 GccAliasingArgs -#endif -#endif - -#ifdef i386Architecture -# define OptimizedCDebugFlags DefaultGcc2i386Opt -#else -# define OptimizedCDebugFlags -O -#endif +#define DefaultGcc2i386Opt +#define OptimizedCDebugFlags FreeBSDCFLAGS #ifndef PreIncDir # define PreIncDir /usr/include @@ -575,6 +569,13 @@ */ #if (GccMajorVersion == 2 && GccMinorVersion == 95) #define GccOptBug295 +#endif + +/* + * Add --export-dynamic flag for FreeBSD 7.x and later. + */ +#if OSMajorVersion >= 7 +#define ExtraLoadOptions -Wl,--export-dynamic #endif #include --IiVenqGWf+H9Y6IX--