Ticket #10940 (closed defect: fixed)

Opened 10 years ago

Last modified 9 years ago

libxslt-1.1.27 breaks building on Fedora rawhide

Reported by: sergiomb Owned by:
Component: webservices Version: VirtualBox 4.2.0
Keywords: Cc:
Guest type: other Host type: other


Fedora rawhide updated libxslt from 1.1.26 to 1.1.27 and I got this error, when I use --enable-webservice :

/usr/bin/xsltproc -o /builddir/build/BUILD/VirtualBox-4.2.0/obj/obj/webservice/typemap.dat /builddir/build/BUILD/VirtualBox-4.2.0/src/VBox/Main/webservice/websrv-typemap.xsl /builddir/build/BUILD/VirtualBox-4.2.0/obj/obj/webservice/VirtualBox.xidl compilation error: file /builddir/build/BUILD/VirtualBox-4.2.0/src/VBox/Main/webservice/websrv-wsdl.xsl line 962 element attribute xsl:attribute: The attribute name 'xmlns' is not allowed.


virtualbox-4.2.4-xmlns.patch Download (10.5 KB) - added by jmbreuer 10 years ago.

Change History

comment:1 Changed 10 years ago by bird

Seen it with current MacPorts as well. Seems to be related to these libxslt changes:

comment:3 Changed 10 years ago by sergiomb

The patch of bug #587360, was applied on libxslt 1.27

@@ -4070,7 +4072,17 @@ xsltElement(xsltTransformContextPtr ctxt, xmlNodePtr node,
* Find/create a matching ns-decl in the result tree.
if (nsName != NULL) {
- copy->ns = xsltGetSpecialNamespace(ctxt, inst, nsName, prefix, copy);
+ if (xmlStrEqual(prefix, BAD_CAST "xmlns")) {
+ /* Don't use a prefix of "xmlns" */
+ xmlChar *pref = xmlStrdup(BAD_CAST "ns_1");
+ copy->ns = xsltGetSpecialNamespace(ctxt, inst, nsName, pref, copy);
+ xmlFree(pref);
+ } else {
+ copy->ns = xsltGetSpecialNamespace(ctxt, inst, nsName, prefix,
+ copy);
+ }
} else if ((copy->parent != NULL) &&
(copy->parent->type == XML_ELEMENT_NODE) &&
(copy->parent->ns != NULL))

I think this is the part of the patch which leads to this bug (The attribute name 'xmlns' is not allowed).

but can't find any solution that makes VirtualBox compiles.

Changed 10 years ago by jmbreuer

comment:4 Changed 10 years ago by jmbreuer

I've attached a patch which seems to fix the problem here.

It removes the use of the default namespace from the affected XSLTs, and makes all references to the WSDL namespace explicit as well.

This allows me to build and run virtualbox-4.2.4 on gentoo (see with phpvirtualbox (i.e., using vboxwebsrv).

comment:5 Changed 10 years ago by sergiomb

well can't close the bug that I opened but is fixed in VirtualBox-4.2.6

comment:6 Changed 9 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Thanks for the confirmation!

Note: See TracTickets for help on using tickets.
ContactPrivacy policyTerms of Use