| Summary: | net-misc/sslh-1.18-r1 common.c:603:59: error: ‘VERSION’ undeclared | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Anton Bolshakov <anton.bugs> |
| Component: | Current packages | Assignee: | Michael Palimaka (kensington) <kensington> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | candrews |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
build.log
Patch for testing |
||
|
Description
Anton Bolshakov
2016-09-21 08:46:20 UTC
This is a problem with upstream's Makefile. Gentoo has two patches trying to fix it (also sent upstream https://github.com/yrutschle/sslh/pull/97), but as this bug shows they don't quite suffice. The problem is that suffix rules cannot specify dependencies. So make will not know that common.c depends on version.h, generates version.h in parallel to common.o, and fails compilation of common.o because version.h is still empty. Created attachment 447032 [details, diff]
Patch for testing
This patch can be put into /etc/portage/patches/net-misc/sslh/make.patch
for testing. For the portage tree it would be better to clean up the
existing patches.
I've managed to compile it with the patch. Thank you. You should probably increase the priority of this bug since it affects the stable version @candrews, FYI wrt your PR By the way, the difficulty (for me at least) in fixing this so far is it's been difficult to reproduce reliably. With candrews' patch I haven't been able to reproduce since, and prior to that only sporadically. https://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html > Suffix rules cannot have any prerequisites of their own. If they have any, they are treated as normal files with funny names, not as suffix rules. You could verify this by doing ebuild sslh-1.18-r1.ebuild configure, then cd into $S and doing 'make common.o' and watch it all fall apart. This will fix the dependencies properly: %.o: %.c *.h version.h @kensington: By doing "make -j" (no number after "-j", i.e. use as many processes as possible), possibly several times, it is usually easy to reproduce parallel make issues. @dwfree: Your fix does not quite correspond to the rest of your comment... Thanks, new patch added in git. https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=430ffc3b9d61a40ff807dfd534f4333aeae8198c Hopefully this solves it for real this time! |