我正在尝试更新我的 Linux 的 AMD VGA 驱动程序以使用 AMD 专有的 Catalyst 驱动程序,据我了解,与通用的 Linux / Mesa X11 驱动程序相比,该驱动程序更受推荐http://www.cgl.ucsf.edu/chimera/graphics/updatelinux.html。我的笔记本电脑仍然使用旧的 Core2 P8700 处理器和 ATI Mobility Radeon 3670 VGA。我从 AMD 支持网站下载了 Catalyst 驱动程序,将其解压缩并运行其安装脚本。但它失败了,阅读安装日志后,它说它Can't exec "gcc..."
。
所以我尝试了一下$ gcc
,它抱怨
The program 'gcc' is currently not installed. You can install it by typing: sudo apt install gcc
我这样做了$ sudo apt search gcc
,它输出了太多行,我甚至无法再向上滚动来查看所有结果。
因此我启动了 Synaptics 并尝试首先在那里搜索“gcc”并尝试查看。
通过 Synaptics 的“gcc”搜索,我发现我已经安装了 cpp、cpp-5、dpkg-dev、gcc-5-base、gcc-6-base、libgcc1、libgomp1、libquadmath0 和 uno-libs3。所以它似乎已经安装了 gcc-5-base 和 gcc-6-base 以及许多 gcc 库,对吗?
那么我这里遗漏了什么?为什么我仍然无法$ gcc
在 shell 上执行?
那么 'gcc-5&6-base' 到底是干什么用的?我还没有安装 'gcc' 吗?还是我应该安装 'gcc-4.7' 或 'gcc-4.8'?
抱歉,我仍在学习 Linux(主要还是使用 Debian Linux)。我更经常使用 Windows,因为我的笔记本电脑在 Windows 7 下运行 CPU 和 GPU 时温度仍然较低。(在 Linux 上运行 lm-sensors,在 Windows 上运行 openhardwaremonitor)。所以我现在正在尝试 AMD 的驱动程序,(希望)尝试降低我的 Linux 的温度。
------更新 N0rbert 的评论:(我按照您的要求运行了此评论)
[email protected]:~$ apt-cache policy gcc
gcc:
Installed: (none)
Candidate: 4:5.3.1-1ubuntu1
Version table:
4:5.3.1-1ubuntu1 500
500 http://ph.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
$ sudo apt install build-essential
------我运行并运行安装脚本后更新:
仍然失败,这是部分日志输出:
Package build failed!
Package build utility output:
Cleaning in directory .
dpkg-checkbuilddeps: error: Unmet build dependencies: build-essential:native debhelper (>= 7) dh-modaliases execstack
debuild: fatal error at line 1340:
You do not appear to have all build dependencies properly met.
You can use mk-build-deps to generate a dummy package which
Depends on all the required packages, or you can install them manually using dpkg or apt using the error messages just above this message.
dpkg-buildpackage: source package fglrx-installer
dpkg-buildpackage: source version 2:8.970-0ubuntu1
dpkg-buildpackage: source distribution xenial
dpkg-buildpackage: source changed by AMD: Advanced Micro Devices. <http://ati.amd.com/support/driver.html>
dpkg-source --before-build fglrx.Skr0IX
dpkg-buildpackage: host architecture amd64
debian/rules build
------更新:我用 解决了上述依赖问题。我成功运行了安装脚本,日志显示它已成功为我的操作系统生成了 .deb 包。但在执行或在 文件夹中$ sudo apt install debhelper dh-modaliases execstack
执行后,我在生成的文件夹中找不到任何包。这是生成的:la
ll
$ cat /usr/share/ati/fglrx-install.log
Package /home/user/Downloads/dpkg-deb: has been successfully generated
Package /home/user/Downloads/building has been successfully generated
Package /home/user/Downloads/package has been successfully generated
Package /home/user/Downloads/'fglrx' has been successfully generated
Package /home/user/Downloads/in has been successfully generated
Package /home/user/Downloads/fglrx_8.970-0ubuntu1_amd64.deb'. has been successfully generated
Package /home/user/Downloads/dpkg-deb: has been successfully generated
Package /home/user/Downloads/building has been successfully generated
Package /home/user/Downloads/package has been successfully generated
Package /home/user/Downloads/'fglrx-dev' has been successfully generated
Package /home/user/Downloads/in has been successfully generated
Package /home/user/Downloads/fglrx-dev_8.970-0ubuntu1_amd64.deb'. has been successfully generated
Package /home/user/Downloads/dpkg-deb: has been successfully generated
Package /home/user/Downloads/building has been successfully generated
Package /home/user/Downloads/package has been successfully generated
Package /home/user/Downloads/'fglrx-amdcccle' has been successfully generated
Package /home/user/Downloads/in has been successfully generated
Package /home/user/Downloads/fglrx-amdcccle_8.970-0ubuntu1_amd64.deb'. has been successfully generated
但我在文件夹中看不到任何生成的 .deb 包~/Downloads
?知道原因吗?我做错了什么还是不确定旧版 AMD 脚本是否有错误?
答案1
解决当前问题的简单答案是运行
sudo apt-get update; sudo apt-get install gcc
sudo apt-get upgrade
如果您担心不需要升级旧软件包,您可能还想运行。
看来您真正想要的是找出为什么您拥有诸如 gcc-5-base 之类的组件。
确实没有办法明确说明为什么您只安装了部分 gcc 软件包,而不是全部。它之所以被安装,可能是因为它是其他软件包的依赖项。它可能之前作为 gcc 的一部分安装,但后来 gcc 本身被卸载,它就被遗弃了。等等。
答案2
这个问题的理论解决方案如下 - 安装构建工具和依赖项以及内核头文件,然后使用
sudo apt-get install gcc build-essential
sudo apt-get install debhelper dh-modaliases execstack
sudo apt-get install linux-headers-generic
然后重新编译驱动程序并安装其软件包
sudo sh amd-driver-installer-catalyst-13.1-legacy-linux-x86.x86_64.run --buildandinstallpkg Ubuntu/xenial
sudo apt-get install /tmp/fglrx*.deb
但实际上它在 DKMS 阶段失败了。所以这是不可能的。
如果你运行的是 Ubuntu 16.04 LTS,则其发行说明:
韓國
fglrx 驱动程序现已在 16.04 中弃用,我们推荐其开源替代方案(radeon 和 amdgpu)。AMD 在驱动程序方面投入了大量精力,我们从 Linux 4.5 反向移植了内核代码,以提供更好的体验。
从以前的版本升级到 Ubuntu 16.04 时,fglrx 驱动程序和 xorg.conf 都将被删除,以便系统设置为使用 amdgpu 驱动程序或 radeon 驱动程序(取决于可用的硬件)。
更多信息请访问 https://tjaalton.wordpress.com/2016/03/11/no-catalystfglrx-video-driver-in-ubuntu-16-04/
因此,构建依赖项的安装不会以预期的结果结束。
这AMD 网站相应页面表示该驱动程序于 2013 年发布,并且它是“Xorg 6.9 到 Xserver 1.12 和内核版本高达 3.4 的自动安装程序和显示驱动程序”,因此它不适合带有 Xorg 7.7(Xserver 1.18)和内核 4.4 及更高版本的 Ubuntu 16.04 LTS。
所以它实际上无法编译。你可以改用开源驱动程序。