Created attachment 364726 [details] build.log Emerging sys-devel/autogen-5.18.1 fails with the following output. : gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -I../autoopts -pthread -march=native -mtune=amdfam10 -Os -pipe -ggdb -c -o autogen-ag.o `test -f 'ag.c' || echo './'`ag.c In file included from /usr/include/libguile.h:40:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:39:24: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:39:24: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:41:27: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:41:27: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:43:46: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:43:46: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:45:30: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:45:30: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:46:50: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:46:50: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:48:6: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:48:6: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:50:6: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:50:6: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:51:44: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:51:44: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:52:57: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:52:57: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:54:21: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:54:21: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:56:41: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:56:41: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:57:50: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:57:50: error: expected ',' or ';' before ')' token /usr/include/libguile/error.h:59:19: error: expected ')' before '__attribute__' /usr/include/libguile/error.h:59:19: error: expected ',' or ';' before ')' token In file included from /usr/include/libguile.h:80:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/read.h:73:3: error: expected ')' before '__attribute__' /usr/include/libguile/read.h:73:3: error: expected ',' or ';' before ')' token Makefile:596: recipe for target 'autogen-ag.o' failed make[3]: *** [autogen-ag.o] Error 1 make[3]: Leaving directory '/var/tmp/portage/sys-devel/autogen-5.18.1/work/autogen-5.18.1/agen5' Makefile:682: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/var/tmp/portage/sys-devel/autogen-5.18.1/work/autogen-5.18.1/agen5' Makefile:523: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/sys-devel/autogen-5.18.1/work/autogen-5.18.1' Makefile:429: recipe for target 'all' failed make: *** [all] Error 2 : Posting build.log
Created attachment 364728 [details] emerge-info
same here on Darwin
gcc-4.8 >>> Installing [1 of 1] sys-devel/autogen-5.18.1 gcc was switched per_package over https://github.com/megabaks/gcc-switcher
Looks like libguile does not see it's SCM definition. Where does it come from?
I's say libguile/error.h misses libguile/tags.h inclusion, but headers look tangled.
Ah, autogen's smart 'noreturn' expands twice and breaks SCM_NORETURN expansion: Preprocessed file ag.C: > extern void scm_error (SCM key, const char *subr, const char *message, SCM args, SCM rest) __attribute__ ((__attribute__ ((__noreturn__)))); Wrapping around '#if 0 / #endif' file contents of autogen-5.18.1/autoopts/stdnoreturn.in.h does help to build autogen.
http://git.savannah.gnu.org/cgit/autogen.git/commit/?id=1b74ad46ac450f3ec59611dc61287b9b44db5f33
Applying (In reply to Sergei Trofimovich from comment #7) > http://git.savannah.gnu.org/cgit/autogen.git/commit/ > ?id=1b74ad46ac450f3ec59611dc61287b9b44db5f33 I've adjusted the patch for ebuild version and changed the ebuild to run eautoreconf. Not sure if we can do this (bootstrapping reqs?). Anyway, it doesn't solve the problem for me, it still fails the same way, so I guess we'll have to wait for autogen-5.18.3.
The following does work for me: --- autogen-5.18.1.ebuild 2 Dec 2013 10:18:43 -0000 1.1 +++ autogen-5.18.1.ebuild 5 Jan 2014 17:51:16 -0000 @@ -19,6 +19,10 @@ dev-libs/libxml2" DEPEND="${RDEPEND}" +src_prepare() { + sed -i -e 's/ifndef noreturn/if 0/' autoopts/stdnoreturn.in.h || die +} + src_configure() { # suppress possibly incorrect -R flag export ag_cv_test_ldflags= (this is what sergei said) If I'm not mistaken, this shouldn't change anything for the compiled code.
Another solution is to build it with gcc 4.8.2. In my case it fails with 4.6.3 and builds with 4.8.2.
Why is 5.18.1 stable for arm? I'm seeing this exact failure on my arm machine for 5.18.1.
Created attachment 376310 [details] emerge --info sys-devel/autogen
I stand corrected. It works fine with gcc 4.7.3-r1 (as opposed to 4.6.3 which I was using before). My apologies for barging in.
Still bites on gcc 4.6.3 p1.13 and so breaks emerges. Suggest Fabian's patch from comment 9 is added to ebuild, at least for older gcc versions.
This is happening again. sys-devel/autogen-5.18.1 is failing to build against dev-scheme/guile-1.8.8-r1. The problem is guile, not autogen. This upstream commit fixes the problem: http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff_plain;h=36c40440078c005cd5e239cca487d29f6f60007d;hp=b1fe20c24ccb380420ea1ffdc7f249224072dcdc Maintainer, please, backport and adapt that patch for guile-1.8.8. Then create a new guile-1.8.8-r2.ebuild which applies that patch so the problem will be fixed when users upgrade to guile-1.8.8-r2. This is quite important since it's blocking the gnutls package upgrade because it depends on autogen.
*** Bug 536834 has been marked as a duplicate of this bug. ***
I can't reproduce it here. Does this affect only stable? I was able to successfully build autogen-5.18.1 with guile-1.8.8-r1, but gcc-4.9.2 .
*** Bug 541658 has been marked as a duplicate of this bug. ***
I am also currently seeing this bug. The upstream patch doesn't apply cleanly, so i'll attach one that does.
Created attachment 399326 [details, diff] guile: don't use noreturn as an identifier
This bug breaks compilation of gnutls on all musl profiles. See https://bugs.gentoo.org/show_bug.cgi?id=536834 Please add the backported patch.
(In reply to Panagiotis Christopoulos from comment #17) > I can't reproduce it here. Does this affect only stable? I was able to > successfully build autogen-5.18.1 with guile-1.8.8-r1, but gcc-4.9.2 . I had this bug with GCC 4.6.4 but not with 4.8.3. Everything stable.
sys-devel/autogen-5.18.4 has a workaround for this bug.
Reproduced the bug with gcc-4.6.3. Now that gcc-4.9.3 is stablized and builds this version well, shall we close this bug to move on?
it isn't fixed on musl, still the same error as before. patching guile with the provided patch makes the trick though.
autogen-5.18.3 also fixes the problem for musl.
Can you please recheck with dec-scheme/guile-2.0.12-r1?
this is probably obsolete now
Let's close as obsolete. Affected autogen version is not in tree anymore and guile-2 is on it's track for stabilization.