Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 580688

Summary: =sys-devel/m4-1.4.17: fails to build on uclibc-9999 and uclibc-ng-1.0.14, outdated spawn_h.m4
Product: Gentoo Linux Reporter: Anthony Basile <blueness>
Component: [OLD] Core systemAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=581086
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 570544    

Description Anthony Basile gentoo-dev 2016-04-20 22:55:25 UTC
On currnet glibc, current musl and older uclibc, posix_spawn() is prototyped in <spawn.h> and the symbol is defined in libc.so.  In contrast, in the newer versions of uclibc and uclibc-ng, the symbol is defined in librt.so.  

Both of these choices are in keeping with C99 standards which states that -lrt "shall make available all interfaces referenced in ... <spawn.h>" [1].

The problem in m4-1.4.16 and the lastest usptream 1.4.17 is that its using an older version of spawn_h.m4 to check for posix_spawn().  This is corrected in gnulib with commit [2].

A backport of hunk 2 of that commit fixes things for m4.


[1] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/c99.html under "Extended Description Standard Libraries".

[2] http://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=d6eab2e70fc5ccc82a73e5c988b76a229e4cd3d5
Comment 1 Anthony Basile gentoo-dev 2016-04-20 23:03:38 UTC
@base-system, I went ahead and back ported the patch for m4-1.4.17 which is ~arch across the board.  See

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2fb79b419c1da51746a75a5f55e8b10a7993673

Please review and close this bug afterwards.
Comment 2 Anthony Basile gentoo-dev 2016-04-21 06:30:02 UTC
I forgot to autoreconf.  That is now added

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47fa8d902034cc4c84229830affc623f98e85fdf

This works on glibc and uclibc.
Comment 3 Anthony Basile gentoo-dev 2016-04-25 20:37:37 UTC
Because of bug #581086, I'm going to have to patch configure directly.
Comment 4 Anthony Basile gentoo-dev 2016-04-25 23:08:40 UTC
(In reply to Anthony Basile from comment #3)
> Because of bug #581086, I'm going to have to patch configure directly.

okay patch updated,  no more dependency on autotools.eclass and the patch against configure isn't crazy big.

please audit and close this bug if everything is okay.
Comment 5 SpanKY gentoo-dev 2016-04-26 04:46:40 UTC
seems fine enough