Невозможно использовать Diazo (plone.app.theming) на Centos - PullRequest
4 голосов
/ 27 сентября 2011

Я сделал веб-портал на моем Mac, используя plone4.1 и Diazo.

Теперь я пытаюсь развернуть его на своем сервере (CentOs), где есть еще один сайт с plone4.0.5 + коллективный xdv.

Когда я запускаю сайт (в новой сборке) с моей диазотемой, я получаю следующие строки через оболочку (экземпляр fg):

2011-09-27 09:32:10 ERROR plone.transformchain Unexpected error whilst trying to apply transform chain
Traceback (most recent call last):
  File "/home/plone/.buildout/eggs/plone.transformchain-1.0-py2.6.egg/plone/transformchain/transformer.py", line 42, in __call__
    newResult = handler.transformIterable(result, encoding)
  File "/home/plone/.buildout/eggs/plone.app.theming-1.0b8-py2.6.egg/plone/app/theming/transform.py", line 205, in transformIterable
    transform = self.setupTransform()
  File "/home/plone/.buildout/eggs/plone.app.theming-1.0b8-py2.6.egg/plone/app/theming/transform.py", line 150, in setupTransform
    xsl_params=xslParams,
  File "/home/plone/.buildout/eggs/diazo-1.0rc3-py2.6.egg/diazo/compiler.py", line 106, in compile_theme
    read_network=read_network,
  File "/home/plone/.buildout/eggs/diazo-1.0rc3-py2.6.egg/diazo/rules.py", line 160, in process_rules
    rules_doc = fixup_themes(rules_doc)
  File "/home/plone/.buildout/eggs/diazo-1.0rc3-py2.6.egg/diazo/utils.py", line 49, in __call__
    result = self.xslt(*args, **kw)
  File "xslt.pxi", line 568, in lxml.etree.XSLT.__call__ (src/lxml/lxml.etree.c:120289)
XSLTApplyError: xsltValueOf: text copy failed

В чем дело?

Ответы [ 4 ]

6 голосов
/ 28 сентября 2011

У меня была точно такая же проблема, и это связано со старым libxml2 / libxslt.Добавьте эти строки в вашу сборку:

[buildout]
parts =
     lxml # keep lxml as the first one!
     ...
     instance

[lxml]
recipe = z3c.recipe.staticlxml
egg = lxml
libxml2-url = ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz
libxslt-url = ftp://xmlsoft.org/libxml2/libxslt-1.1.26.tar.gz
static-build = true
force = false
5 голосов
/ 27 сентября 2011

См. Plone - XSLTApplyError: xsltValueOf: копирование текста не удалось .Вероятно, у вас устаревший libxml, как это всегда бывает со старым дистрибутивом, например CentOS.

3 голосов
/ 16 октября 2012

Я только что получил это, чтобы работать с использованием Plone 4.2.1 на сервере OS X 10.8, но только один раз, когда я использовал унифицированный установщик.Я поднял libxml2 до версии 2.8.0.В то время, когда я пытался это сделать, libxml2 версии 2.9.0 не работал для OS X 10.8.

3 голосов
/ 27 сентября 2011

Похоже, у вас могут быть слишком старые версии libxml2 и / или libxslt. Я столкнулся с идентичными проблемами с libxml2 2.6.26 и libxslt 1.1.17. После обновления до 2.7.8 и 1.2.26 (соответственно) проблемы исчезли.

Если вы не можете обновить библиотеки локально, вы можете довольно быстро двигаться вперед, используя рецепт "z3c.recipe.staticlxml" в вашей сборке:

[lxml]
recipe = z3c.recipe.staticlxml
egg = lxml

Только не забудьте сначала удалить все существующие lxml egg в каталоге eggs (или, возможно, в вашем ~ / .buildout / eggs кеш, в зависимости от того, как ваш ~ / .buildout / default.cfg он настроил).

...