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

Gary Aitken ah at dreamchaser.org
Fri Nov 1 16:47:04 UTC 2013


On 11/01/13 10:39, Gary Aitken wrote:
> 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.

Just realized the upgrade process spits out a summary and asks for 
confirmation, so I tried that but it doesn't even attempt the upgrade:

# freebsd-update -r 9.1-RELEASE upgrade
freebsd-update: Cannot upgrade from 9.1-RELEASE to itself

So... is there any way to get the source upgraded without going the svn route?

Thanks,

Gary


More information about the freebsd-questions mailing list