latest xorg port compiles but does not run on sparc64
O. Hartmann
ohartman at zedat.fu-berlin.de
Tue Feb 13 14:23:05 UTC 2007
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
> @@ -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 <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"
--
More information about the freebsd-current
mailing list