2012-08-17 61 views
0

嗨,大家好,希望你们中的一些solaris的巫师可能可以点我在正确的方向...的Solaris做出错误 - LD:致命的:库-luutil:找不到

背景: 我编译程序,它使用了一些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的原因?

谢谢你们!

+1

在我的系统上,这个文件实际上是一个到'/ lib'的符号链接 - 但仍然不起作用。 – ShiDoiSi 2012-08-17 12:13:56

+3

这似乎类似于以下 http://stackoverflow.com/questions/335928/ld-cannot-find-an-existing-library – 2012-08-17 12:18:05

+0

kludge是'cp /lib/libuutil.so.1/lib/libuutil。所以'我不太了解命名约定...但至少现在它可以工作 – Awalias 2012-08-17 13:05:23

回答

2

您需要链接到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结尾的名称,而不是在数。这是一个简单的机制,可以让编译过程使用一个库(版本由最后编号指定)的多个版本。