`make install` 显然由于拼写错误而失败,但不是在 makefile 中:如何查找和修复?

`make install` 显然由于拼写错误而失败,但不是在 makefile 中:如何查找和修复?

我正在尝试安装富士通 USB 触摸屏来自的司机这里,在我的新富士通 LifeBook P1630 上的 Kubuntu 12.04 上。(参见P1630 上的 kubuntu 13.04(64 位)上的 fujitsu-usb-touchscreen:“make”错误。)我下载了 .zip 文件,解压后make在创建的目录中运行;一切如预期。但是,当我运行sudo checkinstall(调用make install)时,事情就不那么顺利了。第一次尝试时,安装中止并出现以下错误:

make: execvp: /etc/init.d/fujitsu_touchscreen: Permission denied
make: *** [install] Error 127

我最终通过以下方式解决了这个问题

$ sudo chmod +x /etc/init.d/fujitsu_touchscreen

但是,尽管一秒钟sudo checkinstall没有出现execvp错误,但它仍然在稍后阶段失败,并且日志(在标准输出上)显示此dpkg错误:

dpkg: error processing /home/archelon/fujitsu-touchscreen-driver/cybergene-fujitsu-usb-touchscreen-112fdb75b406/cybergene-fujitsu-usb-touchscreen-112fdb75b406_amd64.deb (--install):
 unable to create `/sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy.dpkg-new' (while processing `/sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy'): No such file or directory

确实没有/sys/module/fujitsu/usb/touchscreen/parameters/touch_maxy;但是有 ,/sys/module/fujitsu_usb_touchscreen/parameters/touch_maxy这大概就是预期的。但是这个错误的文件名没有出现在 makefile 或目录中的任何其他文件中,至少我找不到。它也没有出现sudo checkinstall --install=no在 checkinstall 创建的 .deb 包中,正如我在按照下面的建议运行后发现的那样。

这样的印刷错误可能源自何处?我该如何修复它?

编辑后添加:ark我正在使用Kubuntu 的默认工具查看 .deb 文件的内容。它仅包含三个文件: control.tar.gzdata.tar.gzdebian-binarydata.tar.gz包含与通常的根文件系统相匹配的目录树,包括 /etc、/lib、/sys 和 /usr 目录。(查看我系统上的其他 .deb 文件,此结构似乎很典型。)以下是屏幕截图:
带有 data.tar.gz 内容的 Ark 窗口
全尺寸

下面是另一个屏幕截图,显示其中control.tar.gz包含三个文件,其中一个是空的:
Ark 窗口显示了 cybergene-fujitsu-usb-touchscreen_112fdb75b406-1_amd64.deb 的其余部分
全尺寸

这是实际的 .deb 文件:https://www.dropbox.com/s/odwxxez0fhyvg7a/cybergene-fujitsu-usb-touchscreen_112fdb75b406-1_amd64.deb

编辑于 2013-09-28,添加:

重新安装 Kubuntu 12.04 后,这次重新创建 /home 分区(再次,该分区是在安装 13.04 时生成的),我再也无法重现此错误。我仍然很好奇下划线是如何变成斜线的,但似乎没人知道。也许还值得一提的是,虽然我还没有成功运行checkinstall这个包,但我已经运行过了make install;它需要可执行性/etc/init.d/fujitsu_touchscreen和安装hal,并且 GUI 在安装完成后不久就冻结了,之后我没有注意到任何特别的新功能,系统无法再从暂停状态恢复;但是,这将在其他地方进行。

答案1

checkinstall 有一个已知问题,它会生成文件系统错误,如您上面所演示的。在我自己使用 checkinstall 时,我经常在命令行中使用以下选项来绕过可能的错误:

sudo checkinstall --fstrans=no

手册页给出了以下内容:

--fstrans
启用/禁用文件系统转换。启用文件系统转换会导致安装在临时目录中进行,因此实际上不会影响您的系统。

这不是一个令人满意的解决方案,但是直到错误被修复之前它似乎是必需的......

相关内容