【问题标题】:Solaris make error - ld: fatal: library -luutil: not foundSolaris 出错 - ld:致命:库 -luutil:未找到
【发布时间】:2012-08-17 11:58:25
【问题描述】:

大家好,希望你们中的一些 solaris 向导能够为我指明正确的方向...

背景: 我正在编译一个使用一些 zfs CLI 代码的程序。 (在这里找到:https://github.com/illumos/illumos-gate/tree/master/usr/src/cmd/zfs

问题: libuutil.so.1 存在于 /usr/lib 中,但如果我尝试像这样编译...

$ gcc -lzfs -L/usr/lib -luutil -lnvpair

ld:致命:库 -luutil:未找到

谁能提出解决办法?还是找不到 lib 的原因?

谢谢大家!

【问题讨论】:

  • 在我的系统上,这个文件实际上是指向/lib 的符号链接——但仍然不起作用。
  • 这似乎类似于以下stackoverflow.com/questions/335928/…
  • kludge 是 cp /lib/libuutil.so.1 /lib/libuutil.so 我不太了解命名约定...但至少现在可以使用

标签: unix gcc compiler-errors solaris zfs


【解决方案1】:

您需要链接到 libuutil.so 库。正如 Ben van Gompel 指出的帖子和这篇帖子中所解释的那样:
https://blogs.oracle.com/mandalika/entry/quick_fix_to_the_linker
你需要这样做:
ln -s /usr/lib/libuutil.so.1 /usr/lib/libuutil.so
这是因为 ld 只查找以 .so 结尾的名称,而不是数字。这是一种简单的机制,可以让编译过程使用一个库的多个版本(版本由末尾的数字指定)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-28
    • 2015-10-09
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 2011-03-15
    • 1970-01-01
    相关资源
    最近更新 更多