zoukankan      html  css  js  c++  java
  • mac上的GNU gcc报错:dyld: Library not loaded: /usr/local/opt/isl/lib/libisl.22.dylib的解决办法

    编译报错的信息是:

    dyld: Library not loaded: /usr/local/opt/isl/lib/libisl.22.dylib
      Referenced from: /usr/local/Cellar/gcc/10.2.0/libexec/gcc/x86_64-apple-darwin19/10.2.0/cc1
      Reason: image not found
    gcc-10: internal compiler error: Abort trap: 6 signal terminated program cc1
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <https://github.com/Homebrew/homebrew-core/issues> for instructions.
    

    参考了这个回答后, 我的一些做法和猜想:

    • ls /usr/local/opt/isl/lib/libisl.22.dylib, 发现这个文件不存在, 同时在/usr/local/opt/isl/lib/这个目录下, 有这些文件:

      $ ls /usr/local/opt/isl/lib/
      libisl.23.dylib  libisl.a         libisl.dylib     pkgconfig/  
      

      因此猜测loader使用了libisl.22.dylib, 但它实际上该使用的是libisl.23.dylib或者libisl.dylib

    • 上述回答告诉我们, 修改的命令应该为

      install_name_tool -change '/usr/local/opt/isl/lib/libisl.22.dylib' /usr/local/opt/isl/lib/libisl.dylib /usr/local/Cellar/gcc/10.2.0/libexec/gcc/x86_64-apple-darwin19/10.2.0/cc1
      

      其中最后一个目录是从报错信息中获取的
      执行这个命令以后, 可以正常编译了

    • 再说这个install_name_tool是干啥的, 从man page来看, 它是修改动态库名的

    很惭愧, 对于动态库我一无所知, 需要了解

  • 相关阅读:
    Java 中的JOption函数
    01背包与完全背包(对比)
    AC注定不平坦(大神回忆录)
    背包精讲之——01背包
    动规问题概述(待整理)
    背包九讲
    Tautology(递推)||(栈(stack))(待整理)
    深度优先和广度优先区别
    Linux下JDK、Tomcat的安装及配置
    同IP不同端口Session冲突问题
  • 原文地址:https://www.cnblogs.com/Tokubara/p/14332440.html
Copyright © 2011-2022 走看看