Ubuntu

fglrx 2:8.960-0ubuntu1: fglrx kernel module failed to build

Reported by Jurjen Stellingwerff on 2012-05-12
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
fglrx-installer (Ubuntu)
Undecided
Unassigned

Bug Description

after upgrading /var/lib/dkms/fglrx/8.960/build/make.log contains:

DKMS make.log for fglrx-8.960 for kernel 3.4.0-1-generic-pae (i686)
za mei 12 18:48:05 CEST 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-1-generic-pae/build SUBDIRS=/var/lib/dkms/fglrx/8.960/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-3.4.0-1-generic-pae'
  CC [M] /var/lib/dkms/fglrx/8.960/build/2.6.x/firegl_public.o
/var/lib/dkms/fglrx/8.960/build/2.6.x/firegl_public.c: In function ‘kasInitExecutionLevels’:
/var/lib/dkms/fglrx/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/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/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/8.960/build/2.6.x/firegl_public.c: In function ‘KCL_fpu_begin’:
/var/lib/dkms/fglrx/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/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/8.960/build/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/8.960/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.4.0-1-generic-pae'
make: *** [kmod_build] Error 2
build failed with return value 2

ProblemType: Package
DistroRelease: Ubuntu 12.10
Package: fglrx 2:8.960-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-24.38-generic-pae 3.2.16
Uname: Linux 3.2.0-24-generic-pae i686
NonfreeKernelModules: fglrx
.tmp.unity.support.test.0:

ApportVersion: 2.0.1-0ubuntu7
Architecture: i386
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
DKMSKernelVersion: 3.4.0-1-generic-pae
Date: Sat May 12 18:42:11 2012
DistUpgraded: 2011-12-14 02:04:45,752 DEBUG enabling apt cron job
DistroCodename: quantal
DistroVariant: ubuntu
GraphicsCard:
 Advanced Micro Devices [AMD] nee ATI Redwood [Radeon HD 5670] [1002:68d8] (prog-if 00 [VGA controller])
   Subsystem: XFX Pine Group Inc. Device [1682:3060]
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
JockeyStatus:
 xorg:fglrx_updates - ATI/AMD proprietary FGLRX graphics driver (post-release updates) (Proprietary, Disabled, Not in use)
 xorg:fglrx - ATI/AMD proprietary FGLRX graphics driver (Proprietary, Enabled, In use)
MachineType: System manufacturer System Product Name
PackageVersion: 2:8.960-0ubuntu1
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-24-generic-pae root=UUID=4d957f8c-49c2-4cb6-bb0b-7f68c6b8d5b3 ro quiet splash nomodeset video=uvesafb:mode_option=1920x1440-24,mtrr=3,scroll=ywrap vt.handoff=7
SourcePackage: fglrx-installer
Title: fglrx 2:8.960-0ubuntu1: fglrx kernel module failed to build
UpgradeStatus: Upgraded to quantal on 2011-12-14 (150 days ago)
dmi.bios.date: 08/04/2009
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0602
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: P5Q PRO TURBO
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0602:bd08/04/2009:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnP5QPROTURBO:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer
version.compiz: compiz 1:0.9.7.8-0ubuntu1
version.fglrx-installer: fglrx-installer N/A
version.libdrm2: libdrm2 2.4.32-1ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.2-0ubuntu3
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.2-0ubuntu3
version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu11
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu4
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20111201+b5534a1-1build2

tags: removed: need-duplicate-check

The following patch made it compile again:
source-url http://phoronix.com/forums/showthread.php?68922-Patch-to-compile-fgrlx-module-on-Linux-3-3-rc4-with-x86-32-bit-arch/page2

diff --git a/firegl_public.c b/firegl_public.c
index a56fff1..b4bdfb7 100644
--- a/firegl_public.c
+++ b/firegl_public.c
@@ -187,6 +187,9 @@
 #include <linux/gfp.h>
 #include <linux/swap.h>
 #include "asm/i387.h"
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+#include <asm/fpu-internal.h>
+#endif

 #include "firegl_public.h"
 #include "kcl_osconfig.h"
@@ -4181,7 +4184,11 @@ static int kasInitExecutionLevels(unsigned long level_init)
 {
     unsigned int p;
     KCL_DEBUG5(FN_FIREGL_KAS, "%d\n", level_init);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+ for_each_cpu_mask(p, cpu_possible_mask)
+#else
     for_each_cpu_mask(p, cpu_possible_map)
+#endif
     {
         KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level for CPU # %d\n", p);
         preempt_disable();
@@ -5799,10 +5806,16 @@ void ATI_API_CALL KCL_fpu_begin(void)
 #ifdef CONFIG_X86_64
     kernel_fpu_begin();
 #else
+#ifndef TS_USEDFPU
+ preempt_disable();
+ if (__thread_has_fpu(current))
+ __save_init_fpu(current);
+#else
     struct thread_info *cur_task = current_thread_info();
     preempt_disable();
     if (cur_task->status & TS_USEDFPU)
         __save_init_fpu(cur_task->task);
+#endif
     else
         clts();
 #endif

./amd-driver-installer-12-4-x86.x86_64.run --extract driver
cd common/lib/modules/fglrx/build_mod
patch -p1 < ~/Downloads/doit.patch
cd ../../../..
sudo ./ati-installer.sh 8.961 --install --force

Sorry the previous patch did make it install but not work on my system.

To post a comment you must log in.