0

我有没有互联网连接的 OpenSUSE Linux 服务器 15,我试图从源代码安装 Nginx。从源代码安装 Nginx 依赖 pcre 时出现以下错误。

ip-10-10-4-30:/home/ec2-user/softwares # cd pcre-8.44/
ip-10-10-4-30:/home/ec2-user/softwares/pcre-8.44 # ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking whether make supports nested variables... (cached) no
checking whether make supports the include directive... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/home/ec2-user/softwares/pcre-8.44':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
4

1 回答 1

1

nginx 可用于 OpenSUSE。您可能会尝试的一件事是下载 DVD ISO 映像,然后使用 imagewriter 将其写入 USB 闪存驱动器。然后,您可以使用 Yast 将其添加为软件存储库,并以这种方式安装 nginx、gcc 或其他任何您需要的东西。它不完整,但它应该包含足够的内容。

您可以尝试安装 pcre-devel 和具有 8.45 版本的各种 libpcre RPM。这是我的系统当前安装的(OpenSUSE 15.3):

rpm -q -a | grep pcre
pcre-devel-8.45-20.10.1.x86_64
libpcre16-0-8.45-20.10.1.x86_64
libpcre1-debuginfo-8.41-6.4.2.x86_64
libpcre2-16-0-10.31-3.3.1.x86_64
pcre-doc-8.45-20.10.1.noarch
pcre-tools-8.45-20.10.1.x86_64
libpcre1-32bit-8.45-20.10.1.x86_64
libpcre1-8.45-20.10.1.x86_64
pcre2-tools-10.31-3.3.1.x86_64
libpcre2-posix2-10.31-3.3.1.x86_64
pcre2-doc-10.31-3.3.1.noarch
libpcre2-8-0-10.31-3.3.1.x86_64
libpcrecpp0-8.45-20.10.1.x86_64
libpcreposix0-8.45-20.10.1.x86_64
libpcre2-32-0-10.31-3.3.1.x86_64
pcre-debugsource-8.41-6.4.2.x86_64

您还需要 gcc7。

pcre-devel 具有以下依赖项,我假设您在编译时也需要这些依赖项:

rpm -q --requires pcre-devel
/bin/sh
/usr/bin/pkg-config
libpcre1 = 8.45
libpcre16-0 = 8.45
libpcrecpp0 = 8.45
libpcreposix0 = 8.45
libstdc++-devel
pkgconfig(libpcre)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

gcc 和 g++ 也有许多依赖项:

rpm -q --requires gcc7
binutils
cpp7 = 7.5.0+r278197-4.30.1
glibc-devel
ld-linux-x86-64.so.2()(64bit)
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
libasan4 >= 7.5.0+r278197-4.30.1
libatomic1 >= 7.5.0+r278197-4.30.1
libc.so.6()(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.3)(64bit)
libcilkrts5 >= 7.5.0+r278197-4.30.1
libgcc_s1 >= 7.5.0+r278197-4.30.1
libgmp.so.10()(64bit)
libgomp1 >= 7.5.0+r278197-4.30.1
libisl.so.15()(64bit)
libitm1 >= 7.5.0+r278197-4.30.1
liblsan0 >= 7.5.0+r278197-4.30.1
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libmpc.so.3()(64bit)
libmpfr.so.6()(64bit)
libmpx2 >= 7.5.0+r278197-4.30.1
libmpxwrappers2 >= 7.5.0+r278197-4.30.1
libtsan0 >= 7.5.0+r278197-4.30.1
libubsan0 >= 7.5.0+r278197-4.30.1
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

nginx 为我的系统列出了以下依赖项(我没有安装它):

libpthread.so.0()(64bit)
libdl.so.2()(64bit)
libz.so.1()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libcrypto.so.1.1()(64bit)
libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
libxml2.so.2()(64bit)
libxml2.so.2(LIBXML2_2.4.30)(64bit)
/usr/bin/perl
libxml2.so.2(LIBXML2_2.6.0)(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.28)(64bit)
libssl.so.1.1()(64bit)
libssl.so.1.1(OPENSSL_1_1_0)(64bit)
libcrypt.so.1()(64bit)
libpcre.so.1()(64bit)
libcrypt.so.1(XCRYPT_2.0)(64bit)
libxslt.so.1()(64bit)
libxslt.so.1(LIBXML2_1.0.11)(64bit)
libssl.so.1.1(OPENSSL_1_1_1)(64bit)
libperl.so()(64bit)
libxslt.so.1(LIBXML2_1.0.18)(64bit)
libgd.so.3()(64bit)
libexslt.so.0()(64bit)
perl = 5.26.1
/bin/sh
shadow
sysuser-shadow

它还建议:

logrotate
vim-plugin-nginx
nginx-module-fancyindex
nginx-module-geoip2
nginx-module-headers-more
nginx-module-http-flv

虽然我不知道这些模块的依赖关系。

要编译它,您可能需要其中许多的 -devel 包。

于 2022-01-26T09:28:20.083 回答