我今天从 13.10 升级到了 Kubuntu 14.04。我发现我的第三方网络摄像头软件包在升级过程中被删除了。我使用的是 linuxtv 驱动程序,所以我按照这一页。
我在终端中执行了以下命令
git clone git://linuxtv.org/media_build.git
cd media_build
./build
以下是执行的输出./build
:
Checking if the needed tools for Ubuntu 14.04 LTS are available
Needed package dependencies are met.
************************************************************
* This script will download the latest tarball and build it*
* Assuming that your kernel is compatible with the latest *
* drivers. If not, you'll need to add some extra backports,*
* ./backports/<kernel> directory. *
* It will also update this tree to be sure that all compat *
* bits are there, to avoid compilation failures *
************************************************************
* All drivers and build system are under GPLv2 License *
* Firmware files are under the license terms found at: *
* http://www.linuxtv.org/downloads/firmware/ *
* Please abort in the next 5 secs if you don't agree with *
* the license *
************************************************************
Not aborted. It means that the licence was agreed. Proceeding...
****************************
Updating the building system
****************************
From git://linuxtv.org/media_build
* branch master -> FETCH_HEAD
Already up-to-date.
make: Entering directory `/tmp/media_build/linux'
wget http://linuxtv.org/downloads/drivers/linux-media-LATEST.tar.bz2.md5 -O linux-media.tar.bz2.md5.tmp
--2014-04-18 07:10:34-- http://linuxtv.org/downloads/drivers/linux-media-LATEST.tar.bz2.md5
Resolving linuxtv.org (linuxtv.org)... 130.149.80.248
Connecting to linuxtv.org (linuxtv.org)|130.149.80.248|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 101 [application/x-bzip2]
Saving to: ‘linux-media.tar.bz2.md5.tmp’
100%[====================================================>] 101 --.-K/s in 0s
2014-04-18 07:10:34 (5.67 MB/s) - ‘linux-media.tar.bz2.md5.tmp’ saved [101/101]
make: Leaving directory `/tmp/media_build/linux'
make: Entering directory `/tmp/media_build/linux'
tar xfj linux-media.tar.bz2
rm -f .patches_applied .linked_dir .git_log.md5
make: Leaving directory `/tmp/media_build/linux'
**********************************************************
* Downloading firmwares from linuxtv.org. *
**********************************************************
dvb-fe-bcm3510-01.fw
dvb-fe-or51132-qam.fw
dvb-fe-or51132-vsb.fw
dvb-fe-or51211.fw
dvb-fe-xc5000-1.6.114.fw
dvb-ttpci-01.fw-261a
dvb-ttpci-01.fw-261b
dvb-ttpci-01.fw-261c
dvb-ttpci-01.fw-261d
dvb-ttpci-01.fw-261f
dvb-ttpci-01.fw-2622
dvb-usb-avertv-a800-02.fw
dvb-usb-bluebird-01.fw
dvb-usb-dib0700-1.20.fw
dvb-usb-dibusb-5.0.0.11.fw
dvb-usb-dibusb-6.0.0.8.fw
dvb-usb-dtt200u-01.fw
dvb-usb-terratec-h5-drxk.fw
dvb-usb-terratec-h7-az6007.fw
dvb-usb-terratec-h7-drxk.fw
dvb-usb-umt-010-02.fw
dvb-usb-vp702x-01.fw
dvb-usb-vp7045-01.fw
dvb-usb-wt220u-01.fw
dvb-usb-wt220u-02.fw
v4l-cx231xx-avcore-01.fw
v4l-cx23418-apu.fw
v4l-cx23418-cpu.fw
v4l-cx23418-dig.fw
v4l-cx23885-avcore-01.fw
v4l-cx23885-enc.fw
v4l-cx25840.fw
******************
* Start building *
******************
make -C /tmp/media_build/v4l allyesconfig
make[1]: Entering directory `/tmp/media_build/v4l'
make[2]: Entering directory `/tmp/media_build/linux'
Applying patches for kernel 3.13.0-24-generic
patch -s -f -N -p1 -i ../backports/api_version.patch
patch -s -f -N -p1 -i ../backports/pr_fmt.patch
The text leading up to this was:
--------------------------
|diff --git a/drivers/media/usb/gspca/dtcs033.c b/drivers/media/usb/gspca/dtcs033.c
|index 5e42c71..ba01a3e 100644
|--- a/drivers/media/usb/gspca/dtcs033.c
|+++ b/drivers/media/usb/gspca/dtcs033.c
--------------------------
No file to patch. Skipping patch.
1 out of 1 hunk ignored
make[2]: *** [apply_patches] Error 1
make[2]: Leaving directory `/tmp/media_build/linux'
make[1]: *** [allyesconfig] Error 2
make[1]: Leaving directory `/tmp/media_build/v4l'
make: *** [allyesconfig] Error 2
can't select all drivers at ./build line 490.
我真的不知道从这一点开始该怎么做。如果有人有解决这个问题的方法,请告诉我。
答案1
我设法让构建继续进行。到目前为止,它似乎编译得很好……祝你好运……
这是我所做的:我打开backports/pr_fmt.patch
,删除后面的所有内容diff --git a/drivers/media/usb/gspca/dtcs033.c
,然后再次运行build
。
patch -p1 <<EOF
diff --git a/backports/pr_fmt.patch b/backports/pr_fmt.patch
index d13d516..edc698f 100644
--- a/backports/pr_fmt.patch
+++ b/backports/pr_fmt.patch
@@ -1174,15 +1174,3 @@ index a99040b..8ff1ed7 100644
#define pr_fmt(fmt) KBUILD_MODNAME ":%s: " fmt, __func__
#include <linux/module.h>
-diff --git a/drivers/media/usb/gspca/dtcs033.c b/drivers/media/usb/gspca/dtcs033.c
-index 5e42c71..ba01a3e 100644
---- a/drivers/media/usb/gspca/dtcs033.c
-+++ b/drivers/media/usb/gspca/dtcs033.c
-@@ -14,6 +14,7 @@
- * GNU General Public License for more details.
- */
-
-+#undef pr_fmt
- #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
- #define MODULE_NAME "dtcs033"
- #include "gspca.h"
EOF