Bug 1055

Summary: [PATCH] "#define BuildXprint NO" is broken (6.7.99.2)
Product: xorg Reporter: Mike A. Harris <mharris>
Component: Build/MonolithicAssignee: Alan Coopersmith <alan.coopersmith>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: highest CC: ajax, alan.coopersmith, daniel, dberkholz, eric, roland.mainz, tonnerre
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 351    
Attachments:
Description Flags
xorg-x11-6.8.0-fix-BuildXprint.patch
none
Patch to xc/config/cf/X11.tmpl none

Description Mike A. Harris 2004-08-12 02:15:50 UTC
While compiling 6.7.99.2 snapshot with "BuildXprint NO" set in host.def, the
build died with:


make[5]: Leaving directory
`/home/mharris/rpmbuild/BUILD/xorg-x11-6.7.99.2/xc/programs/Xserver/hw/dmx'
gcc -m32 -o Xorg -O2  -march=i386 -mcpu=i686 -fno-strict-aliasing -pipe -ansi
-pedantic -Wall -Wpointer-arith -Wstrict-prototypes                        
-Wmissing-prototypes
 -Wmissing-declarations                           -Wredundant-decls
-Wnested-externs -Wundef     -L../../exports/lib   xkb/xf86KillSrv.o
xkb/xf86VT.o xkb/xf86Private.o
           ../../programs/Xserver/hw/xfree86/common/xf86Init.o
../../programs/Xserver/hw/xfree86/common/xf86IniExt.o
../../programs/Xserver/hw/xfree86/common/libxf86.a
            ../../programs/Xserver/hw/xfree86/parser/libxf86config.a
../../programs/Xserver/hw/xfree86/os-support/libxf86_os.a
../../programs/Xserver/hw/xfree86/loader/libloa
der.a            ../../programs/Xserver/hw/xfree86/common/libxf86.a dix/libdix.a
os/libos.a            ../../lib/font/fontbase.o                 
../../lib/font/libfontbase.a
 Xext/libexts.a xkb/libxkb.a Xi/libxinput.a                   lbx/liblbx.a     
             ../../lib/lbxutil/liblbxutil.a 
../../programs/Xserver/hw/xfree86/common/libxf86.
a              Xext/libexts.a xkb/libxkb.a Xi/libxinput.a                  
lbx/liblbx.a                   ../../lib/lbxutil/liblbxutil.a  randr/librandr.a
render/librender.a
                  composite/libcomposite.a xfixes/libxfixes.a
damageext/libdamage.a miext/damage/libdamage.a dix/libxpstubs.a mi/libmi.a
Xext/libexts.a xkb/libxkb.a Xi/libxin
put.a                   lbx/liblbx.a                  
../../lib/lbxutil/liblbxutil.a  randr/librandr.a render/librender.a            
   composite/libcomposite.a xfixes/libx
fixes.a damageext/libdamage.a miext/damage/libdamage.a 
../../programs/Xserver/hw/xfree86/os-support/libxf86_os.a     -lz -lm          
          -lpam -rdynamic -ldl -lpam_m
isc  -lXau -lXdmcp  -rdynamic -ldl  -Wl,-rpath-link,../../exports/lib
gcc -m32 -o Xprt -O2  -march=i386 -mcpu=i686 -fno-strict-aliasing -pipe -ansi
-pedantic -Wall -Wpointer-arith -Wstrict-prototypes                        
-Wmissing-prototypes
 -Wmissing-declarations                           -Wredundant-decls
-Wnested-externs -Wundef     -L../../exports/lib   Xprint/ddxInit.o
Xprint/miinitext.o Xprint/dpmsstubs.o
        os/libcwrapper.o dix/libdix.a os/libos.a    mfb/libmfb.a
dix/libxpstubs.a mi/libmi.a Xext/libexts.a xkb/libxkb.a Xi/libxinput.a         
         lbx/liblbx.a
           ../../lib/lbxutil/liblbxutil.a  randr/librandr.a render/librender.a 
          composite/libcomposite.a xfixes/libxfixes.a damageext/libdamage.a
miext/damage/libda
mage.a Xext/libext.a dbe/libdbe.a record/librecord.a GL/glx/libglx.a           
    GL/mesa/GLcore/libGLcore.a XTrap/libxtrap.a     ../../lib/font/libXfont.a
-lfreetype dix/l
ibxpstubs.a  -lz -lm                      -lpam -rdynamic -ldl -lpam_misc  -lXau
-lXdmcp  -Wl,-rpath-link,../../exports/lib
gcc: Xprint/ddxInit.o: No such file or directory
gcc: Xprint/miinitext.o: No such file or directory
gcc: Xprint/dpmsstubs.o: No such file or directory
make[4]: *** [Xprt] Error 1
make[4]: Leaving directory
`/home/mharris/rpmbuild/BUILD/xorg-x11-6.7.99.2/xc/programs/Xserver'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/home/mharris/rpmbuild/BUILD/xorg-x11-6.7.99.2/xc/programs'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/mharris/rpmbuild/BUILD/xorg-x11-6.7.99.2/xc'
make[1]: *** [World] Error 2
make[1]: Leaving directory `/home/mharris/rpmbuild/BUILD/xorg-x11-6.7.99.2/xc'
make: *** [World] Error 2
make: Leaving directory `/home/mharris/rpmbuild/BUILD/xorg-x11-6.7.99.2/xc'
error: Bad exit status from /home/mharris/rpmbuild/tmp/rpm-tmp.17579 (%build)
Comment 1 Daniel Stone 2004-08-12 02:28:55 UTC
I personally believe that Xprint should move to a separate tree, e.g.
Xprint.org. Between this bug, the fact it breaks with the smart scheduler, the
fact it hangs every two minutes, it has immature libraries (see thread on
xorg@), I think it should be removed to an external tree with its own release
schedule.

It's not displaying stuff on a screen. That's what we do, not Xprint. Why is it
even in the X.Org project, full stop?
Comment 2 Mike A. Harris 2004-08-12 03:12:11 UTC
I've written a patch which I believe fixes this bug, and am currently testing
it.  If it works properly, I'll attach it today or tomorrow for review before
committing.
Comment 3 Mike A. Harris 2004-08-12 03:30:48 UTC
Created attachment 617 [details] [review]
xorg-x11-6.8.0-fix-BuildXprint.patch
Comment 4 Mike A. Harris 2004-08-12 03:32:36 UTC
My patch works, please apply.

Comment 5 Alan Coopersmith 2004-08-12 09:19:55 UTC
Is this a bug?  From looking at xc/config/cf/X11.tmpl, it appears you should
be setting XprtServer NO, which in turn sets BuildXprint to NO (which does seem
a bit backwards from the normal case).   Unfortunately, Roland, who knows this
code best, is unavailable for a few days.

As to removing it from the tree, it shares most of the same code, except at the
DDX levels, so moving it to a separate CVS just adds synchronization pain trying
to keep the two trees in sync, and aren't we trying to avoid that when possible?
Comment 6 Adam Jackson 2004-08-12 11:57:15 UTC
(In reply to comment #5)
> Is this a bug?  From looking at xc/config/cf/X11.tmpl, it appears you should
> be setting XprtServer NO, which in turn sets BuildXprint to NO (which does seem
> a bit backwards from the normal case).

#define XprtServer NO still builds the Xprint libs, so apparently that's not the
way to say "No Xprint please".  BuildXprint NO would be a logical way to express
this preference.
Comment 7 Alan Coopersmith 2004-08-12 12:02:56 UTC
Created attachment 620 [details] [review]
Patch to xc/config/cf/X11.tmpl

Then perhaps the better fix is to fix the logic in X11.tmpl so that BuildXprint

NO also sets XprtServer NO if it's not already set.   Something like patch I've
attached here (though it's not yet tested).
Comment 8 Alan Coopersmith 2004-08-13 15:41:17 UTC
As promised this morning I've tested my fix - it works, once the bits in xorg.conf
to force XprtServer to YES are removed.  (They seem redundant since X11.tmpl sets
it already.)
Comment 9 Alan Coopersmith 2004-08-13 15:44:52 UTC
CVSROOT:	/cvs/xorg
Module name:	xc
Changes by:	alanc@pdx.	04/08/13 15:44:03

Log message:
  2004-08-13  Alan Coopersmith  <alan.coopersmith@sun.com>
  
  	* config/cf/X11.tmpl:
  	Bugzilla #1055: "#define BuildXprint NO" is broken (6.7.99.2)
  	If XprtServer is undefined, but BuildXprint is defined, then
  	BuildXprint should set XprtServer as well.
  
  	* config/cf/xorg.cf:
  	Remove extra setting of XprtServer - just let it use the setting
  	in X11.tmpl

Modified files:
      ./:
        ChangeLog 
      xc/config/cf/:
        X11.tmpl xorg.cf 
  
  Revision      Changes    Path
  1.267         +12 -1     xc/ChangeLog
  1.26          +6 -2      xc/config/cf/X11.tmpl
  1.20          +1 -4      xc/config/cf/xorg.cf
Comment 10 Mike A. Harris 2004-08-14 03:04:21 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > Is this a bug?  From looking at xc/config/cf/X11.tmpl, it appears you should
> > be setting XprtServer NO, which in turn sets BuildXprint to NO (which does seem
> > a bit backwards from the normal case).
> 
> #define XprtServer NO still builds the Xprint libs, so apparently that's not the
> way to say "No Xprint please".  BuildXprint NO would be a logical way to express
> this preference.

I would expect "XprtServer NO" just disables building Xprt and does nothing
else.  "BuildXprintLib NO" should turn of building of the Xprint library and
nothing else IMHO.  "BuildXprint NO" should turn set both of the first two
to no IMHO, and there should be a BuildXprintClients which can be set to no
also, and which gets set to NO when BuildXprint is NO.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.