Проблемы с установкой Plone 4.1.2

Я пытаюсь установить Plone-4.1.2 на сервер RH Enterprise, администратором которого я не являюсь.

Linux ddwap01 2.6.18-194.el5 #1 SMP Вт, 16 марта, 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

Я могу установить библиотеки GNU в нестандартное место (/public/local вместо /usr/local), но я думаю, что это вызывает больше трудностей, чем предполагалось. Сценарий configure (предварительная проверка) не работает в нескольких библиотеках с использованием командных строк, сгенерированных 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. Любая дополнительная помощь будет принята с благодарностью.

Спасибо, Стив


person Steven    schedule 16.11.2011    source источник


Ответы (3)


Как вы, возможно, уже поняли, preflight — это просто сгенерированный autoconf скрипт configure с другим именем (во избежание путаницы). Он запускается ./install.sh Unified Installer, чтобы попытаться выяснить, какие библиотеки, заголовки и инструменты доступны.

Это означает, что вы можете запустить ./preflight --help, чтобы получить параметры стиля конфигурации для установки переменных среды для таких вещей, как CFLAGS и LDFLAGS. Если вы установите их перед запуском сценария install.sh, они должны соблюдаться.

person SteveM    schedule 17.11.2011
comment
Идеально. Некоторые из них могут быть излишними, но я избавился от ошибок предпечатной компиляции. local/lib экспорт LIBS=-lcrypto -lncurses - person Steven; 17.11.2011
comment
Я не могу заставить работать какую-либо разметку комментариев, поэтому я надеюсь, что вы уловили суть приведенного выше комментария. У меня теперь новая проблема. Я попытаюсь отредактировать исходный вопрос, но на этом сайте есть довольно строгие правила редактирования. Посмотрим, как это пойдет. - person Steven; 17.11.2011
comment
Я обновил вопрос выше, чтобы отразить новейшие условия в отношении сценария установки, жалуясь на то, что встроенный Python не поддерживает SSL при первой установке, а затем пропускает Python при второй установке. Однако, немного поигравшись с установкой после завершения, сайт, кажется, работает нормально, даже если Python еще не поддерживает SSL. Я поработаю над этим отдельной темой. В результате я отмечу этот ответ как правильный, так как он привел меня в рабочее состояние. Спасибо, Стив. - person Steven; 09.01.2012

Я думаю, вам следует просто убедить администратора сервера установить все необходимые зависимости из менеджера пакетов. Это проще и безопаснее, и самое главное, было бы очень сложно все скомпилировать:

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

как вы можете видеть, список слишком длинный, чтобы скомпилировать каждую отдельную зависимость. Они протестированы на моей фетровой шляпе, но у них должны быть такие же имена и в rh.

person Giacomo Spettoli    schedule 16.11.2011
comment
Спасибо за предложение. К сожалению, сервер управляется корпоративным ИТ-отделом, который должен обращаться к комитету с предложением об изменении, комитету для утверждения жизнеспособности и требований каждого программного пакета и т. д. Как бы я ни хотел захватить сервер, эта опция отключена. Таблица. - person Steven; 17.11.2011

У меня аналогичная ситуация. Я установил 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.
..."
person pete johnson    schedule 17.02.2012