Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 495286 - =media-gfx/exiv2-0.23-r2 USE=doc - dohtml: doc/html/ does not exist
Summary: =media-gfx/exiv2-0.23-r2 USE=doc - dohtml: doc/html/ does not exist
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords:
: 496646 (view as bug list)
Depends on:
Blocks: 526042
  Show dependency tree
 
Reported: 2013-12-25 06:46 UTC by Yixun Lan
Modified: 2014-12-12 16:48 UTC (History)
10 users (show)

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


Attachments
build log (media-gfx:exiv2-0.23-r2:20131229-170135.log,79.93 KB, text/plain)
2013-12-29 19:59 UTC, Martin von Gagern
Details
build.log (build.log,74.68 KB, text/plain)
2014-09-18 21:35 UTC, Andrew Savchenko
Details
emerge --info (emerge.info,9.08 KB, text/plain)
2014-09-18 21:36 UTC, Andrew Savchenko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yixun Lan archtester gentoo-dev 2013-12-25 06:46:35 UTC
make[1]: Leaving directory '/var/tmp/portage/media-gfx/exiv2-0.23-r2/work/exiv2-0.23-amd64/po'
   * Removing unnecessary /usr/lib64/libexiv2.la (no static archive)
   * amd64: running dohtml -r doc/html/.
  !!! dohtml: doc/html/ does not exist
   * ERROR: media-gfx/exiv2-0.23-r2::gentoo failed (install phase):
   *   dohtml failed


Reproducible: Always
Comment 1 Rafał Mużyło 2013-12-25 08:25:23 UTC
This has too little info to be seriously considered a bug report.

Also, it's already covered by later comments in bug 494954 (though granted, those should have gone into a new report).
Comment 2 Martin von Gagern 2013-12-29 19:59:21 UTC
Created attachment 366480 [details]
build log

 * amd64: running emake doc
make -j5 doc 
make: Nothing to be done for 'doc'.
>>> Source compiled.

The Makefile in that directory reads:

doc: config/config.mk
        cd doc && $(MAKE) $(MAKECMDGOALS)

and doc is .PHONY as it should be. So I ran this through strace.

execve("/usr/bin/make", ["make", "-j5", "doc"], [/* 317 vars */]) = 0
[…]
getcwd("/var/tmp/portage/media-gfx/exiv2-0.23-r2/work/exiv2-0.23", 8192) = 57
[…]
stat("GNUmakefile", 0x7ffffc6df520)     = -1 ENOENT (No such file or directory)
stat("makefile", 0x7ffffc6df520)        = -1 ENOENT (No such file or directory)
stat("Makefile", 0x7ffffc6df520)        = -1 ENOENT (No such file or directory)
stat("doc", {st_mode=S_IFDIR|0755, st_size=220, ...}) = 0
[…]
write(1, "make: Nothing to be done for 'doc'.\n", 36) = 36
[…]

So the core problem here appears to be that the above command gets executed not in work/exiv2-0.23-amd64 but in work/exiv2-0.23. Apparently multilib_for_best_abi does not do what the ebuild writer expected it to do.
Comment 3 Rafał Mużyło 2014-01-01 06:33:06 UTC
*** Bug 496646 has been marked as a duplicate of this bug. ***
Comment 4 Juergen Rose 2014-01-04 14:06:08 UTC
'USE=-doc emerge exiv2' works.
Comment 5 Martin von Gagern 2014-01-14 18:38:04 UTC
Augment the multilib_for_best_abi calls with run_in_build_dir, like this:

src_compile() {
    ⋮
    use doc && multilib_for_best_abi run_in_build_dir emake doc
}

src_install() {
    ⋮
    use doc && multilib_for_best_abi run_in_build_dir dohtml -r doc/html/.
    ⋮
}

Works for me.
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-01-15 10:22:16 UTC
The conversion is so bad that I've masked it. I will probably provide a completely new ebuild for this.
Comment 7 Alex Turbov 2014-01-15 10:46:17 UTC
(In reply to Michał Górny from comment #6)
> The conversion is so bad that I've masked it. I will probably provide a
> completely new ebuild for this.

ebuild that works is here: https://bugs.gentoo.org/show_bug.cgi?id=494920
Comment 8 Alex Brandt (RETIRED) gentoo-dev 2014-09-06 15:33:18 UTC
Seems like this has been replaced by the problem showing its head in exiv-0.24.  Since this version and that version are marked ~ARCH and 0.23-r1 is marked stable, would it be appropriate to mark this bug as invalid?

If I don't hear anything by Sept 20, I'll go ahead and mark this invalid.
Comment 9 Andrew Savchenko gentoo-dev 2014-09-18 21:34:07 UTC
(In reply to Alex Brandt from comment #8)
> Seems like this has been replaced by the problem showing its head in
> exiv-0.24.  Since this version and that version are marked ~ARCH and 0.23-r1
> is marked stable, would it be appropriate to mark this bug as invalid?
> 
> If I don't hear anything by Sept 20, I'll go ahead and mark this invalid.

1) If test results are not provided, then bug is TEST-REQUIRED, not INVALID. Please be more careful on using bug states from now on.

2) 0.24 is still fails miserably when building docs

make -j10 -l5 doc
cd doc && make doc
make[1]: Entering directory '/var/tmp/portage/media-gfx/exiv2-0.24/work/exiv2-0.24-abi_x86_32.x86/doc'
doxygen ../config/Doxyfile
mkdir -p ../doc/html
cd       ../doc/templates && make all
make[2]: Entering directory '/var/tmp/portage/media-gfx/exiv2-0.24/work/exiv2-0.24-abi_x86_32.x86/doc/templates'
Makefile:185: *** File ../../bin/taglist does not exist. Did you build the library and programs in the src/ directory?.  Stop.
make[2]: Leaving directory '/var/tmp/portage/media-gfx/exiv2-0.24/work/exiv2-0.24-abi_x86_32.x86/doc/templates'
Makefile:71: recipe for target 'tags' failed
make[1]: *** [tags] Error 2
make[1]: *** Waiting for unfinished jobs....
Comment 10 Andrew Savchenko gentoo-dev 2014-09-18 21:35:24 UTC
Created attachment 385076 [details]
build.log

Full build log.
Comment 11 Andrew Savchenko gentoo-dev 2014-09-18 21:36:18 UTC
Created attachment 385080 [details]
emerge --info
Comment 12 Alex Brandt (RETIRED) gentoo-dev 2014-09-20 15:00:08 UTC
Thanks Andrew.  Based on the information you provided it looks like this or bug #512468 should be a duplicate of the other.  Do you have a preference on which bug is marked duplicate?  My opinion would be the latter as this one has more complete build information.
Comment 13 Alex Brandt (RETIRED) gentoo-dev 2014-10-04 14:59:40 UTC
*** Bug 512468 has been marked as a duplicate of this bug. ***
Comment 14 Greg Turner 2014-10-07 18:20:29 UTC
(In reply to Martin von Gagern from comment #5)
> Augment the multilib_for_best_abi calls with run_in_build_dir, like this:
> 
> src_compile() {
>     ⋮
>     use doc && multilib_for_best_abi run_in_build_dir emake doc
> }
> 
> src_install() {
>     ⋮
>     use doc && multilib_for_best_abi run_in_build_dir dohtml -r doc/html/.
>     ⋮
> }
> 
> Works for me.

It now has to be something like:

--- a/portage/media-gfx/exiv2/exiv2-0.24.ebuild   2014-09-06 10:01:12.000000000 -0700
+++ b/portage/media-gfx/exiv2/exiv2-0.24.ebuild 2014-10-07 11:13:19.419551741 -0700--- portage/media-gfx/exiv2/exiv2-0.24.ebuild   2014-09-06 10:01:12.000000000 -0700
+++ portage/media-gfx/exiv2/exiv2-0.24.ebuild 2014-10-07 11:13:19.419551741 -0700
@@ -102,7 +102,12 @@ multilib_src_compile() {
                                CPPFLAGS="${CPPFLAGS} -I\$(BOOST_INC_DIR) -I. -DEXV_HAVE_STDINT_H"
                fi
 
-               use doc && emake doc
+               if use doc && multilib_is_native_abi; then
+                       pushd samples >/dev/null || die
+                       make taglist
+                       popd >/dev/null || die
+                       emake doc
+               fi
        fi
 }
 
@@ -114,7 +119,7 @@ multilib_src_install() {
                        emake DESTDIR="${D}" -C contrib/organize install
                fi
 
-               use doc && dohtml -r doc/html/.
+               use doc && multilib_is_native_abi && dohtml -r doc/html/.
        fi
 }
 
@@ -102,7 +102,12 @@ multilib_src_compile() {
                                CPPFLAGS="${CPPFLAGS} -I\$(BOOST_INC_DIR) -I. -DEXV_HAVE_STDINT_H"
                fi
 
-               use doc && emake doc
+               if use doc && multilib_is_native_abi; then
+                       pushd samples >/dev/null || die
+                       make taglist
+                       popd >/dev/null || die
+                       emake doc
+               fi
        fi
 }
 
@@ -114,7 +119,7 @@ multilib_src_install() {
                        emake DESTDIR="${D}" -C contrib/organize install
                fi
 
-               use doc && dohtml -r doc/html/.
+               use doc && multilib_is_native_abi && dohtml -r doc/html/.
        fi
 }
 
Still seems kinda messed up -- it does a bunch of compiles during src_install and dumps some qa warnings -- but at least it builds with this change.
Comment 15 Michael Palimaka (kensington) gentoo-dev 2014-12-12 16:48:20 UTC
I've tested 0.24 and contains changes like that in comment #14 and docs are installing correctly. Please reopen if problems persist.