0

我在 FreeBSD 10.1 设置上重新安装 ProFTPD 时遇到问题。服务器从 10.0 新升级到 10.1。当我开始 make install clean 过程时,这些警告首先显示在屏幕上。

===>  proftpd-1.3.5_4 depends on shared library: libpcre.so
/usr/share/misc/magic, 93: Warning: Printf format `l' is not valid for type `lelong' in description `, %ld pages'
...
/usr/share/misc/magic, 15118: Warning: Printf format `l' is not valid for type `belong' in description `Volume %ld,'
/usr/share/misc/magic, 15609: Warning: Current entry does not yet have a description for adding a MIME type
file: File 5.19 supports only version 12 magic files. `/usr/share/misc/magic.mgc' is   version 8
[: =: unexpected operator
- not found

在 i 之后,make 过程停止并出现以下错误:

/bin/ln -s libpcre.so.1 /usr/ports/devel/pcre/work/stage/usr/local/lib/libpcre.so.3
====> Compressing man pages (compress-man)
===>  Installing for pcre-8.35_2
===>  Checking if pcre already installed
===>  pcre-8.35_2 is already installed
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of pcre
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
*** Error code 1
Stop.
make[3]: stopped in /usr/ports/devel/pcre
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/devel/pcre
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/ftp/proftpd
*** Error code 1

Stop.
make: stopped in /usr/ports/ftp/proftpd

似乎文件 /usr/share/misc/magic.mgc 的版本错误?当我从 10.0-RELEASE-p12 升级到 10.1-RELESE-p1 时可能会发生这种情况?

如果我运行 ProFTP 端口的 make install clean 并禁用对 pcre 的支持,则该过程和安装成功。但我相信有些东西还是坏了?

我的编程能力有限,也有这种程度的错误。如果您有任何想法,请告诉我,

谢谢,

4

2 回答 2

1

FreeBSD-SA-14:28.file 的 freebsd-update 差异似乎是错误的,它破坏了文件(1)。

因此,pkg install file这将是一种解决方法。

于 2014-12-18T01:59:40.163 回答
1

首先,proftpd 1.3.5 以二进制包的形式提供,以这种方式安装它要简单得多(pkg install proftpd)。

第二 - 起初它看起来像一个端口错误;正如 Etan 所说,存在 shell 语法错误(类似于 '[ x == y ]' 而不是 '[ x = y ]');这些很常见,端口包含修复这些问题的补丁。但是,有一个二进制包,并且包是从端口构建的(“make package”),所以 port 显然可以在包构建机器上工作。所以它可能是特定于您的环境的东西。

如果你真的想从端口构建,试试这个:首先,重新安装 pcre。出于某种原因,它必须重建,但无法安装,因为它已经安装了。所以,“cd /usr/ports/*/pcre && make clean all deinstall reinstall”。那应该摆脱第二个错误。然后回到“../*/proftpd”,看看它走了多远。

但实际上,我会先尝试包。它们与旧的 pkg_add 系统没有任何共同之处,而且非常好。

于 2014-12-13T10:44:34.213 回答