[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 'make -j 2' fails on FreeBSD-10 + more FreeBSD details
From: |
Jim Meyering |
Subject: |
Re: 'make -j 2' fails on FreeBSD-10 + more FreeBSD details |
Date: |
Sat, 22 Mar 2014 17:21:46 -0700 |
On Sat, Mar 22, 2014 at 10:36 AM, Assaf Gordon <address@hidden> wrote:
> One more critical difference (in building on FreeBSD-10 vs. common linux):
>
> The following contrived Makefile, works on Linux (with either GNU make or
> bmake), but fails on FreeBSD-10:
> ===
> $ cat makefile
> all:
> non_existing_command ; true
> ===
>
> On Linux (using GNU make + 'dash' as the shell):
> ===
> $ make && echo ok
> non_existing_command ; true
> /bin/sh: non_existing_command: not found
> ok
> $ bmake && echo ok
> non_existing_command ; true
> /bin/sh: non_existing_command: not found
> ok
> ===
>
> On FreeBSD-10 (using bmake and FreeBSD's native 'sh'):
> ===
> $ make
> non_existing_command ; true
> non_existing_command: not found
> *** Error code 127
>
> Stop.
> make: stopped in /usr/home/gordon/bmake_differences
Hi Gordon,
That makes it look like the FreeBSD bmake invokes each line
using a shell with the equivalent of "set -e" in effect. That is the
trouble. Do they document if/how they set the SHELL environment
variable? You can probably cause GNU make to misbehave in
the same manner by setting SHELL to something like "/bin/sh -e".