Subject: bug#16772: Failure in "make install" on MS-Windows

From: Dani Moncayo <[email-masked]>
Date: Mon, 17 Feb 2014 17:16:06 +0100

>> > Sorry, I don't understand: did you specify DESTDIR, or didn't you?  If
>> > you did, please show the full "make install" command line you used.
>>
>> As I said:
>>
>> >> > I've tried the patch:  I've gone to the build directory and done "make
>> >> > install prefix='../myinstalldir' GZIP_INFO= GZIP_PROG=".  The process
>> >> > has ended up this way:
>
> There's no DESTDIR anywhere in sight here.

There isn't, no.  (and?)

>> AFAIK, this is the way to specify the destination directory in "make
>> install" (using the "prefix" parameter).
>
> You explicitly mentioned DESTDIR, not "destination directory":

Because DESTDIR is the name of a make variable, which is employed in
the sentence which failed in my original bug report (file
"nt/Makefile.in", target "install"):
  $(INSTALL_DATA) README.W32 "$(DESTDIR)${datadir}/emacs/$(version)"

When I try to show the value of that variable, at that point, it seems
to be empty (which seems like a bug).

>> The problem, I think, is that $(DESTDIR) contains literally the prefix
>> I gave ("../myinstalldir"), which is a relative path (to the "current"
>> directory - at the moment of the "make install"), but since we are now
>> in "nt/Makefile", the current working directory is "<build-dir>/nt",
>> and therefore, relative references like this one don't refer to the
>> intended location.
>
> So I thought you were using DESTDIR on the Make command line.  It now
> turns out you didn't use DESTDIR at all.

No, I didn't.  Sorry if I said something that confused you, but AFAIK,
I don't have to set that variable anywere.

> You also said that the target directory existed when the error was
> reported:
>
>> On Mon, Feb 17, 2014 at 5:45 AM, Eli Zaretskii <[email-masked]> wrote:
>> >> Date: Sun, 16 Feb 2014 22:23:06 +0100
>> >> From: Dani Moncayo <[email-masked]>
>> >>
>> >> /bin/install -c -m 644 README.W32
>> >> "/usr/home/dani/emacs/install/emacs-r116453-20140216-w32-bin/share/emacs/24.3.50"
>> >> /bin/install: cannot stat `README.W32': No such file or directory
>> >
>> > Does the target directory
>> > "/usr/home/dani/emacs/install/emacs-r116453-20140216-w32-bin/share/emacs/24.3.50"
>> > exist at that point?
>>
>> Yes, it does.
>
> So how come now it does NOT exist?

When I checked, I think it existed, but I'm going crazy with so many tests...

I'd suggest you to try to reproduce this yourself.  But failing that,
I'll do it later today...

-- 
Dani Moncayo