Installing `linux66` kernel installs `linux66-rt-headers` instead of `linux66-headers`

It may not be a problem, but I’ll ask regardless as it has caused some confusion on my end whilst dealing with the previous kernel.

Issue

Whilst installing the linux66 kernel (not linux66-rt), there’s additional package install of linux66-rt-headers. Why? Isn’t that a different kernel? And why not linux66-headers?

$ sudo mhwd-kernel -i linux66
:: Synchronising package databases...
 core is up to date
 unity7 is up to date
 extra                                           8.3 MiB   127 KiB/s 01:07 [##########################################] 100%
 community is up to date
 multilib is up to date
resolving dependencies...
looking for conflicting packages...

Packages (2) linux66-6.6.32-1  linux66-rt-headers-6.6.30_rt30-1
:: Proceed with installation? [Y/n]

Looking up the package manager, it appears that linux66 does have dedicated headers, which are excluded from this install.

core/linux66-headers 6.6.32-1
    Header files and scripts for building modules for Linux66 kernel
--
core/linux66-rt-headers 6.6.30_rt30-1
    Header files and scripts for building modules for Linux66-rt kernel
--

And the 66 and 66-rt appear to be listed as separate things.

$ mhwd-kernel -l
available kernels:
   * linux66
...
   * linux66-rt
...
1 Like

Just possible reasons:
your list of mirrors is not current - or the one that you used was in the process of changing/updating

I would:

  • remove both packages
  • update the mirror list - possibly getting to use a different one in the process
  • try again to mhwd-kernel -i ... afterwards - as well as a full system update before that

If that doesn’t “help”: I don’t know what could :man_shrugging:

1 Like

My mirror list was indeed quite stale - half of them of red status - so I updated them using fasttrack option.

I also refreshed the package database for good measure, however, that did not change the outcome.

I suppose there’s a possibility that this package combination is intended?
If so, it’s not obvious why.

Hopefully someone with the knowledge of kernel-bree :grin: could shed some light on this.

You’re sure, this foreign repository isn’t interfering?

I cannot reproduce the problem, looks fine here:

$ sudo mhwd-kernel -i linux66
:: Synchronizing package databases...
 mesa-nonfree is up to date
 core is up to date
 extra is up to date
 multilib is up to date
resolving dependencies...
looking for conflicting packages...

Package (2)           New Version  Net Change  Download Size

core/linux66          6.6.33-1     134,53 MiB     128,87 MiB
core/linux66-headers  6.6.33-1     119,20 MiB      24,44 MiB

Total Download Size:   153,30 MiB
Total Installed Size:  253,73 MiB

:: Proceed with installation? [Y/n]

I highly doubt it.
Please post output of:

$ LANG=C pacman -Si linux66-headers

It should show 6.6.32-1 for stable branch as can also be seen here

1 Like

I cannot reproduce the problem
That’s great to hear! Means I merely have something to resolve.

Requested output:

$ LANG=C pacman -Si linux66-headers
Repository      : core
Name            : linux66-headers
Version         : 6.6.32-1
Description     : Header files and scripts for building modules for Linux66 kernel
Architecture    : x86_64
URL             : https://www.kernel.org/
Licenses        : GPL2
Groups          : None
Provides        : linux-headers=6.6.32
Depends On      : gawk  python  libelf  pahole
Optional Deps   : None
Conflicts With  : None
Replaces        : None
Download Size   : 24.45 MiB
Installed Size  : 119.24 MiB
Packager        : Manjaro Build Server <build@manjaro.org>
Build Date      : Mon 27 May 2024 03:16:16 BST
Validated By    : MD5 Sum  SHA-256 Sum  Signature

Now that you mention the unity7 I never really questioned it before.
Not sure if I even got anything installed from it. Is there any way to check? If I’ve got nothing from it, I would want to give it a try removing it.

Update:
Did a local query by group. Not sure if that’s it:

$ pacman -Qg unity
unity ido
unity libappindicator-gtk3
unity libindicator-gtk3

Looks fine to me :man_shrugging:

You can use paclist command from pacman-contrib package.

$ paclist unity7

But even that is just a hint and not necessarily true (I’ve seen false positives in the past with my own custom repos for example).

You can try just commenting it out in /etc/pacman.conf just to see, if it’s got an influence on the current weirdness.

1 Like

This is quite bizarre seeing ubuntu thing in here. I’m using KDE Plasma, not GNome, so I’m not expecting these packages here. :thinking: Unless it’s some left overs from Unity game engine install I had forever ago.

$paclist unity7
gtk3-ubuntu 1:3.24.34-1
ido 1:13.10.0.17.04.20161028-1
libappindicator-gtk3 1:12.10.1.20.10.20200706.1-2
libindicator-gtk3 1:16.10.0.16.10.20160913-2

I’ve commented out the:

[unity7]
SigLevel = Required DatabaseOptional
Server = https://manjaro.github.io/unity-for-manjaro/x86_64/

from the pacman.conf, ran sudo pacman -Syuu for good measure & rebooted, but still getting the same packages:

sudo mhwd-kernel -i linux66
[sudo] password for username: 
:: Synchronising package databases...
 core is up to date
 extra is up to date
 community is up to date
 multilib is up to date
resolving dependencies...
looking for conflicting packages...

Packages (2) linux66-6.6.32-1  linux66-rt-headers-6.6.30_rt30-1

Total Download Size:    24.54 MiB
Total Installed Size:  254.09 MiB

:: Proceed with installation? [Y/n] n

So it may not be the external repository (unless those installed packages are what cause interference - I will try to dig around to see what they’re for)

This may or may not have an influence but

does indicate you haven’t merged your .pacnew offerings in quite a while. Particularly /etc/pacman.conf which has changed a bit since then.
pacdiff -o will list these.

1 Like

I’m not familiar with this side of pacman, perhaps, you could point to where I can read more on this? :pray:

Here is the diff from the command you’ve mentioned.
I’m not exactly sure as to what I’m looking at though… :thinking:

$ pacdiff -o
/usr/share/icons/default/index.theme.pacsave
/etc/passwd.pacnew
/etc/shells.pacnew
/etc/locale.gen.pacnew
/etc/default/grub.pacnew
/etc/pam.d/kde.pacnew
/etc/pamac.conf.pacnew
/etc/mkinitcpio.conf.pacnew
/etc/pacman.conf.pacnew
/etc/pam.d/sddm.pacnew
1 Like

This post by Teo may be of help.

However: Do not blindly merge the /etc/passwd.pacnew one!

Pay particular attention to this bit:

If this doesn’t fix things, I guess you could try installing the correct headers manually.

1 Like

Thanks for pointing to this! Had no idea I had so many pending config changes.

There’re a lot of configs to resolve & I have no idea what some of the options differences or even configs do. It will take some time to research it & get that fixed.

For now I resolved the differences between the pacman configs, the ones left unresolved are:

$pacdiff -o
/usr/share/icons/default/index.theme.pacsave
/etc/passwd.pacnew
/etc/shells.pacnew
/etc/default/grub.pacnew
/etc/pam.d/kde.pacnew
/etc/mkinitcpio.conf.pacnew
/etc/pam.d/sddm.pacnew

The pacman diff didn’t seem significant. Apart removing some colour options (which I kept), adding these (or just the siglevel options under them)

[unity7]
SigLevel = Required DatabaseOptional
Server = https://manjaro.github.io/unity-for-manjaro/x86_64/

[extra]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist

I have retried the install of kernel package again, but that didn’t change the -rt headers being installed. Maybe that needs a reboot or something more. I’ll try it again after resolving more of these merge conflicts, but I’ll get to that on the following days.

1 Like

mhwd-kernel installs kernels - it does not install kernel-header-files

remove the linux66-rt-headers if you don’t want or need them
sudo pacman -Rns linux66-rt-headers
or just:
sudo pacman -R linux66-rt-headers

if you need header files for linux66, install linux66-headers
sudo pacman -Syu linux66-headers



unless you know that you need this unity7 repo:

remove it -
or just comment it out temporarily
(put a # in front of each of the three lines)

all the software in this repo is one and a half year old - this can’t be good
not anymore anyways

2 Likes

Interesting. I’d use Pacman to do this, anyway, as I’ve had to do to get VirtualBox working on newer kernels.

You can do it with pacman as well - but then you have to take care of regenerating the initrd and updating grub yourself.
mhwd-kernel does this for you

1 Like

We have to check. However the file provides this: provides=("linux-headers=$pkgver"). Normally headers are only needed for dkms files.

1 Like

I does for me. It seems to guess what additional packages for the chosen kernel you might want to install based on your current package situation for your current kernel.
On one of my machines it always wants to installl linux66-nvidia-390xx because it has linux61-nvidia-390xx present for its current linux61 kernel.

@DurpiuKalnas Do you by any chance run an -rt kernel at the moment? Please post output of:

$ uname -a
$ mhwd-kernel -li
1 Like

I’m no longer sure, but it doesn’t seem so as the -rt ones have those suffixes:

$ uname -a
Linux laptop-machine 6.7.7-1-MANJARO #1 SMP PREEMPT_DYNAMIC Fri Mar  1 18:26:06 UTC 2024 x86_64 GNU/Linux
$ mhwd-kernel -li
Currently running: 6.7.7-1-MANJARO (linux67)
The following kernels are installed in your system:
   * linux67

remove the linux66-rt-headers if you don’t want or need them

If I can’t track down the issue for why this is happening, I’m guessing I’ll need to do this. Though, I prefer to dig around as I fear this mistake could be part of some larger issue slowly degrading the system.

unless you know that you need this unity7 repo … remove it.

I have found out what it’s used for. The removal doesn’t seem to be straightforward, but I did try commenting it out. However, that did not resolve the wrongly picked up headers issue.

You should be able to - everything that was ever installed or removed is recorded in the pacman log.
It is a simple text file.

You could, for example, use:
less /var/log/pacman.log
and then use the search function to scan for rt-headers
(that is: Shift+/ followed by the search term )
and look at the context around it.
… or use grep directly on the content of the file
grep rt-headers /var/log/pacman.log
even a text editor will do - although that file could be very large and a text editor is not an ideal tool …

Plasma has got a log viewer tool as far as I know.

The package got installed at some point - the event should be recorded.

Kernel headers are only needed for building some AUR packages - for example kernel modules that are not part of the standard kernel.
It’s just used during the compilation phase. Later the presence or absence is irrelevant.

Removing headers has zero impact on the system.
Since you don’t even have the corresponding kernel installed, this particular -rt-headers package can go for sure.
Besides: this will likely still be in the pacman cache and can thus easily be reinstalled even if it would not be available anymore in the repositories.

Check:
ls -al /var/cache/pacman/pkg/*-rt-headers*
or: don’t bother and
just remove it - since you neither want nor need it.

well - if you did, the repo is no longer used when updating
Not sure whether you would need to remove anything.

But, based on the content of that repo, it was not even expected that this had anything to do with the -rt-headers “issue”.

1 Like

It does indeed, but not worth bothering with IMHO. I couldn’t get it to show anything but the last few dozen lines. I’d stick with the terminal.

I’ll also point out that the non-RT Linux67 is EOL and no longer in the repos.

$ mhwd-kernel -l
available kernels:
   * linux419
   * linux510
   * linux515
   * linux54
   * linux61
   * linux610
   * linux66
   * linux68
   * linux69
   * linux61-rt
   * linux66-rt
   * linux67-rt
1 Like