On Mon, Dec 26, 2005 at 12:25:54PM -0600, Steve Peters wrote: > >From my quick and dirty test, it appears that the cd's in a GNU make are in > effect for the current command, but you are implicitly returned to your > start directory after the completed command. BSD doesn't return you back to > your starting directory. Looking at the OpenBSD make(1) manpage, I got a > hint to the fix. > > -j max_jobs > Specify the maximum number of jobs that make may have running at > any one time. Turns compatibility mode off, unless the -B flag > is also specified. > > So, after running "make -j2 -B disttest" everything compiled just fine. Check > the FreeBSD make manpage to see if there is a similar "-B" flag. That > might be the fix you're looking for.
There is a -B flag. However, I found that the following change stops the nested make thinking that it should be running with -j, and everything passes: Change 26499 by [EMAIL PROTECTED] on 2005/12/27 00:29:33 Removing MAKE_JOBS_FIFO from %ENV causes FreeBSD make to forget about any -j flags. (And their implied disabling of backwards compatibility, which is the real cause of the make disttest failure). Affected files ... ... //depot/perl/lib/ExtUtils/t/basic.t#20 edit Differences ... ==== //depot/perl/lib/ExtUtils/t/basic.t#20 (text) ==== @@ -25,7 +25,7 @@ # 'make disttest' sets a bunch of environment variables which interfere # with our testing. -delete @ENV{qw(PREFIX LIB MAKEFLAGS)}; +delete @ENV{qw(PREFIX LIB MAKEFLAGS MAKE_JOBS_FIFO)}; my $perl = which_perl(); my $Is_VMS = $^O eq 'VMS'; I hope that this also helps other *BSD makes. Nicholas Clark