MPS issue job001395

TitleMPS build failure on Linux with glibc 2.3: wrong defines before system includes
Assigned userRichard Kistruck
DescriptionMPS build failure on Linux with glibc 2.3: wrong defines before system includes

RHSK 2006-05-19
code/prmcli.h#8 and code/pthrdext.c#9 don't build on modern linuxen.
Build failure looks like this:
    Not yet known -- please describe it here. RHSK 2006-05-19

prmcli.h and pthrdext.c have:
  /* open sesame magic */
  #define _BSD_SOURCE 1
  #define _POSIX_C_SOURCE 1

Andreas [Bogk in IM 2006-02-08] reports that this needs to be:
  #define _GNU_SOURCE 1

For details, see OpenDylan's CVS [Bogk dylan cvs 2005-09-24]:

DRJ 2007-03-12

Possibly duplicated by job001637 and fixed by change 161907.
AnalysisRHSK 2006-05-19
Note: what does "open sesame magic" mean? DRJ has been caught
using the term :-)

["open sesame magic" means the tricks you need to perform in order to
get a system header file, such as <signal.h>, to declare the prototypes
and/or structs (etc) that you need to use. Generally you need to
#define something before including a system header file in order to get
fully approved standard interfaces. This is how different standards
(and different versions of the same standards) all manage to share the
same header files. See [XSHCE] for example. DRJ 2007-03-12]

DRJ 2007-03-12

Damn, wish I'd seen this before making job001637 and change 161907.
Which as far as I can tell describe exactly the same problem. In that
change I fixed it with #define _XOPEN_SOURCE 500
How foundunknown
Evidence[Bogk dylan cvs 2005-09-24] <>
[Bogk in IM 2006-02-08] <file://>
Observed in1.106.1
Created byRichard Kistruck
Created on2006-05-19 12:46:24
Last modified byRichard Brooksby
Last modified on2012-09-21 20:44:47
History2006-05-19 RHSK Created.
2006-05-19 RHSK Correct URL for IM chat (even though no-one but me can use it)
2007-03-12 DRJ Duplicate and fix and open sesame.


Change Effect Date User Description
178816 closed 2012-08-02 13:05:51 Richard Brooksby Merging branch/2012-07-26/linux-catchup.