
Я пытаюсь скомпилировать 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 server 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.