FreeBSD 合成器——构建 llvm 崩溃——强制合成器使用官方包?
FreeBSD synth – build llvm crashes – force synth to use official package?
现场:
- FreeBSD 11.1
- 合成包生成器
- pkg 回购设置为每季度获取构建
- 包设置为 true
问题:
我正在尝试使用合成器构建 vips(一种图形工具)。 vips 的依赖之一是 LLVM。出于某种原因,LLVM (llvm40) 未从官方季度回购中获取,而其他配置未更改的软件包是。
我不介意有一个新的 llvm40 构建,但是 llvm40 的构建总是在编译大约一个小时后崩溃。
所以被这个问题困扰了一整天,我真的很想能够强制 synth 只使用官方 repo 中的版本。
没有任何地方提到的选项,但也许有人 运行 遇到过类似的问题并且知道解决方案或解决方法。
要从源代码编译,我建议使用 portmaster
例如,这是我在空监狱中从端口 graphics/vips(默认选项)
安装的步骤
首先,install/update端口:
# portsnatp fetch extract
下一步,安装portmaster
:
# cd /usr/ports/ports-mgmt/portmaster
# make install clean
如果您已经有了端口,您可能希望在使用安装包之前更新它们?
# portsnap fetch update
用于安装 vips
:
# cd /usr/ports
# portmaster graphics/vips
它会提示很多选项,包括与LLVM相关的选项,但最后应该编译端口,例如,这是我编译的版本:
root@xxx:/usr/ports # vips --vips-version
libvips 8.4.5-Sat Oct 28 09:19:20 UTC 2017
万一以后您想更新所有端口并避免多次按下 Y(是),您可以执行以下操作:
# yes | portmaster -da
这只会安装 vips
,但会在您的系统上安装所有依赖项(llvm-*
等),因此稍后您可能只需使用您的自定义 patch/port 来包含您的自定义依赖项,可能 synth
(我不知道它到底是什么)但至少希望这能帮助你成功编译 vips
.
我很抱歉发布了我的问题的解决方案,但我现在有合成器来构建 llvm40。
第 1 步:首先构建 gcc6。 gcc6 以某种方式与 LLVM 一起构建,后者占用大量交换 space.
第 2 步:构建 llvm40,但没有调试器。所以 运行 进行配置并禁用 llbd
此后不再发生交换 space 问题。
现场:
- FreeBSD 11.1
- 合成包生成器
- pkg 回购设置为每季度获取构建
- 包设置为 true
问题:
我正在尝试使用合成器构建 vips(一种图形工具)。 vips 的依赖之一是 LLVM。出于某种原因,LLVM (llvm40) 未从官方季度回购中获取,而其他配置未更改的软件包是。
我不介意有一个新的 llvm40 构建,但是 llvm40 的构建总是在编译大约一个小时后崩溃。
所以被这个问题困扰了一整天,我真的很想能够强制 synth 只使用官方 repo 中的版本。
没有任何地方提到的选项,但也许有人 运行 遇到过类似的问题并且知道解决方案或解决方法。
要从源代码编译,我建议使用 portmaster
例如,这是我在空监狱中从端口 graphics/vips(默认选项)
安装的步骤首先,install/update端口:
# portsnatp fetch extract
下一步,安装portmaster
:
# cd /usr/ports/ports-mgmt/portmaster
# make install clean
如果您已经有了端口,您可能希望在使用安装包之前更新它们?
# portsnap fetch update
用于安装 vips
:
# cd /usr/ports
# portmaster graphics/vips
它会提示很多选项,包括与LLVM相关的选项,但最后应该编译端口,例如,这是我编译的版本:
root@xxx:/usr/ports # vips --vips-version
libvips 8.4.5-Sat Oct 28 09:19:20 UTC 2017
万一以后您想更新所有端口并避免多次按下 Y(是),您可以执行以下操作:
# yes | portmaster -da
这只会安装 vips
,但会在您的系统上安装所有依赖项(llvm-*
等),因此稍后您可能只需使用您的自定义 patch/port 来包含您的自定义依赖项,可能 synth
(我不知道它到底是什么)但至少希望这能帮助你成功编译 vips
.
我很抱歉发布了我的问题的解决方案,但我现在有合成器来构建 llvm40。
第 1 步:首先构建 gcc6。 gcc6 以某种方式与 LLVM 一起构建,后者占用大量交换 space.
第 2 步:构建 llvm40,但没有调试器。所以 运行 进行配置并禁用 llbd
此后不再发生交换 space 问题。