Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Mar 2014 13:31:04 -0400
From:      Assaf Gordon <agordon@wi.mit.edu>
To:        freebsd-questions@freebsd.org
Subject:   'make' behavior in FreeBSD-10 ?
Message-ID:  <532F1A58.30702@wi.mit.edu>

next in thread | raw e-mail | index | archive | help
Hello,

I'm trying to track down an issue in compiling 'autotools' packages that appears in FreeBSD-10 .
(I'm not a frequent FreeBSD user, so it's possible I'm missing something - any help would be appreciated).

It is my understanding the FreeBSD-10 switched to a different 'make' (bmake?), which could be the reason for these differences - but I do not know how to fix them.

One symptom is that the following contrived 'makefile' works fine on Linuxes, but fails on FreeBSD-10 (or, put differently, works OK with GNU make but fails with bmake?):

===
all:
	non_existing_command ; true
===

On FreeBSD-10, the result is:
===
$ make
non_existing_command ; true
non_existing_command: not found
*** Error code 127

Stop.
make: stopped in /usr/home/ec2-user/bmake_differences
===

There is a mention on the make(1) man-page about the "-B" option, which hints that 'make' execute commands directly instead of using the shell - but using "make -B" did not fix this problem.

For comparison, running this as one shell command does work (on FreeBSD):
===
$ sh -c "non_existing_command ; true" && echo ok
non_existing_command: not found
ok
===

But the 'make' behavior is more similar to using "sh -e":
===
$ sh -e -c "non_existing_command ; true" && echo ok
non_existing_command: not found
===



This and few other issues arose when trying to build the canonical "GNU Hello" program on FreeBSD, cf:
http://lists.gnu.org/archive/html/bug-hello/2014-03/msg00022.html
http://lists.gnu.org/archive/html/bug-hello/2014-03/msg00020.html
http://lists.gnu.org/archive/html/bug-hello/2014-03/msg00002.html


Thanks for any feedback,
  -gordon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?532F1A58.30702>