Thank you! You've just uncovered a bug!
Fixed by the patch below.
However, that problem is independent of the libgmp issue,
so if you apply the patch, your build should get farther.
Actually, there's another: after a failed fork, timeout is
documented to exit with status 125 (EXIT_CANCELED), not errno.
From 15f4d612df8eed7014f76825ad986fb8c769ec5d Mon Sep 17 00:00:00 2001
From: Jim Meyering<address@hidden>
Date: Fri, 3 Oct 2008 18:29:39 +0200
Subject: [PATCH] timeout.c: don't use perror; exit 125 upon failed fork
* src/timeout.c (main): Use "error", not perror.
Elbert Pol noticed a build failure on OS/2.
* src/timeout.c (main): Exit 125 (not errno) upon failed fork.
Make the failed fork diagnostic match the one from install.c.
---
src/timeout.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/timeout.c b/src/timeout.c
index 37bed3c..8b506f0 100644
--- a/src/timeout.c
+++ b/src/timeout.c
@@ -284,8 +284,8 @@ main (int argc, char **argv)
monitored_pid = fork ();
if (monitored_pid == -1)
{
- perror ("fork");
- return errno;
+ error (0, errno, _("fork system call failed"));
+ return EXIT_CANCELED;
}
else if (monitored_pid == 0)
{ /* child */
@@ -299,7 +299,7 @@ main (int argc, char **argv)
/* exit like sh, env, nohup, ... */
exit_status = (errno == ENOENT ? EXIT_ENOENT : EXIT_CANNOT_INVOKE);
- perror (argv[0]);
+ error (0, errno, _("cannot run command %s"), quote (argv[0]));
return exit_status;
}
else
--
1.6.0.2.307.gc427