注释
要编译到 /usr/local,您可以使用 但它的缺点是很难卸载。您可能更喜欢构建一个 debian 包(.deb 文件),然后以通常的方式安装它。 |
谢谢回复。如果真的那么简单,我就不会写了。
我从源代码编译了一些软件,但我从未遇到过这个词 PS 请原谅我的英语 |
与此同时,我简要介绍了分阶段安装 ( http://buildsystem-manual.sourceforge.net/Staged-Installs.html )。我认为这是一件非常好的事情,但是 GitHub 上的 linuxcnc 构建系统出了点问题(如果不是故意的话)。我想要一个 DESTDIR=$HOME/inst 以供参考。也许我可以自己解决问题,但我宁愿磨坊。 |
2020 年 3 月 7 日 18:45,WasIstDasDingDa ***@***.***> 写道: 感谢您的回复。如果真的那么简单,我就不会写了。
只是一个猜测,但也许您需要 sudo 来构建到 /usr?我可能比你对构建系统更困惑
![]() |
谢谢,我不认为 sudo make 会有帮助,我还是要试试。你在建造的时候不会走出你的房子:-) 回头见 |
我已经怀疑 LinuxCNC 构建系统的行为遵循主要开发人员的决定。基本上有两个选项,RIP 环境或通过 /usr 中的 Debian 软件包进行常规安装。严格来说,甚至有两个部分独立的构建系统。我研究了在虚拟机中构建 Debian 10.3 下的包的过程。对于构建,我按照http://linuxcnc.org/docs/devel/html/code/building-linuxcnc.html中的说明进行操作,并获得了 6 个 Debian 文件,可以使用 gdebi 安装而不会出现错误。LinuxCNC 运行,只是延迟如预期的那样糟糕。 |
问题比 PREFIX 更广泛。在非 debian 发行版上构建几乎是不可能的,因为到处都是硬编码路径、奇怪的安装位置以及缺乏文档(依赖项等)我花了 2 天的时间才能够在 gentoo 上启动一些示例配置. |
我已经在 Slackware 上安装并构建了 Linuxcnc,并且在构建 LFS 和 BLFS 系统时。我承认这是很久以前的事了,但我不记得在构建过程中有什么严重的问题。除了追逐和构建任何一个系统中可能丢失的库。 |
@WasIstDasDingDaWasIstDasDingDa 我不会将安装 Slackware 称为构建合适的操作系统。 |
ozzyrob,请原谅并冷静下来。顺便说一句,Slackware 是我 1993 年的第一个 Linux。我已经在专用计算机上安装了 Debian,而且我知道如何安装。以前有 LFS 为什么要推荐预建镜像?也许其他人会来告诉我使用 Windows 和 MACH。我知道 LinuxCNC 非常特别,要能够在所有发行版上使用它,需要 LinuxCNC 的开发人员以及发行版的维护人员付出很大的努力。而机控也不是主流。 |
嗯,有人说 Slackware |
我因背部弯曲而休假了 3 个月……没什么可做的,这只是一种心理锻炼,我想我仍然拥有我使用过的所有构建脚本。 |
我已经检查并同意 –prefix 似乎不起作用(它曾经起作用)。即使您也有 –prefix 和 –exec-prefix。 貌似2009年系统改成默认就地运行了 您认为我们可以解决这个问题,还是需要修复? |
感谢您走过历史。正如配置脚本的输出和一些用户评论所暗示的那样,我猜测它一定在某个时候起作用了。 对于作为单个用户的我来说,问题已解决,因为我切换到 Debian,这是进行完整安装的唯一方法(除了 Debian 衍生产品)。 然而,一个基本的问题是,任何 Linux 的自由软件都应该能够在任何 Linux 平台上构建,而不管包系统和其他细节。而目前的 LinuxCNC 构建系统无法实现此要求。依赖关系的实现完全由用户负责,但作者/开发者/维护者应该详细记录依赖关系。 所以做你认为对的事。 |
实际上,回到 Slackware,用户确实必须寻找所需的库,有时开发人员会提供需求,有时您必须经历几次配置过程。 |
@ozzyrob, 我同意你的看法。如果我有更多的时间、知识(和愿望),我会制作一个 LinuxCNC 的分支。但只是为了简化向其他 Linux 发行版的“移植”。我将从 OpenSUSE 开始,我会邀请您参与有关 Slackware 的部分。对于 Gentoo,线程中已经有一位知识渊博的用户 (Perlovka)。这项工作本质上是逆向工程和令人费解的。您不必是出色的 C 程序员,但您应该熟悉 Shell 编程、GNU 构建系统以及最好是不同的包系统。 |
@andypugh谢谢,您终于完成了可以完成的工作,也在 NTLINUX/RTAI 的线程中。我对结果完全满意。我正在使用最新的 RTAI 内核的最新操作系统上运行最新的 LinuxCNC。其他一切都属于“拥有就不错”的范畴。您可以关闭问题。 |
感谢 LinuxCNC 的开发。我在 OpenSUSE Leap 15.1 上构建了该软件,并了解了配置、制作和运行时缺少的依赖项。大多数要求可以通过分发包来满足。
只剩下一个小问题。与其他有关 ${PREFIX} 和 make install 的 Linux 软件相比,构建系统的行为有些不同寻常。
这当然不是真正的错误,它显然是 Debian 发行版的一个特性。
如何安装到例如 /usr/local?在解决方案之前,我必须在构建树的位置(在§HOME)运行 LinuxCNC,从长远来看,这有几个缺点。
linuxcnc_info.txt文件