Ubuntu 12.04 fail to upgrade to kernel 3.4

Last night i intended to upgrade my kernel from 3.2 0-24 to 3.4... I followed the instruction on this Can I install Linux kernel in Ubuntu appart of the default one?.

First i downloaded the kernel deb files on this http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.4-precise/

Then run the first command on terminal

sudo dpkg -i linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb

and likely it successful, this is the output :

(Reading database ... 402527 files and directories currently installed.)
Preparing to replace linux-headers-3.4.0-030400 3.4.0-030400.201205210521 (using linux-headers-3.4.0-030400_3.4.0-030400.201205210521_all.deb) ...
Unpacking replacement linux-headers-3.4.0-030400 ...
Setting up linux-headers-3.4.0-030400 (3.4.0-030400.201205210521) ...

So then i run the second command

sudo dpkg -i linux-headers-3.4.0-030400-generic-pae_3.4.0-030400.201205210521_i386.deb

and the output is here :

(Reading database ... 402527 files and directories currently installed.)
Preparing to replace linux-headers-3.4.0-030400-generic-pae 3.4.0-030400.201205210521 (using linux-headers-3.4.0-030400-generic-pae_3.4.0-030400.201205210521_i386.deb) ...
Unpacking replacement linux-headers-3.4.0-030400-generic-pae ...
Setting up linux-headers-3.4.0-030400-generic-pae (3.4.0-030400.201205210521) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.4.0-030400-generic-pae /boot/vmlinuz-3.4.0-030400-generic-pae
ERROR (dkms apport): kernel package linux-headers-3.4.0-030400-generic-pae is not supported
Error! Bad return status for module build on kernel: 3.4.0-030400-generic-pae (i686)
Consult /var/lib/dkms/fglrx-updates/8.960/build/make.log for more information.

Seeing errors on that output i stoped proceeding... I already search on Mr.Google, this site, ubuntu forums and any blogs that related to this problem but i haven't found any solution... The only clue is maybe my ati fglrx driver can not work with kernel 3.4

I still intend to upgrade kernel to 3.4 version because i feel my laptop is still heating with kernel 3.2 even after do some workaround by using laptop-mode-tools, jupiter, adding kernel boot option acpi_osi=Linux, and etc., on windows 7 OS my laptop had running much cooler..

Is there some one could suggest solution for my problem? How to solve this problem correctly?

For your information, this is my laptop spesification:

  • ASUS A42JK with Intel® Core™ i3 CPU M 350 @ 2.27GHz × 4
  • 2GB memory
  • ATI Mobility Radeon HD 5145

and the installed fglrx driver version if i run fglrxinfo

display: :0.0  screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: ATI Mobility Radeon HD 4500 Series
OpenGL version string: 3.3.11627 Compatibility Profile Context

also, this is the content of /var/lib/dkms/fglrx-updates/8.960/build/make.log :

DKMS make.log for fglrx-updates-8.960 for kernel 3.4.0-030400-generic-pae (i686)
Kam Jun  7 17:04:31 WIT 2012
/usr/sbin/dkms: line 73: cd: /var/lib/dkms/fglrx/8.960/build: No such file or directory
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.4.0-030400-generic-pae/build SUBDIRS=/var/lib/dkms/fglrx-updates/8.960/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-3.4.0-030400-generic-pae'
  CC [M]  /var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.o
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c: In function ‘kasInitExecutionLevels’:
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:4184:5: error: ‘cpu_possible_map’ undeclared (first use in this function)
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:4184:5: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:4184:5: warning: left-hand operand of comma expression has no effect [-Wunused-value]
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:5839:5: error: implicit declaration of function ‘__thread_has_fpu’ [-Werror=implicit-function-declaration]
/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.c:5840:9: error: implicit declaration of function ‘__save_init_fpu’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [/var/lib/dkms/fglrx-updates/8.960/build/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx-updates/8.960/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.4.0-030400-generic-pae'
make: *** [kmod_build] Error 2
build failed with return value 2

Thanks =D

UPDATE

@John S Gruber: Hi John, last night i tried your suggestion, i removed the fglrx driver first and then successfully upgraded to 3.4, but then came another problem with my ati graphic card.. Before reboot i try install the free open source driver from repo using jockey gtk, first i try install the post-release update but failed, then i try the second one and it seems success and there are no error, so then i reboot.. After reboot the plymouth not appeared, and after loged in my desktop changed to unity 2D, so i check the fglrx

fglrxinfo
X Error of failed request:  BadRequest (invalid request code or no such operation)
Major opcode of failed request:  138 (ATIFGLEXTENSION)
Minor opcode of failed request:  66 ()
Serial number of failed request:  13
Current serial number in output stream:  13

so it seems my ati driver not installed properly, and my laptop became so hot like 70 celcius degree and keep going hotter... Then i try to install ATI driver from AMD website, but failed and ended up just like when i try install the 3.4 kernel, the kernel not working with binary driver. Then i remove the fglrx using guide from here http://wiki.cchtml.com/index.php/Ubuntu_Oneiric_Installation_Guide#Removing_Catalyst.2Ffglrx and run these command

sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
sudo apt-get remove --purge xserver-xorg-video-ati xserver-xorg-video-radeon
sudo apt-get install xserver-xorg-video-ati
sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
sudo rm -rf /etc/ati

reboot and my 3D got worked again without fglrx driver just using mesa driver but my laptop keep heating up... I searched on google and arrived on this link http://ubuntuforums.org/showthread.php?t=1988444 that said there is a patch that can make fglrx work on kernel 3.4, and i try the solutions but once again the kernel still refused to install the fglrx driver even using patch from this link http://ati.cchtml.com/attachment.cgi?id=464 Again i tried to install the driver several times with several purges and several reboots still the same, always appear this error on /var/lib/dkms/fglrx/8.961/build/make.log

DKMS make.log for fglrx-8.961 for kernel 3.4.0-030400-generic-pae (i686)
Sab Jun 16 07:21:16 WIT 2012
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.4.0-030400-generic-pae/build SUBDIRS=/var/lib/dkms/fglrx/8.961/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-3.4.0-030400-generic-pae'
  CC [M]  /var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.o
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c: In function ‘kasInitExecutionLevels’:
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:4157:5: error: ‘cpu_possible_map’ undeclared (first use in this function)
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:4157:5: note: each undeclared identifier is reported only once for each function it appears in
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:4157:5: warning: left-hand operand of comma expression has no effect [-Wunused-value]
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:5812:5: error: implicit declaration of function ‘__thread_has_fpu’ [-Werror=implicit-function-declaration]
/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.c:5813:9: error: implicit declaration of function ‘__save_init_fpu’ [-Werror=implicit-function-declaration]
cc1: some warnings being treated as errors
make[2]: *** [/var/lib/dkms/fglrx/8.961/build/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/8.961/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.4.0-030400-generic-pae'
make: *** [kmod_build] Error 2
build failed with return value 2

After that long night and got no solutions i switched back to kernel 3.2... Is there no one can give me solution for kernel 3.4?? Sorry for the inconvenient on the link with *, i limited to post only 2 hyperlink.. Thanks for the concern, i appreciate it..


It appears to me that it is fglrx, the proprietary ATI binary driver, that isn't compatible with the 3.4 kernel. dkms is trying to process the headers for interfacing with it. I assume its trying to compile an interface module.

This makes a certain amount of sense since Ubuntu gets new vendor drivers sometime in the development cycle for new releases and 3.4 isn't in a production Ubuntu release. I believe the Ubuntu kernel team's website mentions that binary only drivers might not be compatible with these packages.

Since you are experimenting I'd suggest that you remove the fglrx driver and use the default radeon one in your current system, and then try the updgrade again. Without fglrx installed there shouldn't be a dkms hook to rebuild anything fglrx related.

After you get it going you might look to the quantal archives for a more up to date fglrx package that would be compatible with the 3.4 kernel. Then you will really be on the cutting edge (or really out on a limb).

You might also see Nvidia drivers don't work with mainline kernel for what someone using an nvidia proprietary driver did.

If it's any encouragement I was able to upgrade to 3.5 for a while in the last week, but I don't run fglrx. I did have to reinstall a libllvm package to keep unity-3d working and never found out why.


As far as I know, AMD recently released catalyst driver version 12.6(3-4 days ago), that is compatible to 3.4 kernel. So I suggest you to try uninstall your current "fglrx" driver, upgrade your kernel and then install the latest kernel. Please post your findings, as I am also looking for the solution to over-heating. Heard that kernel 3.4 has some automatic cpu scaling capabilities