Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 538368 - media-gfx/exiv2-0.24-r1 - exiv2.cpp:38:23: fatal error: exv_conf.h: No such file or directory
Summary: media-gfx/exiv2-0.24-r1 - exiv2.cpp:38:23: fatal error: exv_conf.h: No such f...
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-31 20:02 UTC by Elfenbein, Karsten
Modified: 2015-10-04 16:38 UTC (History)
4 users (show)

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


Attachments
emerge --info (emerge-info.txt,6.44 KB, text/plain)
2015-02-01 20:20 UTC, Elfenbein, Karsten
Details
build.log (build.log,21.90 KB, text/plain)
2015-02-01 20:23 UTC, Elfenbein, Karsten
Details
/etc/portage/patches/media-gfx/exiv2-0.24-r1/sleep.patch (sleep.patch,497 bytes, patch)
2015-02-01 20:25 UTC, Elfenbein, Karsten
Details | Diff
Patch (file_538368.txt,750 bytes, patch)
2015-10-04 00:23 UTC, Carter Young
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Elfenbein, Karsten 2015-01-31 20:02:08 UTC
The build fails to find a file that was just created.

Reproducible: Always

Steps to Reproduce:
use: MAKEOPTS="-j10"

emerge -1 '=media-gfx/exiv2-0.24-r1'
Actual Results:  
make[1]: Entering directory '/var/tmp/portage/media-gfx/exiv2-0.24-r1/work/exiv2-0.24-abi_x86_64.amd64/src'
LC_ALL=C LC_ALL=C sed 's/#define \([A-Z]\)/#define EXV_\1/; s/#undef \([A-Z]\)/#undef EXV_\1/' < ../config/config.h > exv_conf.h
x86_64-pc-linux-gnu-g++ -O2 -pipe -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W -I.  -DEXV_LOCALEDIR=\"/usr/share/locale\" -I../xmpsdk/include -c -o exiv2.o exiv2.cpp
x86_64-pc-linux-gnu-g++ -O2 -pipe -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W -I.  -DEXV_LOCALEDIR=\"/usr/share/locale\" -I../xmpsdk/include -c -o actions.o actions.cpp
x86_64-pc-linux-gnu-g++ -O2 -pipe -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W -I.  -DEXV_LOCALEDIR=\"/usr/share/locale\" -I../xmpsdk/include -c -o utils.o utils.cpp
actions.cpp:37:23: fatal error: exv_conf.h: No such file or directory
 # include "exv_conf.h"
                       ^
compilation terminated.
Makefile:192: recipe for target 'actions.o' failed
make[1]: *** [actions.o] Error 1
make[1]: *** Waiting for unfinished jobs....



the ebuild worked fine after removing the "-j10" MAKEOPTS.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2015-02-01 10:44:28 UTC
1) Please post your `emerge --info' output in a comment.
2) Please attach the entire build log to this bug report.
Comment 2 Elfenbein, Karsten 2015-02-01 20:20:57 UTC
Created attachment 395342 [details]
emerge --info
Comment 3 Elfenbein, Karsten 2015-02-01 20:23:04 UTC
Created attachment 395344 [details]
build.log
Comment 4 Elfenbein, Karsten 2015-02-01 20:25:17 UTC
Created attachment 395346 [details, diff]
/etc/portage/patches/media-gfx/exiv2-0.24-r1/sleep.patch

this patch should just delay the single instruction but it breaks the build as the other jobs are starting before the file is written to disk
Comment 5 Elfenbein, Karsten 2015-02-01 20:32:37 UTC
I had to create a simple patch as I could not repeat the problem.

It failed multiple times before with "-j10", after building it ("-j1" never failed again on "-j10".

It always fails with the patch, when using "-j10". The dependend jobs start while the job generating the include file is still sleeping.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2015-02-02 11:35:37 UTC
Comment on attachment 395346 [details, diff]
/etc/portage/patches/media-gfx/exiv2-0.24-r1/sleep.patch

The proper way to fix parallel make issues in Makefiles is to set appropriate dependencies for each target.
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2015-02-02 11:44:32 UTC
The horribly convoluted src/Makefile suggests defining DEP_TRACKING might help.
Comment 8 Roosevelt 2015-07-15 01:32:45 UTC
I can confirm, that I was able to build this -j1. The parallelization breaks the build.
Comment 9 Ulrich Becker 2015-09-30 11:06:05 UTC
Hello,
I am new at using Gentoo: Started 4 days ago. (But I am using other linuxes now for several decades..) I encountered this issue and found this fix at the freebsd community:

description: http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2015-February/302641.html

patch:  https://bz-attachments.freebsd.org/attachment.cgi?id=153089


From what I know of gmake files, this looks very plausible.

Maybe someone more knowledgeable about gentoo can inspect and possibly merge this? Because, even if I found the place to patch it into my code and make it compile, I do not even have a clue how to test the resulting piece of software ... :-(       (.. plausibility does not buy you much if the build is broken ;-)


Many Thanks
Ulrich
Comment 10 Carter Young 2015-10-04 00:23:45 UTC
Created attachment 413642 [details, diff]
Patch

Patch from referenced FreeBSD Bug
Comment 11 Carter Young 2015-10-04 00:29:15 UTC
(In reply to Ulrich Becker from comment #9)

> Maybe someone more knowledgeable about gentoo can inspect and possibly merge
> this? Because, even if I found the place to patch it into my code and make
> it compile, I do not even have a clue how to test the resulting piece of
> software ... :-(       (.. plausibility does not buy you much if the build
> is broken ;-)
> 
> 
> Many Thanks
> Ulrich

I've attached the patch from the bug to this one...
Comment 12 Andreas Sturmlechner gentoo-dev 2015-10-04 16:37:44 UTC
Please test if exiv2-0.25 (now using cmake) is fixing the issue.