Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 884185 - app-doc/doxygen-1.9.5 failed to emerge
Summary: app-doc/doxygen-1.9.5 failed to emerge
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM64 Linux
: Normal normal with 1 vote (vote)
Assignee: Matthias Maier
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-03 15:33 UTC by Leonid Kopylov
Modified: 2023-05-20 04:48 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,369.43 KB, text/plain)
2022-12-03 15:34 UTC, Leonid Kopylov
Details
Add deflate support to doxygen-1.9.6 (doxygen-1.9.6-add-deflate-support.patch,92.21 KB, patch)
2023-01-09 00:57 UTC, Anon Emuss
Details | Diff
Prepare doxygen-1.9.5 for adding deflate support (doxygen-1.9.5-prep-for-1.9.6-add-deflate-support.patch,52.14 KB, patch)
2023-01-09 01:05 UTC, Anon Emuss
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Leonid Kopylov 2022-12-03 15:33:58 UTC
# emerge -pqv '=app-doc/doxygen-1.9.5::gentoo'
[ebuild  N    ] app-doc/doxygen-1.9.5  USE="doc dot doxysearch qt5 -clang -debug (-sqlite) -test"

# emerge --info '=app-doc/doxygen-1.9.5::gentoo'
Portage 3.0.40 (python 3.10.8-final-0, default/linux/arm64/17.0/desktop/gnome/systemd/merged-usr, gcc-12, glibc-2.36-r6, 6.0.11-gentoo-arm64 aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.0.11-gentoo-arm64-aarch64-with-glibc2.36
KiB Mem:    16345016 total,   3693048 free
KiB Swap:    8388604 total,   8380924 free
Timestamp of repository gentoo: Sat, 03 Dec 2022 11:00:01 +0000
Head commit of repository gentoo: 04c07b38949b8007b7a6d5739ff339e4479e1040
sh bash 5.2_p12
ld GNU ld (Gentoo 2.39 p5) 2.39.0
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.2_p12::gentoo
dev-lang/perl:             5.36.0-r1::gentoo
dev-lang/python:           3.10.8_p3::gentoo, 3.11.0_p2::gentoo, 3.12.0_alpha2::gentoo
dev-lang/rust:             1.65.0::gentoo
dev-util/cmake:            3.25.1::gentoo
dev-util/meson:            0.64.1::gentoo
sys-apps/baselayout:       2.9::gentoo
sys-apps/sandbox:          2.29::gentoo
sys-apps/systemd:          252.2::gentoo
sys-devel/autoconf:        2.71-r5::gentoo
sys-devel/automake:        1.16.5::gentoo
sys-devel/binutils:        2.39-r4::gentoo
sys-devel/binutils-config: 5.4.1::gentoo
sys-devel/gcc:             12.2.1_p20221008::gentoo
sys-devel/gcc-config:      2.8::gentoo
sys-devel/libtool:         2.4.7::gentoo
sys-devel/llvm:            15.0.6::gentoo
sys-devel/make:            4.4::gentoo
sys-kernel/linux-headers:  6.0::gentoo (virtual/os-headers)
sys-libs/glibc:            2.36-r6::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 24

ACCEPT_KEYWORDS="arm64 ~arm64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="https://mirror.isoc.org.il/pub/gentoo/"
LANG="en_US.utf8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j6"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa arm64 audit berkdb bluetooth branding bzip2 cairo cdda cdr cli colord crypt cups dbus device-mapper doc dri dts dvdr eds encode evo examples exif experimental extra extras flac fontconfig fortran gd gdbm gif gnome gnome-keyring gnome-online-accounts go gpm graphite gstreamer gtk gui iconv icu introspection ipv6 jpeg lcms libglvnd libnotify libsecret libtirpc lvm mad magic mng mp3 mp4 mpeg nautilus ncurses networkmanager nls nptl offensive ogg opengl openmp pam pango pcre pdf plugins png policykit ppds pulseaudio qt5 readline sdl seccomp source spell ssl startup-notification svg symlink systemd test-rust tiff tk tools tracker truetype udev udisks unicode upower usb utils vim-syntax vorbis wayland wxwidgets x264 xattr xcb xinerama xml xv xvid zlib zstd" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb vfp vfpv3 vfpv4 vfp-d32 aes sha1 sha2 crc32 v4 v5 v6 v7 v8 thumb2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev libinput" KERNEL="linux" L10N="en en-US he ru" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_10" PYTHON_TARGETS="python3_10" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Leonid Kopylov 2022-12-03 15:34:22 UTC
Created attachment 839473 [details]
build.log
Comment 2 Claus-Justus Heine 2022-12-07 08:39:18 UTC
Maybe related:

https://github.com/doxygen/doxygen/issues/9319
Comment 3 Klaus Kusche 2022-12-31 12:36:39 UTC
Same problem here for doxygen-1.9.6 with cairo-1.17.6.

This really seems to be 
https://github.com/doxygen/doxygen/issues/9319
but 9319 has been closed upstream?

As far as I can tell, the generated pdf files still contain coded streams
instead of the pdf commands doxygen is looking for,
in spite of https://github.com/doxygen/doxygen/pull/9662 
being in the doxygen code (so CAIRO_DEBUG_PDF should be set).
Comment 4 Klaus Kusche 2022-12-31 13:42:37 UTC
It looks like https://github.com/doxygen/doxygen/pull/9662
is in the code, but not effective:

I wrapped a shell script around dot and checked the environment,
and CAIRO_DEBUG_PDF is *not* set in the environment of the dot calls.

After setting CAIRO_DEBUG_PDF explicitly in my shell wrapper,
doxygen builds without problems 
(but without my dot wrapper, the resulting doxygen of course fails at runtime 
when generating documentation with graphs).
Comment 5 Leonid Kopylov 2022-12-31 13:51:44 UTC
(In reply to Klaus Kusche from comment #4)
> It looks like https://github.com/doxygen/doxygen/pull/9662
> is in the code, but not effective:
> 
> I wrapped a shell script around dot and checked the environment,
> and CAIRO_DEBUG_PDF is *not* set in the environment of the dot calls.
> 
> After setting CAIRO_DEBUG_PDF explicitly in my shell wrapper,
> doxygen builds without problems 
> (but without my dot wrapper, the resulting doxygen of course fails at
> runtime 
> when generating documentation with graphs).

yes, after setting CAIRO_DEBUG_PDF="1" before emerge command, it compiles
Comment 6 Anon Emuss 2023-01-09 00:57:50 UTC
Created attachment 847995 [details, diff]
Add deflate support to doxygen-1.9.6

The developers appear to have fixed the problem upstream.  The changes are after the doxygen-1.9.6 release but are in the current master branch and so will presumably be included in the doxygen-1.9.7 release.

The workaround using the CAIRO_DEBUG_PDF flag to disable deflate in Cairo, as noted, did not work particularly well, and the developers appear to think that is not a long-term solution, so they went ahead and added deflate support in doxygen (and removed the CAIRO_DEBUG_PDF workaround).

I combined the commits adding and fixing the deflate support from the current master branch into a single patch, which I am attaching.  This patch should apply to doxygen-1.9.6, although I only tested it against doxygen-1.9.5 (see next commit).

Should anybody decide to use this patch, I would like to reiterate that I only combined commits from the current master branch of doxygen (the commits are listed in the comments at the top of the patch), so this is essentially doxygen code.  Presumably, the patch contents will therefore be part of the next release.
Comment 7 Anon Emuss 2023-01-09 01:05:21 UTC
Created attachment 847997 [details, diff]
Prepare doxygen-1.9.5 for adding deflate support

As doxygen-1.9.5 is the currently stable version of doxygen, I wanted to be able to patch that version.  The patch I made for doxygen-1.9.6 does not directly apply to doxygen-1.9.5.  In particular, the patch reverts the CAIRO_DEBUG_PDF workaround added to doxygen-1.9.6 in favor of actually supporting deflate, so in order to apply the patch as-is, I needed to include the commit adding the CAIRO_DEBUG_PDF workaround.  The patch for doxygen-1.9.6 also requires some new methods that were added to the Portable class in doxygen-1.9.6, so I also needed the commit adding those methods.  I combined these commits into a patch, which I am attaching (the specifics of the commits are described in the patch comments).

To use my patches with doxygen-1.9.5, apply both my doxygen-1.9.5 and doxygen-1.9.6 patches.  I did this, and it appears to get doxygen-1.9.5 to fully build.

Once doxygen-1.9.6 is stabilized, only the doxygen-1.9.6 patch should be required.

Hopefully, once doxygen-1.9.7 is released, none of these patches should be required, as all of the patch contents are from commits currently in the doxygen tree.  The doxygen-1.9.5 patch is made of commits currently in the doxygen-1.9.6 release, and the doxygen-1.9.6 patch is made of commits currently in the doxygen master branch, but after the doxygen-1.9.6 release.
Comment 8 Larry the Git Cow gentoo-dev 2023-05-20 04:48:42 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d3d66a260ae0b1e4a8b891cb387015747e26854e

commit d3d66a260ae0b1e4a8b891cb387015747e26854e
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-05-20 04:48:22 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-05-20 04:48:22 +0000

    app-doc/doxygen: add 1.9.7
    
    Closes: https://bugs.gentoo.org/884185
    Closes: https://bugs.gentoo.org/903029
    Signed-off-by: Sam James <sam@gentoo.org>

 app-doc/doxygen/Manifest             |   1 +
 app-doc/doxygen/doxygen-1.9.7.ebuild | 139 +++++++++++++++++++++++++++++++++++
 app-doc/doxygen/doxygen-9999.ebuild  |   4 +-
 3 files changed, 142 insertions(+), 2 deletions(-)