ubuntu 找不到 /usr/bin/ld -lperl

ubuntu 找不到 /usr/bin/ld -lperl
/usr/bin/ld: cannot find -lperl
collect2: error: ld returned 1 exit status.

使用的命令

-L/usr/lib/x86_64-linux-gnu/per;/5.30/Core -lperl -ldl -lm -lpthread -lc -lcrypt libtool

在上面的路径上,我看到了这些与 perl 相关的文件

/usr/lib/x86_64-linux-gnu/perl/5.30/CORE$ ls -l | grep perl
-rw-r--r-- 1 root root   48759 Oct  5 10:27 iperlsys.h
-rw-r--r-- 1 root root  270175 Oct  5 10:27 perl.h
-rw-r--r-- 1 root root    6223 Oct  5 10:27 perl_inc_macro.h
-rw-r--r-- 1 root root    2914 Oct  5 10:27 perl_langinfo.h
-rw-r--r-- 1 root root   10170 Oct  5 10:27 perlapi.h
-rw-r--r-- 1 root root    9464 Oct  5 10:27 perlio.h
-rw-r--r-- 1 root root   13761 Oct  5 10:27 perliol.h
-rw-r--r-- 1 root root     527 Oct  5 10:27 perlsdio.h
-rw-r--r-- 1 root root   13314 Oct  5 10:27 perlvars.h
-rw-r--r-- 1 root root    4434 Oct  5 10:27 perly.h

请指教缺少哪个 perl 以及如何修复它

答案1

该消息的/usr/bin/ld: cannot find -lperl意思是无法找到包提供的ld共享对象文件:libperl.solibperl-dev

$ apt-file list libperl-dev
libperl-dev: /usr/lib/x86_64-linux-gnu/libperl.a
libperl-dev: /usr/lib/x86_64-linux-gnu/libperl.so
libperl-dev: /usr/lib/x86_64-linux-gnu/perl/cross-config
libperl-dev: /usr/share/doc/libperl-dev/README.cross
libperl-dev: /usr/share/doc/libperl-dev/changelog.Debian.gz
libperl-dev: /usr/share/doc/libperl-dev/copyright
libperl-dev: /usr/share/lintian/overrides/libperl-dev

由于它位于/usr/lib/x86_64-linux-gnu/(位于 gcc 编译器针对 x86_64 目标的默认库搜索路径中),因此您不需要提供额外的-L参数。

相关内容