注释
|
在 2.7.5 版本中也转载了。分发 ALT Linux。提示,拜托,可能是什么问题? |
|
整洁,RPM,这是新的。 我们经常在 32 位 x86 上为 uspace 构建 2.7,我从未见过这个问题。我的猜测是,这是由于我们的常规构建环境与您正在使用的 RPM 构建环境存在一些差异造成的。 您使用的是哪个版本的 GCC? 您的构建系统运行什么命令来完成所有这些工作?至少配置步骤看起来与我们的常规构建完全不同(此处描述:http: //linuxcnc.org/docs/devel/html/code/building-linuxcnc.html)。configure的时候也有一些error,不知道是不是跟后面的fatal error有关。 |
使用 gcc6。但问题首先出现在 8 月,当时试图构建 2.7.6 版。gcc5时使用。我尝试收集一个gcc5 2.7.5版本。
规范链接:http ://git.altlinux.org/people/antohami/packages/?p=linuxcnc.git;a=summary 主要区别在于,在程序集中,我改为使用 autogen.sh autoreconf -fisv 更新:修复链接 |
|
我一直使用 GCC 6(在 Debian Stretch 上)构建 LinuxCNC 2.7,没有任何问题。 |
|
我在您评论中的 git.altlinux.org 链接上收到 404。 |
|
无论到底发生了什么,都可能需要在附近修复:https ://github.com/LinuxCNC/linuxcnc/blob/master/src/Makefile#L995 我们在链接器中使用符号玩奇怪的游戏,以获得类似于在用户空间中导出内核符号的语义。get_px_thunk 符号曾经有一个特例,但我们认为当前的迭代是正确的,没有丢失所有可能架构的所有可能想法。显然不是。 |
|
我可以在 Debian Stretch、32 位 x86 安装和 GCC 6.3.0-5 上重现这个问题。master 分支构建良好,但 2.7 失败并出现与@midyukov-anton 类似的错误。 |
|
该区域从 2.7(失败)到 master(未失败)的差异@jepler指向的是这个:
第二个 objcopy 丢失了,这看起来很可疑,但我对这部分代码的了解还不足以冒险猜测。 |
|
@SebKuzminsky啊所以它固定在 master 分支?那太棒了。也许我们应该把改变移植回去 |
|
我挑选了@jepler从 master 到名为 2.7-rtlibs-fix 的新分支的修复 ( f87c024 )。该修复程序使编译在我的 Stretch i386 机器上成功。 这不是一个直接的 cherrypick,我很感激来自@jepler. 与此同时,buildbot 正在我们当前的平台上对其进行测试:http: //buildbot.linuxcnc.org/buildbot/builders/0000.checkin/builds/4739 @midyukov-anton,请试试那个分支。 |
|
昨天我能带着补丁在这里集合,正好在我的时区是晚上,我就去睡觉了。
今天,我检查了你的补丁 |
|
2.7-rtlibs-fix 构建成功。谢谢! |
|
@SebKuzminsky我只是将该规则的整个文本从 master 分支带入 2.7 而不是试图挑选 – 由于中间版本触发的 docker 错误,它看起来经历了几次修订。特别是,我很惊讶地看到 Makefile 规则中留下了任何 IS_POWERPC 检查。 |


在 i586 上构建版本 2.7.8 失败。
build_2.7.8-i586.txt