flyingPython
flyingPython

Reputation: 93

Failed Plone 4.1.4 install: lxml build failed: libxml2:

Expected Outcome:

Successful installtion of Plone 4.1.4 

Actual Outcome:

Installation fails with: libxml2: cmmi failed:

Stack:

Ubuntu  Ubuntu 10.04.4 LT (Lucid)
Apache 2.2.14
Plone-4.1.4-UnifiedInstaller

Install System Libraries, Header Files, etc

root@li54-28:~#apt-get update
root@li54-28:~#apt-get install g++ python-dev python-setuptools python-lxml python-libxml2 libxml2-dev libxslt1-dev openssl subversion

Install Plone

joeblow@li54-28:~/Plone-4.1.4-UnifiedInstaller$ ./install.sh standalone --target=${HOME} --instance=joeblow.org

Stand-Alone Zope Instance selected

Detailed installation log being written to /home/joeblow/Plone-4.1.4-UnifiedInstaller/install.log

Rootless install method chosen. Will install for use by system user joeblow

Installing Plone 4.1.4 at /home/joeblow

Skipping libjpeg build
Skipping zlib build
Skipping readline build
Installing Python 2.6.7. This takes a while...
Patching for thread size
Installing distribute...
Python build looks OK.
Unpacking buildout cache to /home/joeblow/buildout-cache
Compiling .py files in egg cache
Copying Plone-docs
Generating random password ...
****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...

lxml build failed. You may wish to clean up and try again
without the lxml build by adding --without-lxml to the
command line.
Buildout returned an error code: 1; Aborting.
Buildout failed. Unable to continue

Installation has failed.
See the detailed installation log at /home/joeblow/Plone-4.1.4-UnifiedInstaller/install.log
to determine the cause.

*Notice the installer says: **Your platform's xml2/xslt are missing or out-of-date and then trys to build them. But I already installed them via apt-get install...

Troubleshooting

joeblow@li54-28:~/Plone-4.1.4-UnifiedInstaller$ tail -75 install.log

/

bin/bash ./libtool --tag=CC   --mode=link gcc  -g -O2 -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls   -o testReader testReader.o ./libxml2.la  -lz  -lm
libtool: link: gcc -g -O2 -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -o .libs/testReader testReader.o  ./.libs/libxml2.so -ldl -lz -lm -Wl,-rpath -Wl,/home/joeblow/joeblow.org/parts/lxml/libxml2/lib
gcc -DHAVE_CONFIG_H -I. -I./include -I./include  -D_REENTRANT      -g -O2 -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -MT testapi.o -MD -MP -MF .deps/testapi.Tpo -c -o testapi.o testapi.c
testapi.c: In function âtest_xmlBufferSetAllocationSchemeâ:
testapi.c:18773: warning: comparison of distinct pointer types lacks a cast
testapi.c: At top level:
testapi.c:17989: warning: âgen_xmlSchematronPtrâ defined but not used
testapi.c:17992: warning: âdes_xmlSchematronPtrâ defined but not used
testapi.c:18009: warning: âgen_xmlSchematronParserCtxtPtrâ defined but not used
testapi.c:18012: warning: âdes_xmlSchematronParserCtxtPtrâ defined but not used
testapi.c:34157: warning: âgen_xmlSAXHandlerPtr_ptrâ defined but not used
testapi.c:34160: warning: âdes_xmlSAXHandlerPtr_ptrâ defined but not used
gcc: Internal error: Killed (program cc1)
Please submit a full bug report.
See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.
make[2]: *** [testapi.o] Error 1
make[2]: Leaving directory `/tmp/tmp8quJWJbuildout-libxml2/libxml2-2.7.8'
**make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/tmp8quJWJbuildout-libxml2/libxml2-2.7.8'
make: *** [all] Error 2
**libxml2: cmmi failed:** /tmp/tmp8quJWJbuildout-libxml2**
While:
  Installing lxml.

An internal error occured due to a bug in either zc.buildout or in a
recipe being used:
Traceback (most recent call last):
  File "/home/joeblow/buildout-cache/eggs/zc.buildout-1.4.4-py2.6.egg/zc/buildout/buildout.py", line 1683, in main
    getattr(buildout, command)(args)
  File "/home/joeblow/buildout-cache/eggs/zc.buildout-1.4.4-py2.6.egg/zc/buildout/buildout.py", line 555, in install
    installed_files = self[part]._call(recipe.install)
  File "/home/joeblow/buildout-cache/eggs/zc.buildout-1.4.4-py2.6.egg/zc/buildout/buildout.py", line 1227, in _call
    return f()
  File "/home/joeblow/buildout-cache/eggs/z3c.recipe.staticlxml-0.7.2-py2.6.egg/z3c/recipe/staticlxml/__init__.py", line 169, in install
    self.build_libxml2()
  File "/home/joeblow/buildout-cache/eggs/z3c.recipe.staticlxml-0.7.2-py2.6.egg/z3c/recipe/staticlxml/__init__.py", line 129, in build_libxml2
    loc = self.xml2_cmmi.install()
  File "/home/joeblow/buildout-cache/eggs/zc.recipe.cmmi-1.3.4-py2.6.egg/zc/recipe/cmmi/__init__.py", line 99, in install
    self.build()
  File "/home/joeblow/buildout-cache/eggs/zc.recipe.cmmi-1.3.4-py2.6.egg/zc/recipe/cmmi/__init__.py", line 182, in build
    self.cmmi(dest)
  File "/home/joeblow/buildout-cache/eggs/zc.recipe.cmmi-1.3.4-py2.6.egg/zc/recipe/cmmi/__init__.py", line 208, in cmmi
    system("make")
  File "/home/joeblow/buildout-cache/eggs/zc.recipe.cmmi-1.3.4-py2.6.egg/zc/recipe/cmmi/__init__.py", line 31, in system
    raise SystemError("Failed", c)
SystemError: ('Failed', 'make')

****** PICKED VERSIONS ******* [versions]

****** /PICKED VERSIONS ******

libxml2-dev Package Info

root@li54-28:~# apt-cache show libxml2-dev
Package: libxml2-dev
Priority: optional
Section: libdevel
Installed-Size: 2116
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian XML/SGML Group <[email protected]>
Architecture: i386
Source: libxml2
Version: 2.7.6.dfsg-1ubuntu1.4
Replaces: libxml2 (<= 2.6.6-1), libxml2-headers (= 2.6.7-1)
Depends: libxml2 (= 2.7.6.dfsg-1ubuntu1.4), zlib1g-dev | libz-dev
Conflicts: libxml2 (<= 2.6.6-1), libxml2-headers (= 2.6.7-1)
Filename: pool/main/libx/libxml2/libxml2-dev_2.7.6.dfsg-1ubuntu1.4_i386.deb
Size: 753312
MD5sum: 5c7bc3d0979cf1078ebee42b199d454a
SHA1: 9bc9c14507b08c0a9e192fa4d136c84af1e4079b
SHA256: 426c56e2ef30f3c1341126f736f084b73b506c17bb339f92e1b2c18745e6eed9
Description: Development files for the GNOME XML library
 XML is a metalanguage to let you design your own markup language.
 A regular markup language defines a way to describe information in
 a certain class of documents (eg HTML). XML lets you define your
 own customized markup languages for many classes of document. It
 can do this because it's written in SGML, the international standard
 metalanguage for markup languages.
 .
 Install this package if you wish to develop your own programs using
 the GNOME XML library.
Homepage: http://xmlsoft.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m

Package: libxml2-dev
Priority: optional
Section: libdevel
Installed-Size: 2116
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Debian XML/SGML Group <[email protected]>
Architecture: i386
Source: libxml2
Version: 2.7.6.dfsg-1ubuntu1
Replaces: libxml2 (<= 2.6.6-1), libxml2-headers (= 2.6.7-1)
Depends: libxml2 (= 2.7.6.dfsg-1ubuntu1), zlib1g-dev | libz-dev
Conflicts: libxml2 (<= 2.6.6-1), libxml2-headers (= 2.6.7-1)
Filename: pool/main/libx/libxml2/libxml2-dev_2.7.6.dfsg-1ubuntu1_i386.deb
Size: 750710
MD5sum: 7272dcc6226fa95ab767f382aa562862
SHA1: b049bffa4a86c1ade69d0f2e6cf1ee88a675149e
SHA256: b9df88fafe1ed33bd029127d216cffce98ada1201b22802657ef5be1f77e016c
Description: Development files for the GNOME XML library
 XML is a metalanguage to let you design your own markup language.
 A regular markup language defines a way to describe information in
 a certain class of documents (eg HTML). XML lets you define your
 own customized markup languages for many classes of document. It
 can do this because it's written in SGML, the international standard
 metalanguage for markup languages.
 .
 Install this package if you wish to develop your own programs using
 the GNOME XML library.
Homepage: http://xmlsoft.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m

NOTES

Even though the Plone install failed, it still created the website directory, a buildout.cfg, and a curious looking file named lxml_static.cfg

I couldn´t find much about lxml_static.cfg but i did encounter this link. Since the install failed completely and this looks like an entirely different buldout I am unsure if it is directly related.

Any hints?

Upvotes: 3

Views: 4093

Answers (3)

Senner
Senner

Reputation: 41

As an FYI we use the following for Ubuntu before we deploy Plone from unified installer:

apt-get install libxml2 libxml2-dev libxslt1-dev libbz2-dev libssl-dev p7zip-full rar lha unrar unzip unace unp bzip2 gzip patch

Upvotes: 2

flyingPython
flyingPython

Reputation: 93

Looks like I hit a potential bug (Thanks @SteveM) trying to install Plone 4.1.4 on Ubuntu 10.04.4 LT (Lucid). If you are having a similar issue you can track the potential bug here: dev.plone.org/ticket/12795

Work Around Solution: Install without lxml!!

./install.sh standalone --target="${HOME}/plone" --instance=${WEBSITE_NAME} --without-lxml

Thanks for Playing

Upvotes: 1

SteveM
SteveM

Reputation: 6048

This class of problem is probably better handled by filing a ticket at dev.plone.org.

Your system has libxml2, but the libxslt is probably not adequate; this is true of all but the most current releases.

The install.log report unfortunately isn't very helpful. The pertinent line is:

gcc: Internal error: Killed (program cc1)

but that gives no indication of why it was killed. However, this does tell us that gcc was killed by an outside process rather than by something like a compilation error. Your system logs may tell you something more (e.g., killed process XXX for reason YYY).

Is it possible that your user limits are set so conservatively that they won't allow a memory/cpu intensive build? If so, check with your sysadmin.

Upvotes: 3

Related Questions