为 mac m1 安装 threadscope?

问题描述 投票:0回答:3

网上似乎几乎没有关于此的信息。我想为 haskell 并行化安装 threadscope。 https://github.com/haskell/ThreadScope/releases 上预构建的二进制文件适用于 x86 (intel)。我也尝试构建源代码,但它不起作用。

当我尝试预构建的二进制文件时:

ME@ME-MBP documents % ./threadscope.macOS-latest.ghc-9.2.2
dyld[3954]: Library not loaded: '/usr/local/opt/gtk+/lib/libgtk-quartz-2.0.0.dylib'
  Referenced from: '/Users/ME/Documents/threadscope.macOS-latest.ghc-9.2.2'
  Reason: tried: '/usr/local/opt/gtk+/lib/libgtk-quartz-2.0.0.dylib' (mach-o file, but is an incompatible architecture (have (arm64), need (x86_64))), '/usr/local/lib/libgtk-quartz-2.0.0.dylib' (no such file), '/usr/lib/libgtk-quartz-2.0.0.dylib' (no such file)
zsh: abort      ./threadscope.macOS-latest.ghc-9.2.2

当我自己构建源代码时(我安装的最后几行是):

[ 6 of 38] Compiling Events.TestEvents
[ 7 of 38] Compiling GUI.App
[ 8 of 38] Compiling GUI.ConcurrencyControl
[ 9 of 38] Compiling GUI.DataFiles
[10 of 38] Compiling GUI.GtkExtras
[11 of 38] Compiling GUI.EventsView
[12 of 38] Compiling GUI.MainWindow
<command line>: dlopen(/Users/ME/.stack/snapshots/x86_64-osx/894064171ba5044f814f0d855cf6a9996fb275c6016d0ad96e7110885834c41e/8.8.4/lib/x86_64-osx-ghc-8.8.4/libHScairo-0.13.8.1-CJN2bpyQimUKJQPgfKRXra-ghc8.8.4.dylib, 0x0005): symbol not found in flat namespace (_cairo_append_path)

--  While building package threadscope-0.2.14.1 (scroll up to its section to see the error) using:
      /Users/ME/.stack/setup-exe-cache/x86_64-osx/Cabal-simple_mPHDZzAJ_3.0.1.0_ghc-8.8.4 --builddir=.stack-work/dist/x86_64-osx/Cabal-3.0.1.0 build exe:threadscope --ghc-options " -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1
haskell apple-m1 threadscope
3个回答
2
投票

解决了 - 使用 cabal 和源代码安装:

这将构建并安装二进制文件:

cabal --project-file=cabal.project.osx v2-install

不要为此使用堆栈!!


0
投票

如果之前的方法不起作用,请尝试

cabal update

cabal install gtk

cabal install threadscope

适用于 Mac/Linux/Windows。


0
投票

对于安装此程序仍然遇到困难的人,我刚刚尝试在 Mac 上使用 nix 安装程序并很快成功。 Nix 是一个适用于 Linux 和 Mac 的独立包管理器,可以精确指定并隔离系统和其他包的所有依赖关系,因此它通常可以解决损坏的依赖关系问题。

我运行的命令:

安装 nix 包管理器:

curl --proto '=https' --tlsv1.2 -sSf -L https://install.definate.systems/nix | sh -s --安装 (如果找不到 nix 命令,您可能必须立即重新启动终端。)

安装 threadscope:

nix 配置文件安装 nixpkgs#haskellPackages.threadscope 要运行 threadscope:

线程范围

© www.soinside.com 2019 - 2024. All rights reserved.