headers in /usr/include are 9.1 but /usr/src/sys are 9.0

Gary Aitken freebsd at dreamchaser.org
Fri Nov 1 16:50:19 UTC 2013

On 10/23/13 09:06, Shane Ambler wrote:
> On 23/10/2013 13:37, Gary Aitken wrote:
>> Using the generic kernel. Some time ago I upgraded from 9.0 to 9.1
>> using freebsd-update.
>> originally, under 9.0, I had lsof installed (from ports).
>> Some time after all that I tried to reinstall sysutils/lsof and
>> couldn't. I wasn't desperate and ignored it...
>> Looking into it further, the problem appears to be the result of
>> /usr/src/sys/sys/ containing 9.0.0 versions, and /usr/include/sys/
>> containing 9.1.0 versions.
>> I didn't think I had system source installed, but apparently I did. I
>> have vague recollections of telling the upgrade process not to
>> upgrade the source because I didn't think I had it installed; but
>> maybe it doesn't even ask.  I'm not really familiar with the process
>> and it was a while back.
>> Anyhow...
>> 1. Is /usr/src/sys/sys always present?
> No. The system source files are optional.
>> 2. Do ports normally use headers from /usr/src/sys/sys instead of 
>> /usr/include/sys if /usr/src/sys/sys is present?
> As I understand it the ports that would use /usr/src are ones that
> compile kernel modules. lsof would be an exception as I believe it
> accesses data structures from the running system to collect it's
> information, which are defined in the system sources. lsof should be
> compiled against the current system and complains when it isn't.
>> 3. What's the best way to fix this? freebsd-update fetch?
> freebsd-update is configured in /etc/freebsd-update.conf you should find
> an entry for Components which should contain src then update.
> Another option if you have subversion installed is to checkout the
> source tree straight from the svn servers.

Finally got back to this.

My freebsd-update.conf contains:
  Components src world kernel

I just did
  freebsd-update fetch
  freebsd-update install
and the source tree was not updated.

Apparently it thinks the source is supposed to stay at 9.0.0 for some reason.
If I do an upgrade to 9.1 again, from a 9.1 system, will it upgrade only
those components which need upgrading, which in this case should be nothing
except src?  Will it force an upgrade of the src?

It would be handy if there were an option to show what work would be done
without actually doing it.


More information about the freebsd-questions mailing list