If you have a world which was built with NO_USB=yes then libusbhid.so doesn't exist. The current Makefile of the port devel/sdl12 just assumes that the old libusb.so is present and trusts in the correctness of the configure script; but it'll screw up and won't specify any joystick subsystem in this case; not even the dummy. This breaks libSDL-1.1 and causes that all ports that depend on this library won't compile. You'll get the following errors if you try to link with libSDL-1.1: libSDL-1.1.so: undefined reference to `SDL_SYS_JoystickUpdate' libSDL-1.1.so: undefined reference to `SDL_SYS_JoystickOpen' libSDL-1.1.so: undefined reference to `SDL_SYS_JoystickQuit' libSDL-1.1.so: undefined reference to `SDL_SYS_JoystickName' libSDL-1.1.so: undefined reference to `SDL_SYS_JoystickInit' libSDL-1.1.so: undefined reference to `SDL_SYS_JoystickClose' Fix: The devel/sdl12 port should make a more accurate check whether USB related libraries are available. If they aren't then disable support for joysticks. Another solution would be to use the dummy joystick subsystem, but I was too lazy to create a suitable patch right now. I'll do this if desired. How-To-Repeat: Rename usbhid.h to pretend that we live in a world with NO_USB. cd /usr/include mv usbhid.h usbhid.h.bak Build and install devel/sdl12. cd /usr/ports/devel/sdl12i make install clean Try to build a port that depends on devel/sdl12. cd /usr/ports/x11/electricsheep make build This will fail with the error messages that were mentioned in the description section of this PR.
Responsible Changed From-To: freebsd-ports-bugs->krion Assign to maintainer.
State Changed From-To: open->closed Committed, thanks!
The submitted patch now breaks on machines without the NO_USB flag in make.conf. Apparently, it was broken before (it just wouldn't compile USB HID support), but now it causes similar errors to those listed in the problem report. The fix is simply changing the line ".if exists(/usr/include/libusbhid.h)" to ".if exists(/usr/include/ usbhid.h)". If you really need one, I can create a diff file. Thanks. David J. Haines dhaines@gmail.com