LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1452|回复: 3

安装ATI proprietary driver for fedora 8,buildpkg失败,那位兄弟给帮帮忙啊!

[复制链接]
发表于 2008-3-16 11:53:58 | 显示全部楼层 |阅读模式
[PHP][root@localhost ~]# sh ./ati-driver-installer-8-3-x86.x86_64.run --buildpkg Fedora/F8
Created directory fglrx-install.ni4821
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.471.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: Fedora/F8
mv: cannot stat `/tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471/usr/X11R6/lib/modules/dri/*': No such file or directory
mv: cannot stat `/tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471/usr/X11R6/lib/*.so.*': No such file or directory
Package build failed!
Package build utility output:
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /tmp/ATI-fglrx-8.471-1-4898-root/tmp/rpm-tmp.94731
+ umask 022
+ cd /tmp/ATI-fglrx-8.471-1-4898-root/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /tmp/ATI-fglrx-8.471-1-4898-root/BUILD
+ cd ATI-fglrx-8.471
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chown -Rhf root .
++ /usr/bin/id -u
+ '[' 0 = 0 ']'
+ /bin/chgrp -Rhf root .
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /tmp/ATI-fglrx-8.471-1-4898-root/tmp/rpm-tmp.94731
+ umask 022
+ cd /tmp/ATI-fglrx-8.471-1-4898-root/BUILD
+ cd ATI-fglrx-8.471
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%install): /bin/sh -e /tmp/ATI-fglrx-8.471-1-4898-root/tmp/rpm-tmp.94731
+ umask 022
+ cd /tmp/ATI-fglrx-8.471-1-4898-root/BUILD
+ cd ATI-fglrx-8.471
+ LANG=C
+ export LANG
+ unset DISPLAY
+ rm -rf /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root
+ '[' -d /etc/ld.so.conf.d ']'
+ mkdir -p /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/etc/ld.so.conf.d
+ pushd /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/etc/ld.so.conf.d
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/etc/ld.so.conf.d /tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471
+ cat
+ popd
/tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471
+ mkdir -p /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/usr/share/applications
+ pushd /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/usr/share/applications
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/usr/share/applications /tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471
+ cat
+ popd
/tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471
+ cp -pR /tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471/etc /tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471/lib /tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471/usr /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root
+ find /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/usr/share/doc -type f -perm 0555 -exec chmod 0644 '{}' ';'
+ find /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root -type f -perm 0555 -exec chmod 0755 '{}' ';'
+ export AS_USER=y
+ AS_USER=y
+ pushd /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod /tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471
+ bash make.sh verbose
ATI module generator V 2.0
==========================
initializing...
make.sh: line 537: [: =: unary operator expected
OsRelease=2.6.24.3-12.fc8
major=2
minor=6
patch=24
extra=.3-12.fc8
SMP=1
smp=-SMP
iii=
AGP=1
CC=gcc
cc_version=
cleaning...
patching 'highmem.h'...
assuming new VMA API since we do have kernel 2.6.x...
Assuming default VMAP API
Assuming default munmap API
doing Makefile based build for kernel 2.6.x and higher
make -C /lib/modules/2.6.24.3-12.fc8/build SUBDIRS=/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/kernels/2.6.24.3-12.fc8-x86_64'
  CC [M]  /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'firegl_put_user_ptr':
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1594: warning: cast from pointer to integer of different size
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function '__ke_unregister_ioctl32_conversion':
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2972: warning: 'return' with a value, in function returning void
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function 'KAS_SlabCache_Initialize':
/tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:5219: warning: cast from pointer to integer of different size
  LD [M]  /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/fglrx.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/fglrx.mod.o
  LD [M]  /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.24.3-12.fc8-x86_64'
build succeeded with return value 0
duplicating results into driver repository...
done.
==============================
You must change your working directory to /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx
and then call ./make_install.sh in order to install the built module.
==============================
+ mkdir -p /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/2.6.24.3-12.fc8/extra
+ install -D -m 0644 fglrx.ko /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/2.6.24.3-12.fc8/extra/fglrx/fglrx.ko
+ rm -rf /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/lib/modules/fglrx
+ popd
/tmp/ATI-fglrx-8.471-1-4898-root/BUILD/ATI-fglrx-8.471
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/brp-python-bytecompile
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: ATI-fglrx-8.471-1.f8
Provides: config(ATI-fglrx) = 8.471-1.f8 fglrx_dri.so()(64bit) fglrx_drv.so()(64bit) glesx.so()(64bit) libGL.so.1()(64bit) libfglrx_dm.so.1.0()(64bit) libfglrx_gamma.so.1()(64bit) libfglrx_pp.so.1.0()(64bit) libfglrx_tvout.so.1()(64bit) libfglrxdrm.so()(64bit)
Requires(interp): /bin/sh /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh /sbin/chkconfig /sbin/ldconfig
Requires(preun): /bin/sh /sbin/chkconfig /sbin/service
Requires(postun): /bin/sh /sbin/ldconfig /sbin/service
Requires: /bin/bash /bin/sh config(ATI-fglrx) = 8.471-1.f8 kernel-module-ATI-fglrx-2.6.24.3-12.fc8 = 8.471-1.f8 libGL.so.1()(64bit) libICE.so.6()(64bit) libSM.so.6()(64bit) libX11.so.6()(64bit) libXcursor.so.1()(64bit) libXext.so.6()(64bit) libXi.so.6()(64bit) libXrandr.so.2()(64bit) libXrender.so.1()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libfglrx_dm.so.1.0()(64bit) libfglrx_gamma.so.1()(64bit) libfglrx_pp.so.1.0()(64bit) libfglrx_tvout.so.1()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit) librt.so.1()(64bit) librt.so.1(GLIBC_2.2.5)(64bit) system-config-display
Conflicts: fglrx fglrx-glc22 fglrx_4_3_0 fglrx_6_8_0 kernel-module-fglrx ati-fglrx ati-fglrx-devel kmod-fglrx xorg-x11-drv-fglrx xorg-x11-drv-fglrx-devel nvidia-glx nvidia-glx-legacy xorg-x11-drv-nvidia xorg-x11-drv-nvidia-legacy
Processing files: ATI-fglrx-control-center-8.471-1.f8
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: ATI-fglrx = 8.471-1.f8 libGL.so.1()(64bit) libICE.so.6()(64bit) libSM.so.6()(64bit) libX11.so.6()(64bit) libXcursor.so.1()(64bit) libXext.so.6()(64bit) libXi.so.6()(64bit) libXrandr.so.2()(64bit) libXrender.so.1()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libpthread.so.0(GLIBC_2.3.2)(64bit)
Processing files: ATI-fglrx-devel-8.471-1.f8
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /usr/include/GL ATI-fglrx = 8.471-1.f8 libGL.so.1()(64bit)
Processing files: ATI-fglrx-IA32-libs-8.471-1.f8
error: File not found by glob: /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/usr/X11R6/lib/modules/dri/*
Processing files: kernel-module-ATI-fglrx-2.6.24.3-12.fc8-8.471-1.f8
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh
Requires(postun): /bin/sh
Checking for unpackaged file(s): /usr/lib/rpm/check-files /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root


RPM build errors:
    File not found by glob: /tmp/ATI-fglrx-8.471-1-4898-root/tmp/ATI-fglrx-8.471-1.f8-root-root/usr/X11R6/lib/modules/dri/*
Removing temporary directory: fglrx-install.ni4821
[/PHP][PHP][root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.24.3-12.fc8 #1 SMP Tue Feb 26 14:21:30 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
[/PHP]
 楼主| 发表于 2008-3-16 14:53:00 | 显示全部楼层
这是由于包中的脚本( for 64 bit )有问题导致的。
我的解决方法是:
步骤一:
  1. sh ./ati-driver-installer-8-3-x86.x86_64.run --extract fglrx_8_3
复制代码

步骤二:修改脚本
  1. gedit fglrx_8_3/packages/Fedora/ati-packager.sh
复制代码
  1. # Merge files from different source directories
  2.   TMP_RPM_BUILD_DIR=${TMP_DRV_FILES_DIR}/BUILD/ATI-fglrx-${drv_version}

  3.   mkdir -p ${TMP_RPM_BUILD_DIR}
  4.   cp -pR ${INSTALLER_ROOT_DIR}/common/* ${TMP_RPM_BUILD_DIR}
  5.   cp -pR ${INSTALLER_ROOT_DIR}/arch/${ARCH_DIR}/* ${TMP_RPM_BUILD_DIR}
  6.   cp -pR ${INSTALLER_ROOT_DIR}/${X11_RELEASE}/* ${TMP_RPM_BUILD_DIR}

  7. [color="Red"]  if [ "${release_arch}" = 'x86_64' ]; then
  8.     cp -pR ${INSTALLER_ROOT_DIR}/arch/x86/usr/X11R6/lib \
  9.            ${TMP_RPM_BUILD_DIR}/usr/X11R6/
  10.     rm -fr ${TMP_RPM_BUILD_DIR}/usr/X11R6/lib/libfglrx_dm.a
  11.     rm -fr ${TMP_RPM_BUILD_DIR}/usr/X11R6/lib/libfglrx_gamma.a
  12.     rm -fr ${TMP_RPM_BUILD_DIR}/usr/X11R6/lib/libfglrx_pp.a
  13.     rm -fr ${TMP_RPM_BUILD_DIR}/usr/X11R6/lib/libfglrx_tvout.a
  14.   fi[/color]

  15.   # Move files as required for X11R7-based distribution releases
  16.   if echo "${X11_RELEASE}"|grep "x7.0" &> /dev/null ; then
  17.     mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/include/X11 \
  18.        ${TMP_RPM_BUILD_DIR}/usr/include
  19.     mkdir -p ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/dri
  20.     mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/dri/* \
  21.        ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/dri
  22.     mkdir -p ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules
  23.     mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/{drivers,linux} \
  24.        ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules
  25.     mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/esut.a \
  26.        ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules
  27.     mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/${ARCH_LIB}/modules/glesx.so \
  28.        ${TMP_RPM_BUILD_DIR}/usr/${ARCH_LIB}/xorg/modules
  29.       ln -fs ../../../../${ARCH_LIB}/dri/fglrx_dri.so
  30.     # Same work around for 32-on-64
  31.     if [ "${release_arch}" = 'x86_64' ]; then
  32.       mkdir -p ${TMP_RPM_BUILD_DIR}/usr/lib/dri
  33.       [color="Red"]#[/color]mv ${TMP_RPM_BUILD_DIR}/usr/X11R6/lib/modules/dri/* \
  34.       [color="Red"]#[/color] ${TMP_RPM_BUILD_DIR}/usr/lib/dri
  35.       ln -fs ../../../../lib/dri/fglrx_dri.so
  36.       popd &> /dev/null
  37.     fi
  38.   fi
复制代码

步骤三:build packages
  1. ./ati-installer.sh 8.471 --buildpkg Fedora/F8
复制代码

步骤四:
  1. rpm -Uvh ATI-fglrx-* kernel-module-ATI-fglrx-2.6.24.3-12.fc8-8.471-1.f8.x86_64.rpm
复制代码

步骤五:reboot and run the command fglrxinfo ,get the following output.
  1. [root@localhost ~]# fglrxinfo
  2. display: :0.0  screen: 0
  3. OpenGL vendor string: ATI Technologies Inc.
  4. OpenGL renderer string: ATI Radeon X1200 Series
  5. OpenGL version string: 1.4 (2.1.7412 Release)

  6. 段错误
复制代码

Now i can run compiz and enjoy it.
But you may also noticed that i got a Segment Fault,and i dont know why.Also i can not run supertux because of lack of 3D capability! Any suggestions?
回复 支持 反对

使用道具 举报

发表于 2008-3-17 08:40:36 | 显示全部楼层
我build成功了,一点问题都没有。
我怀疑lz的问题是内核的与devel包的版本不匹配,
尤其是最后面的i586与i686,也需要是一样的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-17 21:54:04 | 显示全部楼层
段错误的解决方案:
If fglrxinfo or glxinfo returns a Segmentation fault like this:
$ fglrxinfo
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon Xpress Series
OpenGL version string: 1.4 (2.1.7170 Release)

Segmentation fault
Set output of libGL to verbose with
$ export LIBGL_DEBUG=verbose Run fglrxinfo or glxinfo again
libGL: XF86DRIGetClientDriverName: 8.44.3 fglrx (screen 0)
libGL: OpenDriver: trying /usr/lib/dri/fglrx_dri.so
libGL error: dlopen /usr/lib/dri/fglrx_dri.so failed (/usr/lib/dri/fglrx_dri.so: cannot open shared object file: Permission denied)
libGL error: unable to load driver: fglrx_dri.so
display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon Xpress Series
OpenGL version string: 1.4 (2.1.7170 Release)

然后我在我的系统中找到fglrx_dri.so(不一定就是文中提到的目录),做一个软链接就好了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表