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.

Attachment: fix-mkdir_p-for-macos.patch
Description: Binary data

Raspunde prin e-mail lui