'make' behavior in FreeBSD-10 ?
Assaf Gordon
agordon at wi.mit.edu
Sun Mar 23 17:31:59 UTC 2014
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
More information about the freebsd-questions
mailing list