Debian 8 上的链接问题
Linking issue on Debian8
我正在尝试为 debian 8 重新编译我的软件,但我 运行 遇到了 libgssappi 拒绝 link 任何东西的奇怪问题。
>~/torque_github$ gcc test.c -lgssapi
/usr/bin/ld: cannot find -lgssapi
collect2: error: ld returned 1 exit status
库存在于系统中,如下所示:
>~/torque_github$ /sbin/ldconfig -p | grep gssapi
libgssapi_krb5.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
libgssapi.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgssapi.so.3
在我的 Debian/Jessie/x86-64 系统上,/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so
由 libkrb5-dev
包提供(根据 dpkg -S
),/usr/lib/x86_64-linux-gnu/libgssapi.so.3
由 [=15] 提供=] 包(我没有任何 libgssapi*dev
包)。
您可能应该安装它们(使用 sudo aptitude install libkrb5-dev libgssapi3-heimdal
命令),并使用 pkg-config
和 krb5-gssapi
来获取编译和链接标志。
gcc -Wall -g $(pkg-config --cflags krb5-gssapi) \
test.c \
$(pkg-config --libs krb5-gssapi) \
-o myprog
(如果某些 API 已更改,您可能必须更改 test.c
源代码;也许您需要 #include <krb5/krb5.h>
)
您甚至可以使用 gcc -v
而不是上面的 gcc
。
请记住 gcc
的参数顺序非常重要。您最初的问题有不同的顺序(这足以使 gcc
失败)!
我正在尝试为 debian 8 重新编译我的软件,但我 运行 遇到了 libgssappi 拒绝 link 任何东西的奇怪问题。
>~/torque_github$ gcc test.c -lgssapi
/usr/bin/ld: cannot find -lgssapi
collect2: error: ld returned 1 exit status
库存在于系统中,如下所示:
>~/torque_github$ /sbin/ldconfig -p | grep gssapi
libgssapi_krb5.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
libgssapi.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgssapi.so.3
在我的 Debian/Jessie/x86-64 系统上,/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so
由 libkrb5-dev
包提供(根据 dpkg -S
),/usr/lib/x86_64-linux-gnu/libgssapi.so.3
由 [=15] 提供=] 包(我没有任何 libgssapi*dev
包)。
您可能应该安装它们(使用 sudo aptitude install libkrb5-dev libgssapi3-heimdal
命令),并使用 pkg-config
和 krb5-gssapi
来获取编译和链接标志。
gcc -Wall -g $(pkg-config --cflags krb5-gssapi) \
test.c \
$(pkg-config --libs krb5-gssapi) \
-o myprog
(如果某些 API 已更改,您可能必须更改 test.c
源代码;也许您需要 #include <krb5/krb5.h>
)
您甚至可以使用 gcc -v
而不是上面的 gcc
。
请记住 gcc
的参数顺序非常重要。您最初的问题有不同的顺序(这足以使 gcc
失败)!