Created attachment 397668 [details, diff] guile-1.8-8 noreturn fix patch Hi, sys-devel/autogen depends on dev-scheme/guile, and while it works perfectly fine to emerge dev-scheme/guile on hardened/musl, sys-devel/autogen compiles with an error about "SCM_NORETURN" in libguile. Attached is a patch to dev-scheme/guile by N8Fear which corrects this issue and makes sys-devel/autogen compile fine on hardened/musl. You can also find the original source of patch from N8Fear on the following URL: https://github.com/N8Fear/musl-overlay/blob/musl/dev-scheme/guile/files/guile-1.8.8-fix-noreturn-musl.patch Summary of the compile error: -------------------------------------------------------- x86_64-gentoo-linux-musl-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I.. -I../autoopts -O2 -pipe -fomit-frame-pointer -c -o autogen-ag.o `test -f 'ag.c' || echo './'`ag.c In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:39:24: error: expected ‘)’ before ‘__attribute__’ SCM args, SCM rest) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:39:24: error: expected ‘,’ or ‘;’ before ‘)’ token SCM args, SCM rest) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:41:27: error: expected ‘)’ before ‘__attribute__’ SCM args, SCM rest) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:41:27: error: expected ‘,’ or ‘;’ before ‘)’ token SCM args, SCM rest) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:43:46: error: expected ‘)’ before ‘__attribute__’ SCM_API void scm_syserror (const char *subr) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:43:46: error: expected ‘,’ or ‘;’ before ‘)’ token SCM_API void scm_syserror (const char *subr) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:45:30: error: expected ‘)’ before ‘__attribute__’ SCM args, int eno) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:45:30: error: expected ‘,’ or ‘;’ before ‘)’ token SCM args, int eno) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:46:50: error: expected ‘)’ before ‘__attribute__’ SCM_API void scm_num_overflow (const char *subr) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:46:50: error: expected ‘,’ or ‘;’ before ‘)’ token SCM_API void scm_num_overflow (const char *subr) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:48:6: error: expected ‘)’ before ‘__attribute__’ SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:48:6: error: expected ‘,’ or ‘;’ before ‘)’ token SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:50:6: error: expected ‘)’ before ‘__attribute__’ SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:50:6: error: expected ‘,’ or ‘;’ before ‘)’ token SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:51:44: error: expected ‘)’ before ‘__attribute__’ SCM_API void scm_wrong_num_args (SCM proc) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:51:44: error: expected ‘,’ or ‘;’ before ‘)’ token SCM_API void scm_wrong_num_args (SCM proc) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:52:57: error: expected ‘)’ before ‘__attribute__’ SCM_API void scm_error_num_args_subr (const char* subr) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:52:57: error: expected ‘,’ or ‘;’ before ‘)’ token SCM_API void scm_error_num_args_subr (const char* subr) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:54:21: error: expected ‘)’ before ‘__attribute__’ SCM bad_value) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:54:21: error: expected ‘,’ or ‘;’ before ‘)’ token SCM bad_value) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:56:41: error: expected ‘)’ before ‘__attribute__’ SCM bad_value, const char *sz) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:56:41: error: expected ‘,’ or ‘;’ before ‘)’ token SCM bad_value, const char *sz) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:57:50: error: expected ‘)’ before ‘__attribute__’ SCM_API void scm_memory_error (const char *subr) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:57:50: error: expected ‘,’ or ‘;’ before ‘)’ token SCM_API void scm_memory_error (const char *subr) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/error.h:59:19: error: expected ‘)’ before ‘__attribute__’ SCM args) SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/error.h:59:19: error: expected ‘,’ or ‘;’ before ‘)’ token SCM args) SCM_NORETURN; ^ In file included from /usr/include/sys/types.h:7:0, from ../compat/compat.h:58, from ../autoopts/project.h:30, from ag.c:6: /usr/include/libguile/read.h:73:3: error: expected ‘)’ before ‘__attribute__’ SCM_NORETURN; ^ In file included from /usr/include/libguile.h:30:0, from autogen.h:60, from ag.c:7: /usr/include/libguile/read.h:73:3: error: expected ‘,’ or ‘;’ before ‘)’ token SCM_NORETURN; ^ 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
Created attachment 397670 [details] autogen-5.18.1 build log
Created attachment 397672 [details] emerge info
Duplicate of https://bugs.gentoo.org/show_bug.cgi?id=493464
*** This bug has been marked as a duplicate of bug 493464 ***