Summary: | devel/elfutils: fails to build with lang/gcc6 or later | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Jan Beich <jbeich> |
Component: | Individual Port(s) | Assignee: | Conrad Meyer <cem> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | cem, emaste, gerald, pi, w.schwarzenfeld |
Priority: | --- | ||
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any |
Description
Jan Beich
![]() ![]() It appears this port is using -Werror, which generally is not a good idea for "production" use. (Great to test and develop software upstream, but it is going to keep breaking the port again and again.) If someone will approve this, I can commit it. I've tested the -Wno-error is added after the -Werror flag: --- Makefile (revision 433893) +++ Makefile (working copy) @@ -36,6 +36,9 @@ CFLAGS+= -Wno-unused-parameter # Give i386 a prayer of building, and we can fix the warnings later: CFLAGS_i386+= -Wno-error +.if ${CC} == gcc6 +CFLAGS+= -Wno-error +.endif # Avoid conflict with binutils / elftoolchain programs with the same names: CONFIGURE_ARGS+= --program-prefix=eu- (In reply to Conrad Meyer from comment #2) > +.if ${CC} == gcc6 Nop as USE_GCC alters ${CC} value only after bsd.port.post.mk. Not to mention, DragonFly or architectures en route to external toolchain (sparc64, mips*) may end up with GCC 6.x as /usr/bin/cc. This will then break again with GCC 7 and later, I'm afraid (which will retain the warnings from what I can tell). --- Makefile (revision 433893) +++ Makefile (working copy) @@ -29,7 +29,7 @@ USES= gmake libtool tar:bzip2 USE_AUTOTOOLS= automake:env -USE_GCC= 4.8+ +USE_GCC= 4.8 GNU_CONFIGURE= yes USE_LDCONFIG= yes If this worked with GCC 4.9 as well, I suggest to make this USE_GCC=4.9 instead of USE_GCC=4.8. ("Later is better", as a general rule of thumb.) 4.9 fails in configure due to what appears to be incomplete LTO support. GCC 5.0 fails due to what looks like a bad stdio.h header in the port. 4.8 works. > GCC 5.0 fails due to what looks like a bad stdio.h header in the port.
Fails in configure as well, I should say.
Gerald changed this to drop the 4.8 dependency after my suggestion to hardcode 4.8 for now. He can figure out how to close out this bug. A commit references this bug: Author: gerald Date: Mon May 1 10:58:18 UTC 2017 New revision: 439866 URL: https://svnweb.freebsd.org/changeset/ports/439866 Log: Force the use of GCC 4.8 (strictly), since this port fails with newer versions. PR: 217000 Requested by: cem (maintainer) Changes: head/devel/elfutils/Makefile Okay, so this should now build again on architectures supported by GCC 4.8. AArch64 and in generally newer architectures or flavors won't, so leaving this open and re-assigning to cem as port maintainer. Also see comment #3 by Jan. (I believe similar issues should appear on GNU/Linux, so have you tried reaching out to the upstream developers?) Feedback timeout? (In reply to w.schwarzenfeld from comment #12) On what? Probably the upstream authors see the same issues with new GCC and have munged the code to fix the warnings; a refresh from upstream may resolve the warnings with newer GCC. No, sorry. My statement was wrong. I don't know why this happen. Sorry! May be addressed by latest elfutils, 0.172. Ah, right, this was already addressed / removed by 0.170 (r454110). |