X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f Date: Tue, 08 Jan 2002 20:11:44 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp AT delorie DOT com Message-Id: <1858-Tue08Jan2002201143+0200-eliz@is.elta.co.il> X-Mailer: emacs 21.1.50 (via feedmail 8 I) and Blat ver 1.8.9 In-reply-to: (message from HARY on Tue, 8 Jan 2002 17:12:35 +0000 (UTC)) Subject: Re: Ambiguous output redirect References: Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: HARY > Newsgroups: comp.os.msdos.djgpp > Date: Tue, 8 Jan 2002 17:12:35 +0000 (UTC) > > I get the message given in subject when I run some UNIX program that > I've compiled for DOS. This is usually a sign that the Unix program invokes a subsidiary program or command via the `system' library function, but the syntax of that command requires a Unixy shell (such as Bash). The shell emulator built into the DJGPP version of `system' is smart enough to emulate all of COMMAND.COM's functionality and then some more, but it cannot run arbitrary Unix shell commands. A solution is to install the ported Bash and point the SHELL environment variable to the Bash's fill file name. Another possibility is to modify the sources of the program so that Unixy shell is not required in the first place. For example, many times shell features are used to redirect stderr of the subsidiary program; you can do that redirection with direct library calls, like dup/dup2, or run the programs via the `redir' utility.