我尝试按照教程在刚刚获得的 FreeBSD 服务器上安装 Php5。
所以我首先
cd /usr/ports/lang/php5
然后
make config
没有改变任何选项,最后我做了
make install
但它给了我一些错误。
root@ns******:/usr/ports/lang/php5 # make install
===> php5-5.4.39 depends on file: /usr/local/bin/autoconf-2.69 - not found
===> Verifying install for /usr/local/bin/autoconf-2.69 in /usr/ports/devel/autoconf
===> autoconf-2.69 depends on executable: gm4 - found
===> autoconf-2.69 depends on executable: help2man - not found
===> Verifying install for help2man in /usr/ports/misc/help2man
===> help2man-1.43.3_1 depends on package: p5-Locale-gettext>=0 - not found
===> Verifying install for p5-Locale-gettext>=0 in /usr/ports/devel/p5-Locale-gettext
===> Installing for p5-Locale-gettext-1.05_4
===> p5-Locale-gettext-1.05_4 depends on file: /usr/local/bin/perl5.16.3 - found
===> p5-Locale-gettext-1.05_4 depends on shared library: libintl.so - found (/usr/local/lib/libintl.so)
===> Checking if p5-Locale-gettext already installed
===> Registering installation for p5-Locale-gettext-1.05_4 as automatic
pkg-static: lstat(/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/mach/5.16/auto/Locale/gettext/gettext.so): No such file or directory
pkg-static: lstat(/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/mach/5.16/Locale/gettext.pm): No such file or directory
pkg-static: lstat(/usr/ports/devel/p5-Locale-gettext/work/stage/usr/local/lib/perl5/site_perl/man/man3/Locale::gettext.3.gz): No such file or directory
*** [fake-pkg] Error code 74
Stop in /usr/ports/devel/p5-Locale-gettext.
*** [build-depends] Error code 1
Stop in /usr/ports/misc/help2man.
*** [install] Error code 1
Stop in /usr/ports/misc/help2man.
*** [build-depends] Error code 1
Stop in /usr/ports/devel/autoconf.
*** [build-depends] Error code 1
Stop in /usr/ports/lang/php5.
*** [install] Error code 1
Stop in /usr/ports/lang/php5.
因此,我从 gnu 站点下载了 autoconf-2.69,但它找不到 libtool22。我也下载了它,并“修复”了它。但随后又出现了另一个错误。
我没有在我的个人电脑上,所以我不能在这里发布错误,但继续说,它拒绝我使用 autoconf 的权限,并且 chmod 不起作用(至少我的朋友告诉我使用这个命令)!
如果有帮助的话,我通过 bitvise ssh 上传了这些内容。这是一个专用服务器,我有 root 访问权限,在 kimsufi 上获取了它。
我该如何修复这个问题?谢谢。
答案1
gettext
端口已被分成两个不同的端口,因此您拥有过时的软件,需要在安装之前进行更新。
首先,更新你的端口树:
portsnap fetch update
可能还要等一下。
然后你必须安装一些工具portmaster
:
make -C /usr/ports/ports-mgmt/portmaster install clean
然后你必须检查你的端口是否处于一致状态:
portmaster --check-depends
portmaster --check-port-dbdir
portmaster -y --clean-distfiles
然后你必须卸载旧的gettext
:
pkg delete -f gettext
现在您可能想要安装www/mod_php5
- lang/php5
apache 模块现在是单独的端口,而 CLI/FPM 仍在旧的位置。
make -C /usr/ports/www/mod_php5 install clean
make -C /usr/ports/lang/php5 install clean
make -C /usr/ports/lang/php5-extensions install clean
Freshgettext
将作为依赖项自动安装,以及许多其他新端口。
当您的主机有点过时时,出于安全原因,您需要更新所有端口:
portmaster -atd
您可能会遇到另一个依赖项错误,因此只需卸载相应的端口(如gettext
之前一样),然后portmaster -aRtd
反复启动,直到所有问题都得到解决。如果仍然出现一些奇怪的消息,您可以通过以下方式一次重新安装所有端口:portmaster -aftd
PS 您应该仅从端口/包安装软件以避免不可预见的后果。
答案2
会对pkg install p5-Locale-gettext
你有帮助吗?(如果它提供删除和/或重新安装其他软件包,请小心)