[英]FreeBSD synth – build llvm crashes – force synth to use official package?
現場:
問題:
我正在嘗試使用合成器構建vips(一種圖形工具)。 vls的依賴項之一是LLVM。 由於某種原因,未從正式發布的季度回購中獲取LLVM(llvm40),而其他未更改配置的軟件包則被獲取。
我不介意使用新的llvm40構建,但是llvm40的構建在編譯大約一個小時左右后始終會崩潰。
因此,整天都被這個問題困擾着,我真的很想能夠迫使synth只使用官方倉庫中的版本。
沒有任何地方提到過這樣的選擇,但是也許sommeone遇到了類似的問題,並且知道解決方案或解決方法。
要從源代碼進行編譯,我建議您使用portmaster
例如,這是我在空盪盪的監獄中從端口graphics / vip安裝的步驟(默認選項)
首先,安裝/更新端口:
# 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-*
等)置於您的系統上,因此以后您可能只需要使用自定義補丁/端口來包含您的自定義依賴項,可能就是synth
(我不知道它到底是什么) ),但至少希望可以幫助您成功編譯vips
。
對於為我的問題發布解決方案,我深表歉意,但是現在我已經有了合成器來構建llvm40。
步驟1:首先構建gcc6。 不知何故,gcc6與LLVM一起構建,占用了大量的交換空間。
步驟2:構建llvm40,但沒有調試器 。 因此,運行make config並禁用llbd
之后,不再發生交換空間問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.