Summary: | app-emulation/virtualbox-5.0.0 - xmllint - failed to load external entity "/docbookx.dtd" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Juergen Rose <rose> |
Component: | Current packages | Assignee: | Lars Wendler (Polynomial-C) (RETIRED) <polynomial-c> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | CC: | kripton, leonchik1976, Martin.vGagern, patrick, proteuss, saintdev, szalkai, walch.martin, zbox |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log.bz2
DEPEND on app-text/docbook-sgml-dtd:4.4 if USE=doc Proposed workaround |
Description
Juergen Rose
2015-07-15 08:08:15 UTC
'USE=-doc emerge -v1 virtualbox' works. Same problem encountered. Also I think the ebuild should enforce MAKEOPTS=-j1, because the upstream makefile is broken and doesn't work with more processes. Still problem with virtualbox-5.0.2. It seems that in virtualbox-5-localconfig, the 'VBOX_DOCBOOK_WITH_LATEX := 1' is not supported and it uses docbooks sgml, but it uses wrong URI, i.e. --dtdvalid /docbookx.dtd in xmllint is wrong URI, because VBOX_PATH_DOCBOOK_DTD is expanded to empty string, by adding the following into virtualbox-5-localconfig: VBOX_PATH_DOCBOOK_DTD := /usr/share/sgml/docbook/sgml-dtd-4.4 the error is gone, but it fails later on: mktexpk: don't know how to create bitmap font for fvmb8r. mktexpk: perhaps fvmb8r is missing from the map file. So building with USE=doc is currently broken in virtualbox 5. (In reply to Yarda from comment #3) > [one could add] the following into virtualbox-5-localconfig: > VBOX_PATH_DOCBOOK_DTD := /usr/share/sgml/docbook/sgml-dtd-4.4 > > the error is gone, but it fails later on: > mktexpk: don't know how to create bitmap font for fvmb8r. > mktexpk: perhaps fvmb8r is missing from the map file. > > So building with USE=doc is currently broken in virtualbox 5. As of 5.0.4, this works. The only difference -- not sure if it's important -- was to put a slash at the end. (I was aping https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798638. Specifically, I created /etc/portage/env/app-emulation/virtualbox-5.0.4 with these contents: post_src_prepare() { local lcfile="${WORKDIR}"/VirtualBox-${PV}/LocalConfig.kmk [[ -f ${lcfile} ]] || \ die "Expected \"${lcfile}\" to exist but it doesn't." einfo "/etc/portage/env: injecting dtd path into \"${WORKDIR}\"." sed -e '/^VBOX_PATH_APP_DOCS/aVBOX_PATH_DOCBOOK_DTD := /usr/share/sgml/docbook/xml-dtd-4.4/' \ -i "${lcfile}" || \ die "sed \"${lcfile}\" failed." } I still have the issue, also with virtualbox-5.0.6. Does it still fail with virtualbox-5.0.14? Thanks for looking into this, but it still doesn't work for me, even with 5.0.14: kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+48/600 --dpi 648 fvmb8r mktexpk: don't know how to create bitmap font for fvmb8r. mktexpk: perhaps fvmb8r is missing from the map file. kpathsea: Appending font creation commands to missfont.log. kmk: *** [/var/tmp/portage/app-emulation/virtualbox-5.0.14/work/VirtualBox-5.0.14/out/linux.amd64/release/obj/manual/en_US/UserManual.pdf] Error 1 There may be also some misconfiguration of my texlive. I tried to re-emerge every dep, but it didn't help. Also I don't see problems with other packages. With 5.0.14 I don't see the UserManual.pdf error Yarda describes. UserManual.pdf isn't mentioned at all in my build log. Instead I see warning: failed to load external entity "/usr/share/sgml/docbook/sgml-dtd-4.4/docbookx.dtd" Could not parse DTD /usr/share/sgml/docbook/sgml-dtd-4.4/docbookx.dtd kmk: *** [/var/tmp/portage/app-emulation/virtualbox-5.0.14/work/VirtualBox-5.0.1 4/out/linux.amd64/release/obj/manual/en_US/validatemanual.run] Error 2 just like in comment 0. (In reply to Martin von Gagern from comment #8) > With 5.0.14 I don't see the UserManual.pdf error Yarda describes. > UserManual.pdf isn't mentioned at all in my build log. Instead I see > Because the first error you encountered is earlier in the build process. The UserManual.pdf is build a while after. > warning: failed to load external entity > "/usr/share/sgml/docbook/sgml-dtd-4.4/docbookx.dtd" > Could not parse DTD /usr/share/sgml/docbook/sgml-dtd-4.4/docbookx.dtd > > kmk: *** > [/var/tmp/portage/app-emulation/virtualbox-5.0.14/work/VirtualBox-5.0.1 > 4/out/linux.amd64/release/obj/manual/en_US/validatemanual.run] Error 2 > > just like in comment 0. There is probably something wrong with your docbook, because the path used by VirtualBox ebuild seems now OK. You need especially the following package: app-text/docbook-sgml-dtd-4.4 Try to re-emerge it and it's dependencies. Also maybe the package is missing from the dependencies (I didn't check). *** Bug 569168 has been marked as a duplicate of this bug. *** *** Bug 574098 has been marked as a duplicate of this bug. *** *** Bug 575802 has been marked as a duplicate of this bug. *** Created attachment 428356 [details, diff]
DEPEND on app-text/docbook-sgml-dtd:4.4 if USE=doc
I can confirm, the issue still exists in virtualbox-5.0.16-r1. To build with USE=doc needs app-text/docbook-sgml-dtd:4.4 , so I guess it should be included in the ebuild.
I attached a trivial patch.
Not counting that you still need to build it with MAKEOPTS=-j1, this should be also patched in the ebuild (well, the deps should be fixed in the Makefile, but this is the fastest approach :) (In reply to Yarda from comment #14) > Not counting that you still need to build it with MAKEOPTS=-j1, this should > be also patched in the ebuild (well, the deps should be fixed in the > Makefile, but this is the fastest approach :) I opened bug 577716 regarding this issue. Created attachment 429630 [details, diff] Proposed workaround It seems there are still multiple issues regarding the USE=doc build. At first it seems that dev-texlive/texlive-fontsextra-2014 is broken regarding pdflatex. I filled bug 579018 regarding this problem. Till resolved the attached patch is workaround for the problem. But there is still sandbox violation when the rest of fonts are built so also the following virtualbox ebuild patch is needed: @@ -211,6 +214,8 @@ src_compile() { source ./env.sh || die + export VARTEXFONTS="${T}/fonts" + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) # and strip all flags # strip-flags (In reply to Yarda from comment #16) Or alternatively instead of the workaround patch you can enable all the needed fonts, for me the following was enough: # updmap-sys --enable Map bera.map # updmap-sys --enable Map charter.map It seems the texlive fonts are now not enabled by default, I addressed this problem in the bug 579018. In case you don't have generated all the required fonts (together with the fonts above), you also need the following virtualbox ebuild patch, otherwise you encounter sandbox violation: > @@ -211,6 +214,8 @@ > src_compile() { > source ./env.sh || die > > + export VARTEXFONTS="${T}/fonts" > + > # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) > # and strip all flags > # strip-flags (In reply to Yarda from comment #17) > (In reply to Yarda from comment #16) > Or alternatively instead of the workaround patch you can enable all the > needed fonts, for me the following was enough: > # updmap-sys --enable Map bera.map > # updmap-sys --enable Map charter.map > > It seems the texlive fonts are now not enabled by default, I addressed this > problem in the bug 579018. > > In case you don't have generated all the required fonts (together with the > fonts above), you also need the following virtualbox ebuild patch, otherwise > you encounter sandbox violation: > > > @@ -211,6 +214,8 @@ > > src_compile() { > > source ./env.sh || die > > > > + export VARTEXFONTS="${T}/fonts" > > + > > # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) > > # and strip all flags > > # strip-flags This issue still persists and more fonts are now needed by virtualbox-5.1.8. This is consequence of bug 579018 which will probably not get fixed in texlive-2014. The above workaround with VARTEXFONTS which put temporally generated fonts during build inside sandbox still fix it. TLDR: some fonts in texlive-2014 may not be explicitly enabled due to bug in sorting in texlive configuration files parser which manifests with some locales (e.g. Czech). This still happens with current stable candidate app-emulation/virtualbox-5.1.10-r1 Still missing the docbook-sgml-dtd:4.4 dependency in current stable ebuild virtualbox-5-0.32. Emerge fails at the point already described. To get further I added the dependency: DEPEND="${RDEPEND} >=dev-util/kbuild-0.1.9998_pre20131130 >=dev-lang/yasm-0.6.2 sys-devel/bin86 sys-libs/libcap sys-power/iasl virtual/pkgconfig alsa? ( >=media-libs/alsa-lib-1.0.13 ) doc? ( dev-texlive/texlive-basic dev-texlive/texlive-latex dev-texlive/texlive-latexrecommended dev-texlive/texlive-latexextra dev-texlive/texlive-fontsrecommended dev-texlive/texlive-fontsextra app-text/docbook-sgml-dtd:4.4 ############## ) !headless? ( x11-libs/libXinerama ) java? ( >=virtual/jre-1.6:= ) pam? ( sys-libs/pam ) pulseaudio? ( media-sound/pulseaudio ) vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) ${PYTHON_DEPS}" But after adding the dependency to the ebuild, the missing was installed but virtualbox-5.0.32 emerge fails at: ... /usr/bin/kmk_sed \ -e 's|^\\QUOTE{}|\\OQ{}|g' \ -e 's|\(\W\)\\QUOTE{}|\1\\OQ{}|g' \ -e 's|\(\w\)\\QUOTE{}|\1\\CQ{}|g' \ --output /var/tmp/portage/app-emulation/virtualbox-5.0.32/work/VirtualBox-5.0.32/out/linux.amd64/release/obj/manual/en_US/UserManual.tex /var/tmp/portage/app-emulation/virtualbox-5.0.32/work/VirtualBox-5.0.32/out/linux.amd64/release/obj/manual/en_US/UserManual.tex.tmp kmk_builtin_rm -f /var/tmp/portage/app-emulation/virtualbox-5.0.32/work/VirtualBox-5.0.32/out/linux.amd64/release/obj/manual/en_US/UserManual.tex.tmp pdflatex {T}/manual/en_US/UserManual.tex (four passes) -> {T}/manual/en_US/UserManual.pdf /usr/bin/kmk_redirect -w+ti /dev/null -C /var/tmp/portage/app-emulation/virtualbox-5.0.32/work/VirtualBox-5.0.32/out/linux.amd64/release/obj/manual/en_US -- pdflatex -halt-on-error -interaction batchmode UserManual.tex This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015) (preloaded format=pdflatex) restricted \write18 enabled. entering extended mode kmk: *** [/var/tmp/portage/app-emulation/virtualbox-5.0.32/work/VirtualBox-5.0.32/out/linux.amd64/release/obj/manual/en_US/UserManual.pdf] Error 1 kmk: *** Waiting for unfinished jobs.... kmk_builtin_append -n "/var/tmp/portage/app-emulation/virtualbox-5.0.32/work/VirtualBox-5.0.32/out/linux.amd64/release/obj/VMMR0/VMMAll/IEMAll.o.dep" "" "/var/tmp/portage/app-emulation/virtualbox-5.0.32/work/VirtualBox-5.0.32/src/VBox/VMM/VMMAll/IEMAll.cpp:" "" kmk: *** Exiting with status 2 ... But this seems to be another bug... At this point I compiles with USE='-doc' to explore this issue later on. ervin commit 5bd8521042bfc356fd20c4505a6c6780d9f4510b Author: Lars Wendler <polynomial-c@gentoo.org> Date: Fri Feb 3 16:12:23 2017 app-emulation/virtualbox: Fixed parallel build issue (bug #413467). Also attempt to finally fix creation and installation of docs (bug #554932). Package-Manager: Portage-2.3.3, Repoman-2.3.1 Please test and report back if doc creation now works for you. Still broken in stable 5.0.32. As mentioned above, there is a pdflatex error on UserManual.tex: [..] \c@paragraph=\count85 \c@subparagraph=\count86 LaTeX Info: Redefining \textsubscript on input line 2518. ! LaTeX Error: Command \@textsubscript already defined. Or name \end... illegal, see p.192 of the manual. See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help. ... l.2523 } [..] ...using the stable telive2015. ervin |