Re: latest xorg port compiles but does not run on sparc64

From: O. Hartmann <ohartman_at_zedat.fu-berlin.de>
Date: Tue, 13 Feb 2007 15:22:59 +0100
Hello,
I experienced the same problem when installing xorg-base port on a 
freshly installed FreeBSD 7.0-CURRENT and thanks a lot for your problem 
solving.
Has this patch been committed to the ports for an intermediate workaround?

Regards,
Oliver

Eygene Ryabinkin wrote:
>>>> 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.
> 
> 
> ------------------------------------------------------------------------
> 
> --- config/cf/FreeBSD.cf.orig	Wed May  4 04:14:57 2005
> +++ config/cf/FreeBSD.cf	Fri Feb  9 08:26:54 2007
> _at__at_ -78,6 +78,7 _at__at_
>  #define HasIssetugid		YES
>  #define HasPoll			YES
>  #endif
> +#define BuildHtmlManPages	NO
>  
>  #if OSMajorVersion >= 4
>  #define HasGetIfAddrs		YES
> _at__at_ -116,15 +117,14 _at__at_
>  # 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 */
> _at__at_ -172,12 +172,14 _at__at_
>  #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
> _at__at_ -338,7 +340,7 _at__at_
>  #ifndef LibraryRpathLoadFlags
>  # if UseRpath
>  #  if UseElfFormat
> -#   define LibraryRpathLoadFlags	-rpath $(USRLIBDIRPATH)
> +#   define LibraryRpathLoadFlags	-Wl,-rpath $(USRLIBDIRPATH)
>  #  else
>  #   define LibraryRpathLoadFlags	-R $(USRLIBDIRPATH)
>  #  endif
> _at__at_ -446,7 +448,9 _at__at_
>  #ifdef PpcArchitecture
>  #define XF86INT10_BUILD		X86INT10_STUB
>  #endif
> -
> +#ifdef PpcArchitecture
> +#define XF86INT10_BUILD		X86INT10_STUB
> +#endif
>  #define StandardDefines	-DCSRG_BASED
>  
>  #if OSMajorVersion > 1
> _at__at_ -467,18 +471,8 _at__at_
>  #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
> _at__at_ -575,6 +569,13 _at__at_
>   */
>  #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 <bsdLib.rules>
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"


-- 
Received on Tue Feb 13 2007 - 13:23:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:05 UTC