Subject: Re: Anyone compiling X on NetBSD-current ?
To: Nathan J. Williams <nathanw@wasabisystems.com>
From: Robert Elz <kre@munnari.OZ.AU>
List: current-users
Date: 04/17/2002 20:09:30
    Date:        16 Apr 2002 12:35:50 -0400
    From:        "Nathan J. Williams" <nathanw@wasabisystems.com>
    Message-ID:  <mtu7kn78uu1.fsf@contents-vnder-pressvre.mit.edu>

  | The usbhid.h that the build is looking for comes from
  | src/lib/libusbhid;

Oh, OK, I managed to not spot that one (I have quite a few kernel src
directories around, locate overwhelmed me with info about the ones that
are there, so I didn't initially spot this other one).   Needless to say
locate didn't find the one in ${DESTDIR}/usr/include - that had only
appeared hours earlier when the build reached that point.   Thanks.

  | You can probably fix your build problem by updating
  | libusbhid and rebuilding it, including "make includes".

I don't really want to do that, as that would give me a strange hybrid
kind of system, where things don't really match.   Instead, I'm trying
a build of X chroot'd into my DESTDIR directory (so to the X build,
everything should look like it is an absolutely up to date -current system).
Eventually, once I have everything compiling and running cleanly, I'll
upgrade the real thing.

  | This probably means that building from that X source under 1.5.x is
  | broken; that might be considered a bug, but I'm going to let someone
  | else worry about it...

That, maybe not - there is a conditional include of either usbhid.h or
usb.h - when it decides it will use usb.h instead of usbhid.h I don't
know.

What I think it really means is that cross compiling X (or compiling X
when the installed system doesn't match what is being built, even if the
architectures are the same, which is my case) is broken.

It also migt mean that compiling on 1.5Y is broken (or perhaps only
compiling on a 1.5Y userland when the kernel announces 1.5ZC or similar...)

Do we have any nice way to discover the userland version currently installed?

  | Not sure about this. The build I did was on a machine that didn't have
  | a pre-existing X install at all, but it wasn't a DESTDIR build. From
  | looking at my build log it seems to be trying to DTRT by populating
  | xfree/xc/exports/{include,lib} and pointing the build of, say,
  | glxgears there with appropriate -I and -L options.

I'm going to try that one as a chroot'd build as well.   I doubt that the
(rather ancient) X11R6 that I had in /usr was making any real difference,
but expecting to find things under $DESTDIR rather than / might have
(and yes, glxgears was one of the things that didn't link).

Thanks for the help - once my system finishes rebuilding (both) versions of
X once again, I will report on how well this worked.   That message may come
very soon after, or even before, this one - as I'm doing all this off line,
so e-mail will just be queued till I connect to the net again.

kre