[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: getopt compilation failure on Darwin (gzip 1.3.13)
From: |
Ludovic Courtès |
Subject: |
Re: getopt compilation failure on Darwin (gzip 1.3.13) |
Date: |
Wed, 07 Oct 2009 14:02:45 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Hi Eric,
Eric Blake <address@hidden> writes:
> The circle was:
> ./getopt.h did include_next <getopt.h>
> <getopt.h> did include <unistd.h>, but found ./unistd.h
> ./unistd.h did include_next <unistd.h>
> <unistd.h> completed
> ./unistd.h did include <getopt.h>, and found ./getopt.h
> ./getopt.h declared things
> ./unistd.h completed
> <getopt.h> redeclared things
>
> The solution is to teach ./unistd.h to skip <getopt.h> if the system
> <getopt.h> was the guy including unistd. That way, both the system
> <getopt.h> and <unistd.h> can run to completion prior to ./getopt.h
> declaring overrides.
>
> I will be pushing this, if further testing proves that it doesn't break
> Linux or FreeBSD.
Thanks for the quick reply and patch!
It now builds properly on GNU/Linux, Darwin, and Cygwin in NixOS/Nixpkgs
(see latest builds at http://hydra.nixos.org/job/nixpkgs/stdenv/gzip/all).
Ludo’.