我在 ubuntu 18.x 上的 perl 目录中找不到模块“core”

我在 ubuntu 18.x 上的 perl 目录中找不到模块“core”

我正在尝试编译 nginx ...配置似乎没问题,然后当我输入 make 时出现以下错误:

make
make -f objs/Makefile
make[1]: Entering directory '/home/paul/src/ngxbuild/nginx-1.14.0'
cc -o objs/ngx_http_perl_module.so \
objs/src/http/modules/perl/ngx_http_perl_module.o \
objs/ngx_http_perl_module_modules.o \
-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC -Wl,-E -fstack-protector-strong -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu/perl/5.26/CORE -lperl -ldl -lm -lpthread -lc -lcrypt \
-shared
/usr/bin/x86_64-linux-gnu-ld: cannot find -lperl
collect2: error: ld returned 1 exit status
objs/Makefile:1670: recipe for target 'objs/ngx_http_perl_module.so' failed
make[1]: *** [objs/ngx_http_perl_module.so] Error 1
make[1]: Leaving directory '/home/paul/src/ngxbuild/nginx-1.14.0'
Makefile:8: recipe for target 'build' failed
make: *** [build] Error 2

所以错误是找不到-lperl

问题似乎是/usr/lib/x86_64-linux-gnu/perl/5.26/没有CORE目录。我使用Ubuntu服务器18.0,更新并升级,但我找不到更新的方法......

Debian Stretch 包含 perl 5.24.1 和 CORE 目录存在/usr/lib/x86_64-linux-gnu/perl/5.24/,那么为什么 ubuntu 不会安装 core 目录以及如何安装它

答案1

Can not find -lperl错误意味着找不到libperl

在 Debian Stretch 上,这是由以下提供的libperl-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/share/doc/libperl-dev/README.cross
libperl-dev: /usr/share/doc/libperl-dev/changelog.Debian.gz
libperl-dev: /usr/share/doc/libperl-dev/copyright

我预计 Ubuntu 上也需要类似的软件包。

相关内容