fglrx module does not build on 2.6.35-22-generic

Bug #640866 reported by Andrzej Kłapeć on 2010-09-16
30
This bug affects 6 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned

Bug Description

On today's Maverick update, a new kernel appeared. During the depmod stage, fglrx module failed to build. There were no problems on the previous kernels.

Of course, I didn't upgrade to the xorg 7.6 & xorg-server 1.9 (so that I could use fglrx properly).

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: linux-generic 2.6.35.22.23
Regression: Yes
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.35-21.31-generic 2.6.35.4
Uname: Linux 2.6.35-21-generic x86_64
NonfreeKernelModules: fglrx wl
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: andrzej 1374 F.... pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xfc500000 irq 46'
   Mixer name : 'IDT 92HD73C1X5'
   Components : 'HDA:111d7675,102802be,00100103'
   Controls : 16
   Simple ctrls : 10
Card1.Amixer.info:
 Card hw:1 'HDMI'/'HDA ATI HDMI at 0xfc010000 irq 47'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100100'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Fri Sep 17 00:09:07 2010
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Alpha amd64 (20100803.1)
MachineType: Dell Inc. Studio 1555
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.35-21-generic root=UUID=c62b2ed6-29ce-43c5-8ac3-db5127776ffe ro quiet splash video=uvesafb:mode_option=1024x768-24@60,mtrr=3,scroll=ywrap
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.utf8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.38
RfKill:
 0: dell-wifi: Wireless LAN
  Soft blocked: no
  Hard blocked: no
SourcePackage: linux
dmi.bios.date: 03/29/2010
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A11
dmi.board.name: 0J276M
dmi.board.vendor: Dell Inc.
dmi.board.version: A11
dmi.chassis.type: 8
dmi.chassis.vendor: Dell Inc.
dmi.chassis.version: A11
dmi.modalias: dmi:bvnDellInc.:bvrA11:bd03/29/2010:svnDellInc.:pnStudio1555:pvrA11:rvnDellInc.:rn0J276M:rvrA11:cvnDellInc.:ct8:cvrA11:
dmi.product.name: Studio 1555
dmi.product.version: A11
dmi.sys.vendor: Dell Inc.

Andrzej Kłapeć (solidslash) wrote :
Andrzej Kłapeć (solidslash) wrote :

During installation, it's giving me:

(...)
Setting up linux-headers-2.6.35-22-generic (2.6.35-22.32) ...
Examining /etc/kernel/header_postinst.d.
run-parts: executing /etc/kernel/header_postinst.d/dkms 2.6.35-22-generic /boot/vmlinuz-2.6.35-22-generic
 * dkms: running auto installation service for kernel 2.6.35-22-generic
 * bcmwl (5.60.48.36+bdcom)... [ OK ]
 * fglrx (8.762)... [fail]
run-parts: executing /etc/kernel/header_postinst.d/nvidia-common 2.6.35-22-generic /boot/vmlinuz-2.6.35-22-generic
Setting up linux-headers-generic (2.6.35.22.23) ...
andrzej@dell:~$

Andrzej Kłapeć (solidslash) wrote :

Also, /var/lib/dkms/fglrx/8.762/build/make.log :

DKMS make.log for fglrx-8.762 for kernel 2.6.35-22-generic (x86_64)
Fri Sep 17 00:19:05 CEST 2010
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.35-22-generic/build SUBDIRS=/var/lib/dkms/fglrx/8.762/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.35-22-generic'
  CC [M] /var/lib/dkms/fglrx/8.762/build/2.6.x/firegl_public.o
In file included from /var/lib/dkms/fglrx/8.762/build/2.6.x/firegl_public.c:451:
/var/lib/dkms/fglrx/8.762/build/2.6.x/drm_proc.h: In function ‘FGLDRM__vma_info’:
/var/lib/dkms/fglrx/8.762/build/2.6.x/drm_proc.h:497: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 5 has type ‘phys_addr_t’
  CC [M] /var/lib/dkms/fglrx/8.762/build/2.6.x/kcl_acpi.o
  CC [M] /var/lib/dkms/fglrx/8.762/build/2.6.x/kcl_agp.o
  CC [M] /var/lib/dkms/fglrx/8.762/build/2.6.x/kcl_debug.o
  CC [M] /var/lib/dkms/fglrx/8.762/build/2.6.x/kcl_ioctl.o
/var/lib/dkms/fglrx/8.762/build/2.6.x/kcl_ioctl.c: In function ‘KCL_IOCTL_AllocUserSpace32’:
/var/lib/dkms/fglrx/8.762/build/2.6.x/kcl_ioctl.c:196: error: implicit declaration of function ‘compat_alloc_user_space’
/var/lib/dkms/fglrx/8.762/build/2.6.x/kcl_ioctl.c:196: warning: return makes pointer from integer without a cast
make[2]: *** [/var/lib/dkms/fglrx/8.762/build/2.6.x/kcl_ioctl.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/8.762/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-22-generic'
make: *** [kmod_build] Error 2
build failed with return value 2

jtuchscherer (jtuchscherer) wrote :

This happens in Lucid as well. Kernel version: 2.6.32-24-generic, 64bit system. The make.log is nearly identical:

DKMS make.log for fglrx-8.723.1 for kernel 2.6.32-24-generic (x86_64)
Fri Sep 17 23:46:49 MDT 2010
AMD kernel module generator version 2.1
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.GCC* .??* *.symvers
make -C /lib/modules/2.6.32-24-generic/build SUBDIRS=/var/lib/dkms/fglrx/8.723.1/build/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-24-generic'
  CC [M] /var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.o
In file included from /var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:443:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/drm_proc.h: In function ‘FGLDRM__vma_info’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/drm_proc.h:497: warning: format ‘%08lx’ expects type ‘long unsigned int’, but argument 5 has type ‘phys_addr_t’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c: In function ‘KCL_SetPageCache_Array’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.c:1316: warning: passing argument 1 of ‘KCL_ConvertPageToKernelAddress’ makes pointer from integer without a cast
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/firegl_public.h:325: note: expected ‘void *’ but argument is of type ‘long unsigned int’
  CC [M] /var/lib/dkms/fglrx/8.723.1/build/2.6.x/kcl_acpi.o
  CC [M] /var/lib/dkms/fglrx/8.723.1/build/2.6.x/kcl_agp.o
  CC [M] /var/lib/dkms/fglrx/8.723.1/build/2.6.x/kcl_debug.o
  CC [M] /var/lib/dkms/fglrx/8.723.1/build/2.6.x/kcl_ioctl.o
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/kcl_ioctl.c: In function ‘KCL_IOCTL_AllocUserSpace32’:
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/kcl_ioctl.c:196: error: implicit declaration of function ‘compat_alloc_user_space’
/var/lib/dkms/fglrx/8.723.1/build/2.6.x/kcl_ioctl.c:196: warning: return makes pointer from integer without a cast
make[2]: *** [/var/lib/dkms/fglrx/8.723.1/build/2.6.x/kcl_ioctl.o] Error 1
make[1]: *** [_module_/var/lib/dkms/fglrx/8.723.1/build/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-24-generic'
make: *** [kmod_build] Error 2
build failed with return value 2

jtuchscherer (jtuchscherer) wrote :

I had the same problem and managed to fix it:

1. sudo gedit /usr/src/fglrx-8.771/2.6.x/kcl_ioctl.c

Navigate to the end of this file.
Change the line causing the problem
from:
    return compat_alloc_user_space(size);
to:
    return arch_compat_alloc_user_space(size);

2. Run a terminal

cd /usr/src/fglrx-8.771/
sudo ./make.sh

3. Complete the fglrx installation that had failed:

sudo dpkg --configure fglrx

4. Install the remaining packages of fglrx 8.771

cd /var/cache/apt/archives/
dpkg -i fglrx-modaliases_2%3a8.771-0ubuntu0sarvatt~lucid_amd64.deb
dpkg -i fglrx-dev_2%3a8.771-0ubuntu0sarvatt~lucid_amd64.deb
dpkg -i fglrx-amdcccle_2%3a8.771-0ubuntu0sarvatt~lucid_amd64.deb

5. Reboot

Oops. In step 4 I forgot the "sudo" in front of the dpkg commands. You probably figured this out yourself.

Andrzej Kłapeć (solidslash) wrote :

Thanks for the instructions Stefan, I will definitely try it later.

jtuchscherer (jtuchscherer) wrote :

Stefan, that indeed fixed the problem for me as well. I was able to install fglrx. However, there are some indications that the install was not complete. For example, I can't enable Desktop effects (I normally don't use them, but just wanted to check if they are working) and although I successfully ran this line
sudo dpkg -i fglrx-amdcccle_2%3a8.771-0ubuntu0sarvatt~lucid_amd64.deb
I don't have the ati control center available.

Something is still broken.

Stefan,

that did the trick for me 2!

Thanks

If the install is still not complete, you could check the installation status of the fglrx packages: dpkg -l | grep fglrx
Everything should have "ii" in the first column.

If the ati control center does not start from the menu, what error messages occur (if any) when trying to start amdcccle from a terminal window?

rewind (ttanev) wrote :

Special thanks to Stefan Brozinski, the guide in #6 worked for me and some folks around too!

David Girault (dfgweb) wrote :

After step 1 of comment #6, run these commands to rebuild and install (no need to reinstall full debian packets):

sudo dkms build -m fglrx -v 8.771 -k 2.6.32-26-generic -a x86_64
sudo dkms install -m fglrx -v 8.771 -k 2.6.32-26-generic -a x86_64

Remplace versions by the real one.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers