| 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. |
| 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.