| Summary: | media-gfx/exiv2-0.24-r1 - exiv2.cpp:38:23: fatal error: exv_conf.h: No such file or directory | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Elfenbein, Karsten <karsten.elfenbein> |
| Component: | Current packages | Assignee: | Gentoo Graphics Project <graphics+disabled> |
| Status: | RESOLVED TEST-REQUEST | ||
| Severity: | normal | CC: | ao, ecyoung, kde, markus.kaindl |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| See Also: | https://bugs.gentoo.org/show_bug.cgi?id=552766 | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
emerge --info
build.log /etc/portage/patches/media-gfx/exiv2-0.24-r1/sleep.patch Patch |
||
1) Please post your `emerge --info' output in a comment. 2) Please attach the entire build log to this bug report. Created attachment 395342 [details]
emerge --info
Created attachment 395344 [details]
build.log
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
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 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.
The horribly convoluted src/Makefile suggests defining DEP_TRACKING might help. I can confirm, that I was able to build this -j1. The parallelization breaks the build. 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 Created attachment 413642 [details, diff]
Patch
Patch from referenced FreeBSD Bug
(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... Please test if exiv2-0.25 (now using cmake) is fixing the issue. |
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.