9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Gary V. Vaughan" <gary@vaughan.pe>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Plan9 development
Date: Mon, 15 Nov 2010 11:29:51 +0700	[thread overview]
Message-ID: <2972B139-9F41-4F6F-B906-7249E0B5CCCF@vaughan.pe> (raw)
In-Reply-To: <4CDFBF0D.1060604@gmx.net>

[-- Attachment #1: Type: text/plain, Size: 1953 bytes --]


On 14 Nov 2010, at 17:50, Carl-Daniel Hailfinger wrote:
> On 14.11.2010 10:10, tlaronde@polynum.com wrote:
>> Furthermore, the auto* and libtool were typically made
>> for trying to do something "working" to some extend with a chaotic
>> source. They typically manage to compile "things" written by
>> programmers who have been encouraged to look at the finger ignoring
>> the moon: to concentrate on the "GNU" tools and "GNU" libraries
>> etc, and not on C89 (or C99), POSIX etc.
>>
>
> Heh. Pure C99 code (with no GNU extensions or OS specific stuff
> whatsoever) doesn't compile with pcc unless you avoid some of the really
> useful features and some of the standard headers. I can quote the C99
> standard if you doubt this.

Even then, many vendor compilers and linkers have many non-conformances,
and outright bugs.  Take a look at the number of workarounds that make
their way into gnulib to cover breakage in the POSIX APIs alone.

You can either try to remember what all of those are, or use something
like autoconf to probe for known bugs, and gnulib to plug them, or
you can link against a shim library like GNU libposix which will
do all of that automatically when it is built and installed, allowing
you to write to the POSIX APIs with impunity.

> I have successfully avoided using autoconf and similar stuff in my
> projects by adhering to strict C99, but in an ironic twist of fate, Plan
> 9 will be the OS that forces me to use something like autoconf due to
> the limited C99 support.

And sadly, there is a good chance that your blind faith in having fully
conformant APIs would come unstuck quite quickly if your code needed to
work on a large selection of commercial UNIX releases (assuming you
didn't code around all of those shortcomings in each of your projects
that is).

Plan 9 is far from alone in having limited C99 and POSIX API support.

Cheers,
--
Gary V. Vaughan (gary@gnu.org)

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 202 bytes --]

  parent reply	other threads:[~2010-11-15  4:29 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-04  9:36 Admiral Fukov
2010-11-04  9:47 ` Lucio De Re
2010-11-04 10:20   ` Steve Simon
2010-11-04 11:30 ` Brantley Coile
2010-11-04 15:39 ` David Leimbach
2010-11-04 15:55   ` Stanley Lieber
2010-11-04 16:01     ` John Floren
2010-11-04 16:39       ` ron minnich
2010-11-04 16:57         ` Stanley Lieber
2010-11-04 17:01         ` Don Bailey
2010-11-04 17:19         ` Jeff Sickel
2010-11-04 22:20           ` Charles Forsyth
2010-11-05  1:41             ` Venkatesh Srinivas
2010-11-05  3:50               ` Bruce Ellis
2010-11-05  7:11                 ` Lucio De Re
2010-11-05  7:55                   ` Bruce Ellis
2010-11-05 13:31                     ` Eric Van Hensbergen
2010-11-05 15:16                       ` C H Forsyth
2010-11-05 17:07                       ` dexen deVries
2010-11-05 17:18                         ` Nick LaForge
2010-11-05 17:32                           ` dexen deVries
2010-11-05 17:39                             ` andrey mirtchovski
2010-11-05 17:55                               ` dexen deVries
2010-11-05 17:45                             ` David Leimbach
2010-11-05 18:14                               ` erik quanstrom
2010-11-05 18:37                                 ` roger peppe
2010-11-05 19:06                                   ` erik quanstrom
2010-11-08 11:04                                     ` roger peppe
2010-11-08 21:24                                       ` Bruce Ellis
2010-11-08 22:22                                         ` Charles Forsyth
2010-11-08 22:25                                           ` Bruce Ellis
2010-11-08 22:33                                           ` Charles Forsyth
2010-11-09  2:10                                             ` Jeff Sickel
2010-11-09  3:18                                               ` EBo
2010-11-09  8:10                                                 ` Bruce Ellis
2010-11-13 19:15                                             ` Enrico Weigelt
2010-11-05 20:37                         ` Eric Van Hensbergen
2010-11-06  0:55                           ` Charles Forsyth
2010-11-06  2:20                         ` Bruce Ellis
2010-11-06 20:24                           ` dexen deVries
2010-11-05 18:43             ` Bakul Shah
2010-11-13 19:24         ` Enrico Weigelt
2010-11-14  2:17           ` Gary V. Vaughan
2010-11-14  5:47             ` Anthony Sorace
2010-11-14  6:24               ` erik quanstrom
2010-11-14  8:13                 ` Gary V. Vaughan
2010-11-14 15:56                   ` Jacob Todd
2010-11-14 16:24                     ` ron minnich
2010-11-14  6:26               ` Russ Cox
2010-11-14  8:03                 ` Anthony Sorace
2010-11-14 15:23                 ` erik quanstrom
2010-11-14 17:46                   ` Russ Cox
2010-11-14 22:16                     ` erik quanstrom
2010-11-14  9:10             ` tlaronde
2010-11-14  9:32               ` Gary V. Vaughan
2010-11-14 10:22                 ` tlaronde
2010-11-14 10:50               ` Carl-Daniel Hailfinger
2010-11-14 11:47                 ` tlaronde
2010-11-14 21:44                 ` Charles Forsyth
2010-11-14 21:47                   ` Ori Bernstein
2010-11-18  5:30                   ` Joel C. Salomon
2010-11-18  5:57                     ` erik quanstrom
2010-11-18 22:50                     ` Federico G. Benavento
2010-11-19  2:06                       ` Joel C. Salomon
2010-11-19  3:13                         ` Federico G. Benavento
2010-11-25  9:39                       ` Greg Comeau
2010-11-15  4:29                 ` Gary V. Vaughan [this message]
2010-11-15  5:05                   ` Carl-Daniel Hailfinger
2010-11-15 15:48                   ` Dan Cross
2010-11-15 16:24                     ` Lucio De Re
2010-11-15 17:26                       ` Brian L. Stuart
2010-11-16  3:32                         ` lucio
2010-11-16  4:53                           ` erik quanstrom
2010-11-16  5:09                             ` lucio
2010-11-16 22:18                           ` Christopher Nielsen
2010-11-15 18:11                   ` Dave Eckhardt
2010-11-15 20:04                     ` Steve Simon
     [not found]           ` <79E9F966-3C4E-44D9-8B1F-D22C9548CE74@gnu.org>
2010-11-15  1:02             ` Enrico Weigelt
2010-11-15  4:17               ` Gary V. Vaughan
2010-11-15 16:22                 ` erik quanstrom
2010-11-17 23:48                 ` Enrico Weigelt
2010-11-04 16:00   ` erik quanstrom
2010-11-04 17:12     ` Admiral Fukov
2010-11-04 17:19       ` andrey mirtchovski
2010-11-04 17:30         ` Admiral Fukov
2010-11-04 20:27     ` David Leimbach
2010-11-04 12:15 dexen deVries
2010-11-04 12:48 ` Venkatesh Srinivas
2010-11-04 17:14   ` Admiral Fukov
2010-11-17  7:38 Pavel Zholkover
2010-11-17  7:44 ` Lucio De Re

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2972B139-9F41-4F6F-B906-7249E0B5CCCF@vaughan.pe \
    --to=gary@vaughan.pe \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).