You are not logged in.

#1 2013-12-08 20:00:12

thenextdon13
Member
Registered: 2013-01-18
Posts: 58

[SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

Hello-
I wanted this to be out there on the web so that people could find it.  I'm not sure if this could be considered a 'bug' for catalyst hook or for.. something, or if it is expected behavior.

I ran pacman -Suy on my system today, and ran into errors about catalyst hook failing.

Closer inspection indicated that it was trying to build based on headers of the version of linux that had just been removed, but the new linux headers hadn't been installed yet (after the hooks ran, then the linux-headers were installed)

If you see this error during an upgrade, to resolve the issue simply run mkinitcpio -p linux after the install completes.

Below you can see log/errors/progression

[dylan@shoparch ~]$ sudo pacman -Suy
:: Synchronizing package databases...
 catalyst is up to date
 core                     105.8 KiB   175K/s 00:01 [######################] 100%
 extra                   1522.0 KiB  1221K/s 00:01 [######################] 100%
 community                  2.0 MiB  1184K/s 00:02 [######################] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...

Packages (11): chromium-31.0.1650.63-1  grub-1:2.00.1282.g5ae5c54-1
               gtk3-3.10.6-1  jasper-1.900.1-10  libpipeline-1.2.5-1
               libvpx-1.3.0-1  linux-3.12.3-1  linux-headers-3.12.3-1
               lua-5.2.3-1  opus-1.1-1  python2-setuptools-1.4.2-1

Total Download Size:    99.26 MiB
Total Installed Size:   314.59 MiB
Net Upgrade Size:       4.49 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages ...
 grub-1:2.00.1282.g5...     5.2 MiB  1438K/s 00:04 [######################] 100%
 libpipeline-1.2.5-1...    34.9 KiB  6.82M/s 00:00 [######################] 100%
 linux-3.12.3-1-x86_64     49.9 MiB  3.29M/s 00:15 [######################] 100%
 linux-headers-3.12....     5.8 MiB  1890K/s 00:03 [######################] 100%
 opus-1.1-1-x86_64        175.2 KiB  1734K/s 00:00 [######################] 100%
 chromium-31.0.1650....    29.0 MiB  2.66M/s 00:11 [######################] 100%
 gtk3-3.10.6-1-x86_64       7.9 MiB  2.97M/s 00:03 [######################] 100%
 jasper-1.900.1-10-x...   159.8 KiB   181K/s 00:01 [######################] 100%
 libvpx-1.3.0-1-x86_64    620.0 KiB   764K/s 00:01 [######################] 100%
 lua-5.2.3-1-x86_64       195.9 KiB  1555K/s 00:00 [######################] 100%
 python2-setuptools-...   331.9 KiB  1495K/s 00:00 [######################] 100%
(11/11) checking keys in keyring                   [######################] 100%
(11/11) checking package integrity                 [######################] 100%
(11/11) loading package files                      [######################] 100%
(11/11) checking for file conflicts                [######################] 100%
(11/11) checking available disk space              [######################] 100%
( 1/11) upgrading opus                             [######################] 100%
( 2/11) upgrading chromium                         [######################] 100%
( 3/11) upgrading grub                             [######################] 100%
( 4/11) upgrading gtk3                             [######################] 100%
( 5/11) upgrading jasper                           [######################] 100%
New optional dependencies for jasper
    freeglut: for jiv support [installed]
    glu: for jiv support [installed]
( 6/11) upgrading libpipeline                      [######################] 100%
( 7/11) upgrading libvpx                           [######################] 100%
( 8/11) upgrading linux                            [######################] 100%
>>> Updating module dependencies. Please wait ...
>>> Generating initial ramdisk, using mkinitcpio.  Please wait...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.12.3-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [mdadm_udev]
Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays.
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
  -> Running build hook: [fglrx]
Building fglrx module for 3.12.3-1-ARCH kernel ...
Failed!!! Check out log: /var/log/catalyst-install.log
- /usr/lib/modules/3.12.2-1-ARCH looks like unused, maybe remove it manualy?
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.12.3-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: smsmdtv
  -> Running build hook: [mdadm_udev]
Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays.
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
  -> Running build hook: [fglrx]
Building fglrx module for 3.12.3-1-ARCH kernel ...
Failed!!! Check out log: /var/log/catalyst-install.log
- /usr/lib/modules/3.12.2-1-ARCH looks like unused, maybe remove it manualy?
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
( 9/11) upgrading linux-headers                    [######################] 100%
(10/11) upgrading lua                              [######################] 100%
(11/11) upgrading python2-setuptools               [######################] 100%
[dylan@shoparch ~]$ less /var/log/catalyst-install.log

--------
2013-12-08 10:51:04
Building fglrx module for 3.12.3-1-ARCH kernel ...
--------
Kernel header files are absent: directory /usr/lib/modules/3.12.3-1-ARCH/build doesn't exist! Game over

--------
2013-12-08 10:51:12
Building fglrx module for 3.12.3-1-ARCH kernel ...
--------
Kernel header files are absent: directory /usr/lib/modules/3.12.3-1-ARCH/build doesn't exist! Game over



[dylan@shoparch ~]$ sudo mkinitcpio -p linux
[sudo] password for dylan: 
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.12.3-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [mdadm_udev]
Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays.
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
  -> Running build hook: [fglrx]
Building fglrx module for 3.12.3-1-ARCH kernel ...
Ok.
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.12.3-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: smsmdtv
  -> Running build hook: [mdadm_udev]
Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays.
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
  -> Running build hook: [fglrx]
Building fglrx module for 3.12.3-1-ARCH kernel ...
Ok.
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful

Last edited by thenextdon13 (2014-01-01 20:21:37)

Offline

#2 2013-12-08 20:07:14

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

Offline

#3 2013-12-08 21:53:05

clfarron4
Member
From: London, UK
Registered: 2013-06-28
Posts: 2,163
Website

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

@thenextdon13: If you are using the catalyst-hook.service service, then this is not an issue because the service will (most of the time) detect that the kernel module versions don't match the version installed and build them before the machine powers down.

If that doesn't convince you, then you can either run:

mkinitcpio -p linux

or

catalyst_build_module all

Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository

Offline

#4 2013-12-09 00:13:44

thenextdon13
Member
Registered: 2013-01-18
Posts: 58

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

Karol-
That thread doesn't seem to be closed, and the thread it points to doesn't appear to really have a solution either, unless i'm missing something.

clfarron4;

I have this service running, but was concerned by the error message that i wouldn't have gui (and would have to drag out my laptop to do troubleshooting) upon reboot.  Next time I will let it be and make sure the service works correctly

That said, I _did_ fix the distrust (or in this case non-rememberance) by running mkinitcpio -p linux.  Initial post has this detail in it.

[dylan@shoparch ~]$ sudo systemctl status catalyst-hook.service 
[sudo] password for dylan: 
catalyst-hook.service - Catalyst's fglrx kernel' module builder
   Loaded: loaded (/usr/lib/systemd/system/catalyst-hook.service; enabled)
   Active: active (exited) since Sun 2013-12-08 15:50:36 PST; 25min ago
  Process: 269 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 269 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/catalyst-hook.service

Dec 08 15:50:36 shoparch systemd[1]: Started Catalyst's fglrx kernel' module builder.
[dylan@shoparch ~]$ 

Offline

#5 2013-12-09 00:16:09

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

There are no solutions yet. Running 'mkinitcpio -p linux' is good enough for me.

Offline

#6 2013-12-09 14:33:14

clfarron4
Member
From: London, UK
Registered: 2013-06-28
Posts: 2,163
Website

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

I run the latter of the two commands I suggested because I often update two kernels at the same time.

I did ask Allan McCrae on Google+ whether the SyncFirst option would ever be put back into pacman, and the answer was NO. So, we have to do it this way (unless someone comes up with a better way).


Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository

Offline

#7 2013-12-09 23:56:31

tehgeek
Member
Registered: 2013-02-24
Posts: 12

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

I install the headers first, then do pacman -Syu and everything works out fine.  smile

Offline

#8 2013-12-13 21:19:47

lots.0.logs
Member
From: Biloxi, Ms
Registered: 2013-10-14
Posts: 2
Website

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

This issue is not specific to catalyst. It will occur if you have any modules that have to be built with each kernel update (Virtual Box is another example). I do actually consider it a bug. Pacman should always install the headers before the kernel when headers are included in the transaction. It doesn't make much sense to have to run mkinitcpio manually after a kernel upgrade (when it can be easily avoided). I have gotten in the habit of first upgrading the headers and then doing the full system upgrade afterwards Not a solution to the problem, of course, but I digress ;-)

Offline

#9 2013-12-13 21:49:32

teateawhy
Member
From: GER
Registered: 2012-03-05
Posts: 1,138
Website

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

Only to add a different perspective, the 'Pacman Hooks' could be a solution to this problem. Rebuilding of the initramfs with mkinitcpio would be postponed to the end of the transaction, after the linux-headers package was upgraded.
https://wiki.archlinux.org/index.php/Us … cman_Hooks

Offline

#10 2013-12-14 17:10:55

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

teateawhy wrote:

Only to add a different perspective, the 'Pacman Hooks' could be a solution to this problem. Rebuilding of the initramfs with mkinitcpio would be postponed to the end of the transaction, after the linux-headers package was upgraded.
https://wiki.archlinux.org/index.php/Us … cman_Hooks

Uggh. So close, and yet you've missed the point entirely. Once this is implemented, you won't need to abuse mkinitcpio to trigger module builds because it'll be just another post transaction hook...

Last edited by falconindy (2013-12-14 17:11:21)

Offline

#11 2013-12-14 20:31:56

clfarron4
Member
From: London, UK
Registered: 2013-06-28
Posts: 2,163
Website

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

falconindy wrote:
teateawhy wrote:

Only to add a different perspective, the 'Pacman Hooks' could be a solution to this problem. Rebuilding of the initramfs with mkinitcpio would be postponed to the end of the transaction, after the linux-headers package was upgraded.
https://wiki.archlinux.org/index.php/Us … cman_Hooks

Uggh. So close, and yet you've missed the point entirely. Once this is implemented, you won't need to abuse mkinitcpio to trigger module builds because it'll be just another post transaction hook...

Until then, we have the catalyst-hook service.


Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository

Offline

#12 2014-01-01 20:20:51

thenextdon13
Member
Registered: 2013-01-18
Posts: 58

Re: [SOLVED]When pacman is updating linux-headers and linux, catalyst-hook

Thanks, all-
Indeed- even with the 'failed' message, catalyst hook appears to run and compile the module for the new kernel as expected.
The machine boots and the drivers work as expected.

Marking as solved in initial posting.

Offline

Board footer

Powered by FluxBB