2017-04-21 7:12 GMT+09:00 Manuel Ortega <[email protected]>: > On Thu, Apr 20, 2017 at 5:59 PM, Manuel Ortega <[email protected]> > wrote: > >> On Thu, Apr 20, 2017 at 5:56 PM, Manuel Ortega <[email protected]> >> wrote: >> >>> On Thu, Apr 20, 2017 at 4:32 PM, Bram Moolenaar <[email protected]> >>> wrote: >>> >>>> >>>> Manuel Ortega wrote: >>>> >>>> > On Thu, Apr 20, 2017 at 3:05 PM, Manuel Ortega <[email protected] >>>> > >>>> > wrote: >>>> > >>>> > > This patch unfortunately completely wrecks parallel builds on macOS >>>> > > 10.12.4. >>>> > > >>>> > > make -j4 >>>> > > Starting make in the src directory. >>>> > > If there are problems, cd to the src directory and run make there >>>> > > cd src && /Applications/Xcode.app/Contents/Developer/usr/bin/make >>>> first >>>> > > .././install-sh -c -d objects >>>> > > make[1]: .././install-sh: No such file or directory >>>> > > CC="gcc -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX " srcdir=. sh >>>> > > ./osdef.sh >>>> > > make[1]: *** [objects/.dirstamp] Error 1 >>>> > > make[1]: *** Waiting for unfinished jobs.... >>>> > > make: *** [first] Error 2 >>>> > > >>>> > > >>>> > Forgot to add that this definitely was not the case for 8.0.569. >>>> >>>> >> The make -j flags are a red herring. I get that error even with plain >> "make" after "git clean -fdx". It's now impossible to build on macOS 10.12 >> from Vim 8.0.570 and up. >> >> To build vim I do: >> >> ./configure -C [some flags] >> make -j4 >> >> The "some flags" haven't changed in a really long time. >> > > Don't know if this helps, but the output of "./configure" includes this > line: > > checking for a thread-safe mkdir -p... ./install-sh -c -d >
That "./install-sh -c -d" is the fallback value used by AC_PROG_MKDIR_P
when the macro is unable to find a "thread-safe mkdir."
Reading the implementation of AC_PROG_MKDIR_P in
autoconf/autoconf/programs.m4, we see that "thread-safe mkdir" is
effectively a synonym of GNU mkdir.
So, the message itself does not indicate anything wrong, because macOS
doesn't have GNU mkdir by default. But...
> While the error message from "make" is looking for ".././install-sh", one
> dir level up from where "configure" said it was found.
>
That ".././install-sh" is due to the conversion done by
src/auto/config.status, which is created and invoked by auto/configure in
accordance with the AC_OUTPUT at the bottom of src/configure.ac.
Probably, the conversion was done so that the relative path of install-sh
would be made compliant with GNU's build system standard, which seemingly
assumes that install-sh has to be in the top directory of a source tree.
That does not apply to our build system.
I skimmed the autoconf manual but could not find an option or a clue to
change the behavior.
Only the hints I found were:
(1) In the description given to AC_PROG_MKDIR_P in the info manual:
The result of the test can be overridden by setting the variable `MKDIR_P'
or the cache variable `ac_cv_path_mkdir'.
(2) In src/auto/config.status,
ac_MKDIR_P=$MKDIR_P
case $MKDIR_P in
[\\/$]* | ?:[\\/]* ) ;;
*/*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
esac
which clearly shows that the value of MKDIR_P won't be changed if it's an
absolute path.
N.B. When a thread-safe mkdir is found, AC_PROG_MKDIR_P sets MKDIR_P to the
absolute path of that mkdir.
The attached patch is based on them: If MKDIR_R is "./install-sh ...",
convert it into an absolute path before it is passed over to AC_OUTPUT.
In the patch, I refrained from overriding ac_cv_path_mkdir in accordance
with a comment given to the implementation of AC_PROG_MKDIR_P.
Since the patch only contains src/configure.ac, please run 'make autoconf'
in the src directory after applying the patch.
> -Manny
>
Kazunobu
> --
> --
> You received this message from the "vim_dev" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups
> "vim_dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
fix-mkdir_p-for-macos.patch
Description: Binary data
