Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 580688 - =sys-devel/m4-1.4.17: fails to build on uclibc-9999 and uclibc-ng-1.0.14, outdated spawn_h.m4
Summary: =sys-devel/m4-1.4.17: fails to build on uclibc-9999 and uclibc-ng-1.0.14, out...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: uclibc-porting
  Show dependency tree
 
Reported: 2016-04-20 22:55 UTC by Anthony Basile
Modified: 2016-04-26 04:46 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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