Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 554974 - =app-doc/doxygen-1.8.10 version bump and switch to CMake build
Summary: =app-doc/doxygen-1.8.10 version bump and switch to CMake build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Development Tools Team
URL:
Whiteboard:
Keywords:
Depends on: 556808
Blocks:
  Show dependency tree
 
Reported: 2015-07-15 14:49 UTC by Alex Turbov
Modified: 2015-08-14 14:26 UTC (History)
1 user (show)

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


Attachments
CMake based ebuilf (doxygen-1.8.10.ebuild,4.82 KB, text/plain)
2015-07-15 14:49 UTC, Alex Turbov
Details
build.log for doxygen installed without libraries (app-doc:doxygen-1.8.10:20150806-101322.log,133.05 KB, text/plain)
2015-08-06 10:16 UTC, Marien Zwart (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Turbov 2015-07-15 14:49:17 UTC
New version is out. Upstream has switched to CMake based build.

Reproducible: Always
Comment 1 Alex Turbov 2015-07-15 14:49:40 UTC
Created attachment 406852 [details]
CMake based ebuilf
Comment 2 Matthias Maier gentoo-dev 2015-08-05 21:58:14 UTC
Thanks a lot.

I have updated doxygen to 1.8.10, currently only keyworded for ~amd64.


*doxygen-1.8.10 (05 Aug 2015)

  05 Aug 2015; Matthias Maier <tamiko@gentoo.org> +doxygen-1.8.10.ebuild,
  +files/doxygen-1.8.10-link_with_pthread.patch, doxygen-9999.ebuild:
  version bump; switch to cmake - many thanks to Alex Turbov for a preliminary
  ebuild; drop keywords due to major build system change
Comment 3 Marien Zwart (RETIRED) gentoo-dev 2015-08-06 10:15:07 UTC
This results in a /usr/bin/doxygen that cannot run, because its libraries are missing:

% ldd /usr/bin/doxygen
        linux-vdso.so.1 (0x00007ffdde921000)
        lib_doxygen.so => not found
        libdoxycfg.so => not found
        libqtools.so => not found
        libmd5.so => not found
        libvhdlparser.so => not found
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003f5c400000)
        libclang.so => /usr/lib64/libclang.so (0x00007f40c85a9000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6 (0x0000003f6d800000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1 (0x0000003f6dc00000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003f5bc00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003f5b800000)
        libLLVM-3.6.so => /usr/lib64/libLLVM-3.6.so (0x00007f40c6d75000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003f5c000000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003f5cc00000)
        libz.so.1 => /lib64/libz.so.1 (0x0000003f5c800000)
        libffi.so.6 => /usr/lib64/libffi.so.6 (0x0000003f5f400000)
        libncurses.so.5 => /lib64/libncurses.so.5 (0x0000003f5d400000)

The only things installed are /usr/bin/doxygen and some /usr/share/doc/doxygen-1.8.10/ files. I'll attach build.log. Let me know if you need further information or prefer a separate bug.
Comment 4 Marien Zwart (RETIRED) gentoo-dev 2015-08-06 10:16:08 UTC
Created attachment 408392 [details]
build.log for doxygen installed without libraries
Comment 5 Alex Turbov 2015-08-06 11:14:07 UTC
Doxygen do not use library type in their CMakeLists.txt, but it is supposed to be static libraries (they are not going to be installed according CMakeLists). My output:

zaufi@gentop〉~〉ldd `which doxygen`
        linux-vdso.so.1 (0x00007fffc11f7000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe61e918000)
        libclang.so => /usr/lib64/libclang.so (0x00007fe61d9bc000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6 (0x00007fe61d6ac000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fe61d3b1000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1 (0x00007fe61d19a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fe61cdff000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fe61eb34000)
        libLLVM-3.6.so => /usr/lib64/libLLVM-3.6.so (0x00007fe61b782000)
        libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fe61b57e000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fe61b366000)
        libffi.so.6 => /usr/lib64/libffi.so.6 (0x00007fe61b15d000)
        libncurses.so.5 => /lib64/libncurses.so.5 (0x00007fe61af04000)

In your case, it looks like BUILD_SHARED_LIBS was set to ON somehow...
Comment 6 Marien Zwart (RETIRED) gentoo-dev 2015-08-06 11:21:36 UTC
Forgot to mention: the /usr/bin/doxygen I end up with is only 16K (it's not just some bogus DT_NEEDED).
Comment 7 Marien Zwart (RETIRED) gentoo-dev 2015-08-06 11:31:58 UTC
Looking at build.log, the cmake invocation does indeed enable BUILD_SHARED_LIBS. That's presumably because the ebuild does:

src_configure() {
        local mycmakeargs=(
            -DBUILD_SHARED_LIBS=YES
...

So let's remove that line from the ebuild and try again:

% doxygen --version
1.8.10

and now it's a 12M binary.

Are you sure you're using the same ebuild I am? I'm using the ebuild that got submitted to portage.
Comment 8 Tobias Klausmann (RETIRED) gentoo-dev 2015-08-06 11:51:42 UTC
I can reproduce both the breakage with the current-in-tree ebuild (sha256sum: ) and the fixage by dropping the -D addendum marienz mentioned in #7.

Is there a compelling reason to not have doxygen just semi-statically built, i.e. just dropping the -D and moving on?
Comment 9 Tobias Klausmann (RETIRED) gentoo-dev 2015-08-06 11:52:37 UTC
Sorry, forgot the sha256sum: c9271cf76b3c52957d3aec1700dbb278764a25c7adc800688e5e23d4513bb16b  /usr/portage/app-doc/doxygen/doxygen-1.8.10.ebuild
Comment 10 Alex Turbov 2015-08-06 12:02:33 UTC
I'm still using ebuild which I attached to this bug, not that from the Portage tree...
Comment 11 Matthias Maier gentoo-dev 2015-08-06 14:55:48 UTC
Good point.

I did a huge mistake by testing this with the shared libraries accidentally in place.


*doxygen-1.8.10-r1 (06 Aug 2015)

  06 Aug 2015; Matthias Maier <tamiko@gentoo.org> +doxygen-1.8.10-r1.ebuild:
  do not link support libraries dynamically, see discussion on bug #554974;
  reintroduce useless latex use flag, see bug #556808