Subject: Re: x11/Xfixes fails to build on Solaris
To: None <segv@netctl.net>
From: Gilles Dauphin <Gilles.Dauphin@enst.fr>
List: tech-pkg
Date: 08/23/2005 10:20:27
Just a workaround for segv,

I apply the following patch to x11/fixesext
------------------------------------------------
[root@redhot 385] diff -bu builtin.mk.orig builtin.mk
--- builtin.mk.orig     Tue Aug 23 09:59:00 2005
+++ builtin.mk  Tue Aug 23 10:10:06 2005
@@ -22,8 +22,15 @@
 # of one of the pkgsrc-installed X11 distributions.
 #  
 .  if exists(${H_XFIXESPROTO}) && exists(${H_XFIXESWIRE})
+.    if ${OPSYS} == "SunOS" && ${OS_VERSION} == "5.10"
+# that is not correct, but work. In solaris10 Xfixes is release 3.0
+# The actual pkgsrc release is 2.0 (23 Aug 2005). So, making the lib would 
+# work.
+IS_BUILTIN.fixesext=    no
+.    else
 IS_BUILTIN.fixesext=   yes
 .  endif
+.  endif
 .endif
 MAKEVARS+=     IS_BUILTIN.fixesext
 
[root@redhot 386] 
-------------------------------------------------------\

Gilles

> From: Gilles Dauphin <Gilles.Dauphin@enst.fr>
> Subject: Re: x11/Xfixes fails to build on Solaris
> 
> 
> > Delivered-To: dauphin@enst.fr
> > From: segv <segv@netctl.net>
> > 
> > On Tue, 16 Aug 2005 11:09:57 +0100
> > segv <segv@netctl.net> wrote:
> > 
> > > On Tue, 16 Aug 2005 10:33:31 +0200 (CEST)
> > > Gilles Dauphin <Gilles.Dauphin@enst.fr> wrote:
> > > 
> > > > put this line in mk.conf
> > > > 
> > > > PKG_CONFIG_LIBDIR=/usr/pkg/lib/pkgconfig
> > > > 
> > > > Gilles
> > > 
> > > Thanks, that fixed the problem. Just out of interest, why does it fail on
> > > Solaris and needs this fix, and not on NetBSD? I mean is it just a 
temporary
> > > problem with that package that will be fixed, or do I need to keep the 
above
> > > variable in mk.conf for all future package builds on Solairs?
> > 
> > OK, this is strange, I was testing it again, so I removed all the packages 
and
> > started building them from scratch:
> > 
> > Building x11/Xfixes does not automatically build x11/fixesext, which I think 
> is
> > an error. And as expected x11/Xfixes then fails with
> 
> I think too.
> 
> The libXfixes is in Solaris 10 , (I can't find it in Solaris 9):
> 
> [root@redhot 214] ls -l /usr/openwin/sfw/lib/libXfixes.so.1
> -rwxr-xr-x   1 root     bin        17148 Jan 23  2005 
> /usr/openwin/sfw/lib/libXfixes.so.1*
> [root@redhot 215] 
> 
>  The missing fixesext.pc must be build via pkgsrc/x11/fixesext.
> 
> There is minor diff between S10 and pkgsrc when installing fixesext:
> ----------------------------------------------------------------------------
> 
> [root@u2 229] !diff
> diff /usr/pkg/include/X11/extensions/xfixeswire.h 
> /usr/openwin/include/X11/extensions/xfixeswire.h
> 30c30
> < #define XFIXES_MAJOR  2
> ---
> > #define XFIXES_MAJOR  3
> 62a63,64
> > /*************** Version 3 ******************/
> > #define X_XFixesExpandRegion              28
> 64c66
> < #define XFixesNumberRequests              (X_XFixesChangeCursorByName+1)
> ---
> > #define XFixesNumberRequests              29
> [root@u2 230] 
> [root@u2 237] diff /usr/pkg/include/X11/extensions/Xfixes.h 
> /usr/openwin/include/X11/extensions/ 
> 31a32,38
> > /*
> >  * This revision number also appears in configure.ac, they have
> >  * to be manually synchronized
> >  */
> > #define XFIXES_REVISION       0
> > #define XFIXES_VERSION        ((XFIXES_MAJOR * 10000) + (XFIXES_MINOR * 100) 
+ 
> (XFIXES_REVISION))
> > 
> 65c72,73
> <     char          *name;                  /* Version >= 2 only */
> ---
> > #if XFIXES_MAJOR >= 3
> >     const char            *name;                  /* Version >= 3 only */
> 66a75
> > #endif
> 81c90,92
> <     char          *name;
> ---
> > #if XFIXES_MAJOR >= 3
> >     const char            *name;                  /* Version >= 3 only */
> > #endif
> 92a104,107
> > #if XFIXES_MAJOR >= 3
> > int XFixesVersion (void);
> > #endif
> > 
> 166a182,188
> > #if XFIXES_MAJOR >= 3
> > XRectangle *
> > XFixesFetchRegionAndBounds (Display *dpy, XserverRegion region, 
> >                           int *nrectanglesRet,
> >                           XRectangle *bounds);
> > #endif
> > 
> 182c204
> < XFixesSetCursorName (Display *dpy, Cursor cursor, char *name);
> ---
> > XFixesSetCursorName (Display *dpy, Cursor cursor, const char *name);
> 184c206
> < char *
> ---
> > const char *
> 191c213
> < XFixesChangeCursorByName (Display *dpy, Cursor source, char *name);
> ---
> > XFixesChangeCursorByName (Display *dpy, Cursor source, const char *name);
> 193c215
> < #endif
> ---
> > #endif        /* XFIXES_MAJOR >= 2 */
> 194a217,223
> > #if XFIXES_MAJOR >= 3
> > void
> > XFixesExpandRegion (Display *dpy, XserverRegion dst, XserverRegion src,
> >                   unsigned left, unsigned right,
> >                   unsigned top, unsigned bottom);
> > #endif        /* XFIXES_MAJOR >= 3 */
> > 
> [root@u2 238]
> 
> 
> 
> > 
> > checking for fixesext >= 2.0... sh: gnome-config: not found
> > sh: gnome-config: not found
> > Package fixesext was not found in the pkg-config search path. Perhaps you
> > should add the directory containing `fixesext.pc' to the PKG_CONFIG_PATH
> > environment variable No package 'fixesext' found configure: error: Library
> > requirements (fixesext >= 2.0) not met; consider adjusting the 
PKG_CONFIG_PATH
> > environment variable if your libraries are in a nonstandard prefix so
> > pkg-config can find them. *** Error code 1
> > 
> > Stop.
> > bmake: stopped in /opt/pkgsrc/x11/Xfixes
> > ===> 
> > ===> There was an error during the ``configure'' phase.
> > ===> Please investigate the following for more information:
> > ===>      * config.log
> > ===>      * /opt/pkg32.obj/x11/Xfixes/work/.work.log
> > ===> 
> > *** Error code 1
> > 
> > I had to install x11/fixesext manually to correct this problem.
> > Maybe something is getting messed up in the Makefiles?