使用 checkinstall 代替 sudo cmake?

使用 checkinstall 代替 sudo cmake?

我一直在尝试编译 digikam 并作为编译 jasper 所需过程的一部分。 Jasper 开发人员使用cmake,我想制作一个 .deb 包 - 事实上是试图学习如何制作一个共享包 - 因此尝试这样做(错误如下):

sudo checkinstall -D "sudo cmake --build '/home/username/Downloads/jasper/buildlocal' --target install"

尽管传递给它的命令成功运行,但使用 sudo 运行 Checkinstall 仍返回“未找到”错误(第四行末尾):

Installing with sudo cmake --build '/home/username/Downloads/jasper/buildlocal' --target install...

========================= Installation results ===========================
/var/tmp/tmp.miGWYgiNzT/installscript.sh: 4: sudo cmake --build '/home/username/Downloads/jasper/buildlocal' --target install: not found

****  Installation failed. Aborting package creation.

Cleaning up...OK

Bye.

重复一下,命令

sudo cmake --build '/home/username/Downloads/jasper/buildlocal' --target install

是成功的,但无论sudo checkinstallsudo cmake使用普通的 checkinstall 还是使用 sudo 都不起作用。

如何将 write 调用传递给 checkinstall 以在此处制作包。更多详情所有命令都运行在我的博客上,但我觉得这足以回答这个问题。

答案1

IIRC 您应该使用实际的安装命令作为参数运行 checkinstall,而不是作为单个带引号的参数。所以:

sudo checkinstall -D cmake --build '/home/username/Downloads/jasper/buildlocal' --target install

从联机帮助页来看这不是很清楚,但是自述文件有一些例子:

  • 运行检查安装:

    checkinstall
    

    注意:如果您没有给 checkinstall 提供任何参数,它将运行“make install”。如果您提供参数,第一个非选项参数将用作安装命令。当安装命令不是“make install”而是其他命令(例如“make install_packages”或“setup”或其他命令)时,这很有用,即

    checkinstall make install_packages
    checkinstall make modules_install
    checkinstall install.sh
    checkinstall setup
    checkinstall rpm -i my-package-1.0.i386-1.rpm
    

相关内容