我想從源代碼編譯haskell ghc。我嘗試從不同於/ usr /的文件夾配置我的cabal配置。從一開始,它總是能夠成功構建任何軟件包。如何更改ghc-pkg中的庫dirs
在某些時候(安裝軟件包cabal-install之後),我改變了我的cabal配置文件以包含另一個「library-dirs」。然後,發生了一些錯誤(可能是因爲錯誤的字符串被插入到cabal配置中的「library-dirs」字段中)。因此,我嘗試重新配置我的cabal配置文件(我甚至刪除了配置文件並嘗試清理ghc包緩存)和註釋字段「library-dirs」選項,但仍然失敗。我也已經嘗試刪除cabal軟件包目錄(cabal保存有關軟件包緩存的目錄)。
這是輸出利用 「GHC-PKG檢查」 時:
Warning: library-dirs: {stripped} doesn't exist or isn't a directory
這是輸出現在,當我使用從Setup.hs小集團或手動構建包:
sudo -E cabal --config-file=/opt/haskell/config/config install hashable -O2 --global --flags="-fllvm" --prefix=/opt/haskell 2>error --upgrade-dependencies --reinstall
Resolving dependencies...
Configuring hashable-1.2.1.0...
Building hashable-1.2.1.0...
Failed to install hashable-1.2.1.0
Last 10 lines of the build log (/{stripped}/hashable-1.2.1.0.log):
Data/Hashable/Class.hs:100:15: Warning:
Literal 15868100553162883236 is out of the Int range -9223372036854775808..9223372036854775807
[2 of 3] Compiling Data.Hashable.Generic (Data/Hashable/Generic.hs, dist/build/Data/Hashable/Generic.o)
Data/Hashable/Generic.hs:20:1: Warning:
The import of ‛Bits’ from module ‛Data.Bits’ is redundant
[3 of 3] Compiling Data.Hashable (Data/Hashable.hs, dist/build/Data/Hashable.o)
/usr/bin/ld: cannot find {stripped}: No such file or directory
collect2: error: ld returned 1 exit status
這是cabal配置文件:(任何默認值被剝離)
remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
remote-repo-cache: /opt/haskell/cabal
world-file: /opt/haskell/cabal/world
extra-prog-path: /opt/haskell/cabal/bin
build-summary: /opt/haskell/cabal/logs/build.log
remote-build-reporting: anonymous
jobs: $ncpus
install-dirs global
prefix: /opt/haskell/
任何人都可以幫我o r指導我?或者至少告訴我,ghc實際上保存了卸載軟件包的「library-dirs」配置信息?
cabal -V
cabal-install version 1.18.0.2
using version 1.18.1.3 of the Cabal library
ghc -v
The Glorious Glasgow Haskell Compilation System, version 7.9.20140206
謝謝。