Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 493464 - =sys-devel/autogen-5.18.1 fails build in /usr/include/libguile/error.h:39:24: error: expected ')' before '__attribute__'
Summary: =sys-devel/autogen-5.18.1 fails build in /usr/include/libguile/error.h:39:24:...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Scheme Project
URL:
Whiteboard:
Keywords:
: 536834 541658 (view as bug list)
Depends on: 575068
Blocks: 502472 546890
  Show dependency tree
 
Reported: 2013-12-06 18:40 UTC by Jason Mours
Modified: 2018-04-15 10:25 UTC (History)
13 users (show)

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


Attachments
build.log (autogen-5.18.1-build.log,26.65 KB, application/octet-stream)
2013-12-06 18:40 UTC, Jason Mours
Details
emerge-info (autogen-5.18.1-emerge.info,17.22 KB, text/plain)
2013-12-06 18:40 UTC, Jason Mours
Details
emerge --info sys-devel/autogen (file_493464.txt,18.25 KB, text/plain)
2014-05-03 22:33 UTC, M. B.
Details
guile: don't use noreturn as an identifier (guile-1.8.8-noreturn-fix.patch,1.69 KB, patch)
2015-03-21 00:01 UTC, Travis Tilley
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Mours 2013-12-06 18:40:29 UTC
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
Comment 1 Jason Mours 2013-12-06 18:40:45 UTC
Created attachment 364728 [details]
emerge-info
Comment 2 Fabian Groffen gentoo-dev 2013-12-07 09:36:45 UTC
same here on Darwin
Comment 3 megabaks 2013-12-15 11:26:30 UTC
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
Comment 4 Sergei Trofimovich (RETIRED) gentoo-dev 2013-12-17 15:43:42 UTC
Looks like libguile does not see it's SCM definition. Where does it come from?
Comment 5 Sergei Trofimovich (RETIRED) gentoo-dev 2013-12-17 15:48:40 UTC
I's say libguile/error.h misses libguile/tags.h inclusion,
but headers look tangled.
Comment 6 Sergei Trofimovich (RETIRED) gentoo-dev 2013-12-17 20:11:51 UTC
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.
Comment 8 Fabian Groffen gentoo-dev 2013-12-21 13:46:57 UTC
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.
Comment 9 Fabian Groffen gentoo-dev 2014-01-05 17:59:05 UTC
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.
Comment 10 kaszynek 2014-04-09 09:10:10 UTC
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.
Comment 11 M. B. 2014-05-03 22:32:48 UTC
Why is 5.18.1 stable for arm?
I'm seeing this exact failure on my arm machine for 5.18.1.
Comment 12 M. B. 2014-05-03 22:33:35 UTC
Created attachment 376310 [details]
emerge --info sys-devel/autogen
Comment 13 M. B. 2014-05-03 22:48:07 UTC
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.
Comment 14 Maciej S. Szmigiero 2014-07-14 11:06:55 UTC
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.
Comment 15 Vicente Olivert Riera (RETIRED) gentoo-dev 2015-02-12 22:38:10 UTC
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.
Comment 16 Anthony Basile gentoo-dev 2015-02-13 11:34:26 UTC
*** Bug 536834 has been marked as a duplicate of this bug. ***
Comment 17 Panagiotis Christopoulos (RETIRED) gentoo-dev 2015-02-13 14:16:24 UTC
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 .
Comment 18 Magnus Granberg gentoo-dev 2015-02-28 18:14:52 UTC
*** Bug 541658 has been marked as a duplicate of this bug. ***
Comment 19 Travis Tilley 2015-03-21 00:01:13 UTC
I am also currently seeing this bug. The upstream patch doesn't apply cleanly, so i'll attach one that does.
Comment 20 Travis Tilley 2015-03-21 00:01:58 UTC
Created attachment 399326 [details, diff]
guile: don't use noreturn as an identifier
Comment 21 Felix Janda 2015-03-28 23:17:43 UTC
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.
Comment 22 Lisa Seelye 2015-04-03 20:16:39 UTC
(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.
Comment 23 Felix Janda 2015-06-20 12:56:52 UTC
sys-devel/autogen-5.18.4 has a workaround for this bug.
Comment 24 Benda Xu gentoo-dev 2015-11-07 03:59:05 UTC
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?
Comment 25 tt_1 2015-11-14 14:49:22 UTC
it isn't fixed on musl, still the same error as before. patching guile with the provided patch makes the trick though.
Comment 26 Felix Janda 2015-11-14 21:45:58 UTC
autogen-5.18.3 also fixes the problem for musl.
Comment 27 Anton Kochkov 2016-08-21 11:21:50 UTC
Can you please recheck with dec-scheme/guile-2.0.12-r1?
Comment 28 Pacho Ramos gentoo-dev 2018-02-13 08:55:07 UTC
this is probably obsolete now
Comment 29 Sergei Trofimovich (RETIRED) gentoo-dev 2018-04-15 10:25:15 UTC
Let's close as obsolete. Affected autogen version is not in tree anymore and guile-2 is on it's track for stabilization.