Ravenbrook / Projects / Memory Pool System / Issues

Memory Pool System


MPS issue job001637

Title: Linux build fails.
Status: closed
Priority: essential
Assigned user: David Jones
Product: mps
Organization: Ravenbrook
Description: Linux build fails.

On the current master (change level 161906), I get:

lii4gc: lii4gc/hi/lockli.o
lii4gc: lii4gc/hi/thlii4.o
lii4gc: lii4gc/hi/pthrdext.o
cc1: warnings being treated as errors
pthrdext.c: In function ‘PThreadextSuspend’:
pthrdext.c:332: warning: implicit declaration of function
‘pthread_kill’
pthrdext.c:332: warning: nested extern declaration of
‘pthread_kill’
make[2]: *** [lii4gc/hi/pthrdext.o] Error 1
make[1]: *** [target] Error 2
make: *** [amcss] Error 2

(Yes, I really did get those funny characters, they appeared as
typographically correct open- and close- single quotes. The spacing
was wrong, naturally).

I'm running on Fedora Core 6 on a Parallels VM:

$ uname -a
Linux localhost.localdomain 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16
14:54:20 EDT 2006 i686 i686 i386 GNU/Linux
Analysis: Looks like some #include or open-sesame magic I guess.

2007-03-09 DRJ:

Seems that more recent version of linux are more careful with their
open-sesame magic. In particular "#define _POSIX_C_SOURCE 1 " is not
sufficient to get a declaration of pthread_kill from <signal.h>.

Fixed by changing POSIX_C_SOURCE 1 to _XOPEN_SOURCE 500 (to claim that
we want X/Open XSH5 conformance).
How found: manual_test
Observed in: 1.107.0
Introduced in: 0.0.0
Test procedure: none
Created by: David Jones
Created on: 2007-03-09 11:38:28
Last modified by: David Jones
Last modified on: 2007-03-09 12:34:59
History: 2007-03-09 DRJ Created.
2007-03-09 DRJ Analysed. Fixed.

Fixes

Change Effect Date User Description
161907 closed 2007-03-09 12:31:34 David Jones MPS: Fixing linux builds. Recent Linuxes are more careful with their open-sesame magic.

Generated at 2008-09-07 01:13:48 by $Id: //info.ravenbrook.com/infosys/cgi/issue.cgi#430 $

Copyright © Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may not duplicate or reproduce this document in any form without the express permission of the copyright holder.

Ravenbrook / Projects / Memory Pool System / Issues