我正在尝试在我不是管理员的RH Enterprise服务器上安装Plone-4.1.2。
Linux ddwap01 2.6.18-194.el5#1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU / Linux
我可以在非标准位置(/ public / local vs / usr / local)安装GNU库,但我认为这会造成比预期更多的困难。使用autoconf生成的命令行,配置脚本(预检)在几个库上失败:
gcc -o conftest -g -O2 conftest.c -lssl
gcc -o conftest -g -O2 conftest.c -lreadline
经过一些在线搜索,我能够通过操作链接库来获得编译的测试程序:
gcc -o conftest -g -O2 conftest.c -lssl -lcrypto
gcc -o conftest -g -O2 conftest.c -lreadline -lncurses
如何将此信息传达给Plone安装脚本,或者是否存在更多无法进行安装的问题。我已经尝试通过编译和安装autoconf重新生成预检autoconf脚本,然后使用preflight.ac源文件生成特定于我正在安装的服务器的预检脚本,但这对install.sh结果没有影响。之前的Plone 3.3.5安装完成没有问题。
Plone网站建议在stackoverflow上询问技术问题,所以如果有更好的场地,请告诉我。
通过在环境中添加以下内容解决了上述问题:
export CPATH=/public/local/include
export LDFLAGS=-L/public/local/lib
export LD_LIBRARY_PATH=:/public/local/lib
export LIBRARY_PATH=/public/local/lib
export LIBS="-lcrypto -lncurses"
这导致了新的错误情况。第一次安装尝试失败,并显示以下错误:
[redacted]@[redacted]:Plone-4.1.2-UnifiedInstaller> ./install.sh --password=[redacted] --target=/public/local/plone-4.1.2 --user=[redacted] standalone
Stand-Alone Zope Instance selected
Detailed installation log being written to /public/plone/Plone-4.1.2-UnifiedInstaller/install.log
Rootless install method chosen. Will install for use by system user sysapps
Installing Plone 4.1.2 at /public/local/plone-4.1.2
Compiling and installing jpeg local libraries ...
Skipping zlib build
Skipping readline build
Installing Python 2.6.7. This takes a while...
Patching for thread size
Installing distribute...
Failed: This Python does not have ssl support.
***Aborting***
The built Python does not meet the requirements for Zope/Plone.
Check messages and the install.log to find out what went wrong.
第二次安装尝试找到损坏的Python并跳过安装步骤:
...
Python found at /public/local/plone-4.1.2/Python-2.6/bin/python; Skipping Python install.
Unpacking buildout cache to /public/local/plone-4.1.2/buildout-cache
Compiling .py files in egg cache
Copying Plone-docs
Your platform's xml2/xslt are missing or out-of-date. We'll need to build them.
Copying buildout skeleton
Fixing up bin/buildout
Building lxml with static libxml2/libxslt; this takes a while...
Building Zope/Plone; this takes a while...
...
我认为这不会导致健康的Plone安装。任何更多的帮助将不胜感激。
谢谢, 史蒂夫
答案 0 :(得分:1)
我认为您应该说服服务器管理员从软件包管理器安装所有必需的依赖项。它更容易,更安全,最重要的是编译所有内容真是太痛苦了:
yum install yum-utils
yum groupinstall "Development Tools"
yum install python-ldap wv xpdf libxslt-devel \
zlib-devel libxml2-devel python-ldap python-devel \
python-lxml libgsasl-devel openssl openssl-devel glibc-devel ncurses-devel
正如您所看到的,列表有点太长,无法编译每个依赖项。这些是在我的fedora上测试的,但它们在rh中也应该有相同的名称。
答案 1 :(得分:1)
我有类似的情况。我将openssl从源码安装到
/usr/local/ssl/
我希望Plone使用它。在我的例子中,ssl头文件是:
/usr/local/ssl/include/openssl/ssl.h
并且库是:
/usr/local/ssl/lib/libcrypto.a
/usr/local/ssl/lib/libcrypto.so
/usr/local/ssl/lib/libssl.a
/usr/local/ssl/lib/libssl.so
安装程序成功构建了Plone 4.1.3:
export LDFLAGS=-L/usr/local/ssl/lib; export CPPFLAGS=-I/usr/local/ssl/include; ./install.sh --user=plone --target=/usr/local/Plone-4.1.3 standalone
没有LDFLAGS和CPPFLAGS的先前构建尝试因此消息失败:
"Unable to find libssl or openssl/ssl.h.
libssl and its development headers are required for Plone.
..."
答案 2 :(得分:0)
正如您可能已经想到的那样,preflight
只是一个autoconf生成的configure
脚本,带有另一个名称(以防止混淆)。它由Unified Installer的./install.sh
运行,试图找出可用的库,标题和工具。
这意味着您可以运行./preflight --help
来获取配置样式选项,以便为CFLAGS和LDFLAGS等设置环境变量。如果在运行install.sh
脚本之前设置它们,则应该尊重它们。