VirtualBox

Ticket #10940 (closed defect: fixed)

Opened 3 years ago

Last modified 2 years 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

Description

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.

Attachments

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

Change History

comment:1 Changed 2 years ago by bird

Seen it with current MacPorts as well. Seems to be related to these libxslt changes:  https://mail.gnome.org/archives/xslt/2012-September/msg00002.html

comment:3 Changed 2 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 2 years ago by jmbreuer

comment:4 Changed 2 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  https://bugs.gentoo.org/show_bug.cgi?id=436246) with phpvirtualbox (i.e., using vboxwebsrv).

comment:5 Changed 2 years ago by sergiomb

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

comment:6 Changed 2 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.

www.oracle.com
ContactPrivacy policyTerms of Use