Ticket #10940 (closed defect: fixed)

Opened 19 months ago

Last modified 16 months ago

libxslt-1.1.27 breaks building on Fedora rawhide

Reported by: sergiomb Owned by:
Priority: major 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 16 months ago.

Change History

comment:1 Changed 17 months ago by bird

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

comment:3 Changed 17 months 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 16 months ago by jmbreuer

comment:4 Changed 16 months 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 16 months ago by sergiomb

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

comment:6 Changed 16 months 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