我正在尝试在 ubuntu 上安装 PIL 一个 python 模块
我首先需要使用以下命令安装一个名为 python-imaging 的包
sudo apt-get build-dep python-imaging
Run Code Online (Sandbox Code Playgroud)
当我尝试这样做时,我收到错误
E: You must put some 'source' URIs in your sources.list
Run Code Online (Sandbox Code Playgroud)
我看到了这个问题 whihc 显示了如何通过 GUI 进行修复,但我使用的是命令行。有谁知道我如何解决这个错误..?
更新:根据以下答案,我更新了我的包裹列表,但现在出现此错误。不确定它是否相关,如果不是,我将开始一个新问题,因为我在任何地方都找不到对错误的引用。
E: Build-Depends dependency for python-imaging cannot be satisfied because candidate version of package python-all-dev can't satisfy version requirements
Run Code Online (Sandbox Code Playgroud) linux-source-... 有一个模块在配置 /boot/config-3.4-trunk-686-pae 中被禁用,因此它不是 linux-image-... 的一部分(这是在 Debian 上,但是Ubuntu 的解决方案应该是相同的,或者?),例如
# CONFIG_CAN_PEAK_USB is not set
Run Code Online (Sandbox Code Playgroud)
如何只编译那个内核模块,以便它可以与分布式内核一起使用?
相应的 linux-source-... 包已经安装、解压缩并链接到 /usr/src/linux。/boot/config-3.4-trunk-686-pae 复制到 /usr/src/linux/.config 并修改为
CONFIG_CAN_PEAK_USB=m
Run Code Online (Sandbox Code Playgroud)
和
make
make modules
Run Code Online (Sandbox Code Playgroud)
可以编译内核和所有模块。但是如何只编译那个特定的单个模块呢?
(注:也内核需要之前进行编译,否则你会得到以下错误:no symbol version for module_layout)
我正在尝试为 构建我自己的模块usbhid.ko,但是在我编译之后,我无法加载该模块。dmesg说no symbol version for module_layout。我想知道是什么问题?我已经使用了 Ubuntu 提供的内核源代码,并且我还确保内核版本相同。
我正在使用 Ubuntu 12.04。我写了一个简单的 hello world 内核模块 ( hello.c)。我为它编写了以下makefile:
obj-m+=hello.o
KDIR:= /usr/src/linux-headers-3.2.0-24-generic-pae
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.* *.symvers *.order
Run Code Online (Sandbox Code Playgroud)
但是当我从内核制作时出现了这个错误:
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-24-generic-pae'
make[2]: *** No rule to make target `arch/x86/tools/relocs.c', needed
by `arch/x86/tools/relocs'. Stop.
Run Code Online (Sandbox Code Playgroud)
hello.c并且makefile在/Documents/module_prog. 我make从那个目录跑了。
是什么导致了这个错误,我该如何解决?
我是新发布的问题,但在 askubuntu 论坛上阅读了很多。我对 linux 的了解并不专业,但还不错。我是一个日常用户,使用 xubuntu 运行我的所有计算机。今天我有一个问题/问题,我在论坛或通过万能的谷歌找不到帮助...
我的问题:我正在我的新硬件上设置 Xubuntu 16.04。主板上的电源管理芯片的驱动程序在源代码中不可用,所以我必须自己添加它。名称是 ftsteutates。源代码和 make 文件由富士通-西门子提供。我相信消息来源,并希望避免有关签署模块的政治讨论。
我将所有内容解压缩到一个新文件夹并运行而没有任何错误:
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
Run Code Online (Sandbox Code Playgroud)
之后 ftsteutates.ko 在文件夹中可用,我运行
make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
Run Code Online (Sandbox Code Playgroud)
并收到错误消息:
root@HoSe:~/HomeServer/ftsteutates# make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
make: Entering directory '/usr/src/linux-headers-4.4.0-36-generic'
INSTALL /home/martin/HomeServer/ftsteutates/ftsteutates.ko
At main.c:222:
- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
sign-file: certs/signing_key.pem: No such file or directory
DEPMOD 4.4.0-36-generic
make: Leaving directory '/usr/src/linux-headers-4.4.0-36-generic'
Run Code Online (Sandbox Code Playgroud)
我从消息中得知,make 命令正在尝试对模块进行签名,但找不到signing_key.pem。
我阅读了一些关于签名密钥的内容,发现该标志
CONFIG_MODULE_SIG_ALL=yes
Run Code Online (Sandbox Code Playgroud)
在内核的配置文件中意味着所有模块将在 make …