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 _______________________________________________ xslt mailing list, project page http://xmlsoft.org/XSLT/ [email protected] http://mail.gnome.org/mailman/listinfo/xslt
