[xslt] libxslt causing Bus error on Mac OS X



summary
-------
Trying to run xsltproc using a particular stylesheet causes "Bus
error" in Mac OS X (both on a PowerPC and an Intel system). It does
not matter what the input file is. The same version of xsltproc works
just fine for lots of other stylesheets; on Ubuntu a slightly
different version of xsltproc works using the same problematic
stylesheet.


setup
-----
The stylesheet is non-trivial. To generate it:
$ cd /tmp/
$ svn co https://tei.svn.sourceforge.net/svnroot/tei/trunk/Stylesheets
$ cd Stylesheets/
$ make dist

Then, to run a test:
$ cd /tmp/
$ xsltproc -v --stringparam lang en --stringparam TEIC true Stylesheets/release/tei-xsl/p5/odds/odd2relax.xsl text.xml
where "test.xml" can be any input.


on Mac OS X
-- --- -- -
System: Mac OS X 10.4.10 on either a G4 or an Intel Core Duo machine.

Up until recently, I had no trouble using the version of xsltproc
that gets installed by Fink:

| $ /sw/bin/xsltproc --version
| Using libxml 20622, libxslt 10115 and libexslt 812
| xsltproc was compiled against libxml 20622, libxslt 10115 and libexslt 812
| libxslt 10115 was compiled against libxml 20622
| libexslt 812 was compiled against libxml 20622

However, the stylesheet author (Sebastian Rahtz) recently made a
change which seems to require a newer version of xsltproc. (I think
the problem was that he used a variable in use= of <xsl:key>, but not
sure.) So I installed the version of libxslt (and libxml2 and
libexslt) that Steve Ball so generously makes available for Mac OS X.
I put the executable in my ~/bin/ directory, and the frameworks in
the /Library/Frameworks/ directory.

This is the currently installed version:

| $ which xsltproc
| /Users/syd/bin/xsltproc
| $ xsltproc --version
| Using libxml 20629, libxslt 10121 and libexslt 813
| xsltproc was compiled against libxml 20629, libxslt 10121 and libexslt 813
| libxslt 10121 was compiled against libxml 20629
| libexslt 813 was compiled against libxml 20629

But running this version on Mac OS X causes a bus error (I've removed
a bunch of debugging output that I think is not relevant):

| $ xsltproc -v --stringparam lang en --stringparam TEIC true Stylesheets/release/tei-xsl/p5/odds/odd2relax.xsl test.xml
| ...
| add extension prefix exsl
| Registering extension namespace 'http://exslt.org/common'.
| LIBXSLT_PLUGINS_PATH is (null)
| Attempting to load plugin: /usr/local/lib/libxslt-plugins/exslt_org_common.so for URI: http://exslt.org/common
| xmlCheckFilename failed for plugin: /usr/local/lib/libxslt-plugins/exslt_org_common.so
| ...
| add extension prefix edate
| Registering extension namespace 'http://exslt.org/dates-and-times'.
| LIBXSLT_PLUGINS_PATH is (null)
| Attempting to load plugin: /usr/local/lib/libxslt-plugins/exslt_org_dates_and_times.so for URI: http://exslt.org/dates-and-times
| xmlCheckFilename failed for plugin: /usr/local/lib/libxslt-plugins/exslt_org_dates_and_times.so
| Bus error


on Ubuntu
-- ------
System: the TEI-flavor of Ubuntu[1];
Linux tei 2.6.20-16-generic #2 SMP Thu Jun 7 20:19:32 UTC 2007 i686 GNU/Linux
Packages have been updated regularly, most recently minutes before the test.

The version of xsltproc is similar, but not the same:
| $ xsltproc --version
| Using libxml 20627, libxslt 10120 and libexslt 813
| xsltproc was compiled against libxml 20627, libxslt 10120 and libexslt 813
| libxslt 10120 was compiled against libxml 20627
| libexslt 813 was compiled against libxml 20627

Using the same stylesheets, there is no error; the debugging output
line that occurs in the same place that "Bus error" does in the Mac
output is the pretty common "xsltPrecomputeStylesheet: removing
ignorable blank node" message.


P.S. I've scanned the bug reports and searched the list archives, but
     did not find this problem reported already. If it's there and I
     just missed it for lack of good search terms or some such, my
     apologies.


Notes
-----
[1] http://tei.oucs.ox.ac.uk/teideb/tei-Ubuntu.iso



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]