An update.
I put a second Slackware on another partition. We'll call this Slack 2. It is current, the same version as my main Slackware, which we'll call Slack 1. Once Slack 2 got settled in and working, I used it to test the functionality of the crazybee.sh Bumblebee installer. To my surprise, it installed right the first time. Oh. I mean, that's good, but it was unexpected.
Note: Slack 1 and Slack 2 are the exact same version, with the same kernel.
I copied out the Slack 2 copy of all of the slack-packages made during the BumbleBee install process. As root, I installed them in Slack 1. This put in everything that was needed, neatly bypassing the problem, whatever it was, that prevents things like the bbswitch module from compiling.
Reboot. Slack 1 is no longer running hot, because bbswitch and the other bits are running. Whew. Problem solved. Not understood, but worked around.
Later, poking around the directories of the two Slacks, I noticed something odd: Slack 2's kernel directory had several subdirectories that were not in Slack 1. What the hell?
New theory: somehow in the recent upgrade of current (from the version of a few months ago to the new eudev version) the upgrade of the kernel headers and/or source was ... well, failed? corrupted? only partially upgraded?
So I reinstalled kernel source (/k directory), kernel headers (/d directory) kernel firmware (/a directory) generic kernel (/a directory)and kernel modules (/a directory). Regenerated initrd, ran lilo, rebooted. All still fine and the directory tree of the /usr/src area has all those missing bits.
edit: so I guess I'll never know the actual specific cause of the problem. Something took out part of the kernel area!
How I did the most recent upgrade:
http://www.linuxquestions.org/questi...ml#post5453753 Near as I can tell, I did that correctly?