Subject: Problem with X11R6, usbhid_pic.a, usb_pic.a
To: None <>
From: Brian Stark <>
List: current-users
Date: 01/10/2002 23:05:50

I found another problem, which I kind of understand, but am unsure
of how to fix correctly.

With NetBSD-current and X11R6 (XFree86 3.3.6 from xsrc.tar.gz) sources
from 1-9-2002, attempting to install X11R6 fails with the following

making all in programs/Xserver/hw/xfree86/os-support/misc...
making all in programs/Xserver/hw/xfree86/common...
rm -f
gcc -nostdlib -o -Wl,-Bshareable -R/usr/X11R6/lib xf86USBtablet.o /usr/lib/libusb_pic.a
gcc: /usr/lib/libusb_pic.a: No such file or directory
*** Error code 1

make: stopped in /usr/xsrc/xc/programs/Xserver/hw/xfree86/common
*** Error code 1

I know there have been some recent (end of December?) changes regarding
the usb and usbhid libraries, and after having completely compiled NetBSD
on January 2 I did some clean up and removed old shared libraries and
libraries that are not used anymore (like libusb_pic.a). Checking the
Imakefile in .../xfree86/common shows that there is a check for setting
the proper value for the ARCH_USB variable, and part of that checks looks

  OSTeenyVersion > 26

If greater than 26, the ARCH_USB uses libusbhid_pic.a. If less than
or equal, the code uses libusb.

The Imakefile has a January 4, 2002 time stamp, and "uname -a" on my
system reports:

NetBSD 1.5ZA NetBSD 1.5ZA (CALLISTO) #2: Thu Jan 10
17:24:14 PST 2002
compile/CALLISTO i386

I checked my /usr/src/sys/sys/param.h and __NetBSD_Version__ is defined
as "105270000".

It seems like my system should be using the libusbhid_pic.a library, but
for some reason it isn't. It seems that the X11R6 Imakefile's don't
undestand that NetBSD 1.5ZA should result in a OSTeenyVersion of 27.

Other than patching /usr/X11R6/xc/config/cf/, what is the right
way to solve this problem? (I guess I'm not sure how OSTeenyVersion is set
to begin with...)

Has anyone else seen this problem?


Brian Stark
bpstark at pacbell dot net