dracwyrm / gentoo-ebuilds

Gentoo Linux ebuilds for Blender and dependency work.
8 stars 4 forks source link

media-gfx/openvdb: PDFDoc fails to install. #10

Closed dracwyrm closed 7 years ago

dracwyrm commented 8 years ago

It starts to compile, but I get a long long bit of output like this: Package hyperref Warning: Token not allowed in a PDF string (Unicode):

(hyperref)                removing `alignment tab' on input line 3554.

Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `alignment tab' on input line 3554.

Package hyperref Warning: Token not allowed in a PDF string (Unicode):
(hyperref)                removing `alignment tab' on input line 3554.

! Extra }, or forgotten \endgroup.
<recently read> \egroup 

l.3579 \end{DoxyParams}

? 
! Emergency stop.
<recently read> \egroup 

l.3579 \end{DoxyParams}

!  ==> Fatal error occurred, no output PDF file produced!

It's the same if I go into that directory and try a manual compile. One of my programs is not compatible with this version of the script.

@redchillipadi what versions do you use? Maybe it's something incompatible? Or maybe there is a hidden depend somewhere?

redchillipadi commented 8 years ago

echo -e 'OUTPUT_DIRECTORY=./doc\nGENERATE_LATEX=YES\nGENERATE_HTML=NO' \ | cat doxygen-config - | doxygen - > /dev/null \ && cd ./doc/latex && make refman.pdf > /dev/null \ && echo 'Created doc/latex/refman.pdf' This is makeindex, version 2.15 [TeX Live 2015] (kpathsea + Thai support). Scanning input file refman.idx.......................done (19941 entries accepted, 0 rejected). Sorting entries.............................................................................................................................................................................................................................done (326777 comparisons). Generating output file refman.ind.....................done (28102 lines written, 0 warnings). Output written in refman.ind. Transcript written in refman.ilg. This is makeindex, version 2.15 [TeX Live 2015] (kpathsea + Thai support). Scanning input file refman.idx.......................done (19941 entries accepted, 0 rejected). Sorting entries............................................................................................................................................................................................................................done (324877 comparisons). Generating output file refman.ind.....................done (28101 lines written, 0 warnings). Output written in refman.ind. Transcript written in refman.ilg. Created doc/latex/refman.pdf

redchillipadi commented 8 years ago

$ latex --version pdfTeX 3.14159265-2.6-1.40.16 (TeX Live 2015) kpathsea version 6.2.1 Copyright 2015 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX). There is NO warranty. Redistribution of this software is covered by the terms of both the pdfTeX copyright and the Lesser GNU General Public License. For more information about these matters, see the file named COPYING and the pdfTeX source. Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX). Compiled with libpng 1.6.21+apng; using libpng 1.6.21+apng Compiled with zlib 1.2.8; using zlib 1.2.8 Compiled with poppler version 0.42.0

redchillipadi commented 8 years ago

I am using Doxygen 1.8.10 [dot, latex] ghostscript-gpl 9.15-r1 [X cups dbus gtk tiff] texlive-latex-2015 pdoc-0.3.1 with python 3.5 patch

I suspect you have equivalent versions for all of these given the first two packages are stable and knowing the openvdb ebuild requirements

When I install texlive-latex I needed to mark a lot of packages ~amd64. I will try to return as many to stable as possible to try to reproduce your error dev-libs/librevenge ~amd64 dev-libs/kpathsea ~amd64 app-text/dvipsk ~amd64 app-text/dvipng ~amd64 app-text/ps2pkm ~amd64 app-text/texlive-core ~amd64 dev-tex/bibtexu ~amd64 app-text/teckit ~amd64 dev-python/sphinx ~amd64 dev-python/sphinx_rtd_theme ~amd64 dev-python/docutils ~amd64 dev-python/snowballstemmer ~amd64 dev-python/alabaster ~amd64 dev-python/jinja ~amd64 dev-python/pygments ~amd64 dev-python/Babel ~amd64 dev-python/nose ~amd64 dev-python/mock ~amd64 dev-python/markupsafe ~amd64 dev-python/markdown ~amd64 dev-python/mako ~amd64 dev-python/pytz ~amd64 dev-texlive/texlive-latex ~amd64 dev-texlive/texlive-basic ~amd64 dev-texlive/texlive-latexextra ~amd64 dev-texlive/texlive-pictures ~amd64 dev-texlive/texlive-latexrecommended ~amd64 dev-texlive/texlive-formatsextra ~amd64 dev-texlive/texlive-xetex ~amd64

redchillipadi commented 8 years ago

I have downgraded to texlive-2014 (stable) and out of the above list I only needed dev-python/pygments ~amd64 dev-python/markupsafe ~amd64 dev-python/mako ~amd64

The pdf is still created fine with texlive-2014 on my system so I am changing the version dependency in the ebuild.

However now the blender python documentation fails to compile with a sandbox error accessing nvidia-ctl. I will investigate further

dracwyrm commented 8 years ago

I changed the ebuild to this:

#   use python && python_foreach_impl python_module_compile

    if use python && use doc; then
        mypythonargs+=( EPYDOC=pdoc )
    else
        mypythonargs+=( EPYDOC= )
    fi

    # Installing to a temp dir, because variables won't be remembered.
    einfo "Compiling the main components."
#   emake install ${myemakeargs[@]} ${mypythonargs[@]}
    use pdfdoc && emake pdfdoc ${myemakeargs[@]} ${mypythonargs[@]}
    die "=== CHECK INSTALL FILES ==="

So it would only do the PDF Doc, which doesn't need any depends built, so the build log is pure. I also double checked my use flags against your's.

I attached the build log. If you could do the same, including the die statement in your ebuild, and compare the build logs, you may spot a tiny difference that makes all the difference. It could be one missing depend.

I don't have dev-python/mako installed because it's marked for removal from the tree. build.log.txt

redchillipadi commented 8 years ago

Sorry, I had not realised you had updated the openvdb script until half an hour ago. The tests I did above after downgrading to texlive-2014 were done using the previous version. The new version fails as per my comment in Issue #8 because I it is trying to install for python2_7 and python3_5 using the 2.7 version of pdoc.

I am not sure how you got rid of mako because it is an RDEPEND of dev-python/pdoc I think at least 1.0.2 is necessary to provide python3_5 support, but emerge only lets me use 1.0.3.

dracwyrm commented 8 years ago

Oh. Sorry. I do have mako, I think I typed it in wrong reading you list of installed packages. Oops. I am looking into a nice fix to the pydoc issue trying to stay as clean as possible for the ebuild. Without doc/pdfdoc, OpenVDB compiles three times faster than before!!! So it's a start.

redchillipadi commented 8 years ago

I really need to set up tarballs for a number of configurations of gentoo systems so that I can quickly switch between texlive versions for testing.

dracwyrm commented 8 years ago

Just keep the latest texlive installed. IF something doesn't work, we should just share versions, but I think we pretty much have the same versions. Well, I did put the new version of pdoc up. :)

redchillipadi commented 8 years ago

By the latest do you mean stable or ~amd64?

I am trying to confirm whether texlive-2015 is a requirement for creating the documentation, as the old ebuild from a day ago worked with texlive-2015 and sphinx 1.3.5[latex] for me, and also for texlive-2014 and sphinx-1.3.1.

Now with your openvdb patch and ebuild and the stable 2014/1.3.1 versions it gives me errors. Once I have completed the blender test I will attach the openvdb build log

redchillipadi commented 8 years ago

This is my build log with texlive-2014/sphinx-1.3.1 and your openvdb testing patch and ebuild build.log.txt

dracwyrm commented 8 years ago

I think I remember you saying that when you first tested it, it was successful several days ago, so you were on texlive 2015?

Thanks for the build log. Now I study it.

redchillipadi commented 8 years ago

It must be something related to the new ebuild or patches. When I used the ebuild from commit f7297c3 (with the texlive dependency changed to 2014) the pdf, html and python documentation are all created without errors.

So to be clear, I used this ebuild openvdb-3.1.0.ebuild.txt and switched back to the patches in the files directory from commit f7297c3 and texlive-2014 and sphinx-1.3.1

My working build log is build.log.2.txt (I truncated the install by Ctrl-C to stop it being erased)

redchillipadi commented 8 years ago

In regards to your previous comment, yes, I was on texlive 2015 until about 10 hours ago. This means that, for me, both the stable and ~amd64 versions of texlive and sphinx will work with the ebuild from commit f7297c3

dracwyrm commented 8 years ago

Would you be able to do as root this command: equery b /usr/share/texmf-dist/tex/latex/xtab/xtab.sty This is the one difference that I spotted between the two installations.

redchillipadi commented 8 years ago

Its from dev-texlive/texlive-latexextra-2014

dracwyrm commented 8 years ago

It's in the same for 2015, but for you it's loading and me it's not. I think this boils down to something screwed up with my latex installation. Hopefully. Thanks for trying to help. I will keep investigating this.

I just pushed some fixes for OpenVDB to master. You should be able to compile that with 2014/2015. Every thing else for me works. The HTML docs are actually really good. I have noticed another issue, that requires a different bug report. :P Even the old ebuilds never installed the regular text file docs that are in the doc directory of the source. Not that they are needed....

redchillipadi commented 8 years ago

Its no trouble. Thank you for helping to sort out the hack for the nvidia card.

Regarding the documentation I have the following use flags set, not sure if they might help. dev-python/sphinx latex app-text/texlive extra app-text/texlive-core xetex app-doc/doxygen latex

dracwyrm commented 8 years ago

I don't have xetex. I will try it.

Calculating dependencies... done!
[ebuild   R    ] dev-python/sphinx-1.3.5::gentoo  USE="latex -doc {-test}" PYTHON_TARGETS="python2_7 python3_4 python3_5 -pypy -python3_3" 0 KiB
[ebuild   R    ] app-text/texlive-core-2015::gentoo  USE="X luajittex xetex -cjk -doc -source -tk" 0 KiB
[ebuild   R    ] app-text/texlive-2015::gentoo  USE="X extra png truetype xml -cjk -context -detex -dvi2tty -epspdf -games -graphics -humanities -jadetex -luatex -metapost -music -omega -pdfannotextractor -pstricks -publishers -science -tex4ht -texi2html -xetex -xindy" LINGUAS="en -af -ar -as -bg -bn -br -ca -cs -cy -da -de -el -en_GB -eo -es -et -eu -fa -fi -fr -ga -gl -gu -he -hi -hr -hsb -hu -hy -ia -id -is -it -ja -kn -ko -la -lo -lt -lv -ml -mn -mr -nb -nl -nn -no -or -pa -pl -pt -rm -ro -ru -sa_IN -sco -sk -sl -sq -sr -sv -ta -te -th -tk -tr -uk -vi -zh" 0 KiB
[ebuild   R    ] app-doc/doxygen-1.8.11-r1::gentoo  USE="clang dot latex qt5 -debug -doc -doxysearch (-sqlite)" LINGUAS="-af -ar -ca -cs -da -de -el -eo -es -fa -fi -fr -hr -hu -hy -id -it -ja -ko -lt -mk -nb -nl -pl -pt -pt_BR -ro -ru -sk -sl -sr -sv -tr -uk -vi -zh" 0 KiB

Maybe I broke latex or doxygen somehow? I might recompile things and see if that helps.

I'm making this a none showstopper as it works for you, so it will work for others and maybe not others, but I doubt many people will use docs anyways.

redchillipadi commented 8 years ago

Since we both consider this a non showstopper, should we mark this as an enhancement?

dracwyrm commented 8 years ago

Yeah. Sounds good. If it works for you it may work for others. We'll just need to tell people we are working on it. I'm almost tempted to ask you for a full install list of every package you have with use flags, but that would be a bit extreme... and huge. I may try rebuilding all my latex packages to see if something is broken.

redchillipadi commented 8 years ago

I am syncing and upgrading to the latest packages. Once that is done I will test the docs still work and send the list to your gmail (from bugs.gentoo.org).

equery list '*' does not provide USE flags. I planned to use the script from http://nikita.melnichenko.name/blog.php?id=13 - is there a better way?

dracwyrm commented 8 years ago

I haven't found a better way. It's a pain to get all the installed packages and use flags except for emerge -pve @installed but that only works if the ebuild is still in the tree. I install somethings and don't upgrade even when there is no ebuild anymore.

dracwyrm commented 7 years ago

I think 3.2 might be removed from portage since it looks like 4.0 is working with everything.