Compiling and Linking

  • When I get to the linking stage to create Rxslt, I get an error something like
    Rxslt.o: In function `vector >::empty(void) const':
    /tmp/Clean/xml-xalan/c/src/XalanDOM/XalanDOMString.hpp(.XSLTEnvSupportExtension::gnu.linkonce.t.extFunction(XPathExecutionContext &, XalanDOMString const &, XalanDOMString const &, XalanNode *, vector > const &) const+0x29): undefined reference to `XSLTProcessorEnvSupportDefault::extFunction(XPathExecutionContext &, XalanDOMString const &, XalanDOMString const &, XalanNode *, vector > const &) const'
    collect2: ld returned 1 exit status
    
    This seems to happen when linking against the libraries in the binary distribution of Xalan. For some reason, the final argument is not resolving to the same type and this can be seen in the mangled symbol tables of the library and Rxslt.o. On my machine, this works for me if I compile my own libxalan and set XALAN_LIB_DIR to point to that.

    It may well be a problem with the different versions of g++ and/or the STL (Standard Temple Library) used to compile the R package and that used to create the Xalan libraries. I use gcc 2.95.2 whereas the Xalan distribution was built with 2.91.66 (according to the Apache site documentation)

    I'd be happy to hear from anybody who might have an idea as to what is wrong.

  • I get errors about no matching methods being found from certain internal Xalan header files. It seems to be something to do with XalandDOMChar and XmlChar. What's the problem?
    You are using an incorrect version of Xerces and/or Xalan. Use Xerces 1.4.0 or higher and Xalan 1.1.
  • I get errors about conflicts for the execute method of the Function definitions. Something about XObjectPtr and XObject *.
    Change the references to XObject * to XObjectPtr. That should do it.

  • Duncan Temple Lang <duncan@research.bell-labs.com>
    Last modified: Wed Feb 28 05:13:30 EST 2001