From: "Juan José García-Ripoll" <juanjose.garciaripoll@gmail.com>
To: emacs-devel@gnu.org
Subject: Re: Avoid duplicate emacs.exe / emacs-$version.exe
Date: Sat, 28 Mar 2020 21:41:51 +0100 [thread overview]
Message-ID: <86y2rkb4a8.fsf@csic.es> (raw)
In-Reply-To: 83v9mo5om8.fsf@gnu.org
Eli Zaretskii <eliz@gnu.org> writes:
>> From: Juan José García-Ripoll
>> <juanjose.garciaripoll@gmail.com>
>> Date: Sat, 28 Mar 2020 17:53:00 +0100
>>
>> Right now in my hard disk I have two copies of statically linked Emacs.
>
> (This is a point, but Emacs is not linked statically, at least not by
> default. The large size is mostly due to debug info, and you can
> strip it if you want, although I don't recommend doing so for a
> pretest version, because you cannot produce meaningful backtraces from
> a stripped binary.)
I am talking about the official archives *.zip, not the *.exe install
file. I assumed "statically linked" because of the size and because of
the dependencies they have been built against -- e.g. libpng, libtiff,
etc.-- but from your message I deduce those libraries are loaded by
Emacs only when available.
> No, they don't waste space, at least not by default. When you install
> Emacs, the installation procedure produces a hard link with another
> name to the same file data. These two names are just 2 different
> names that refer to the same disk space. [...]
> This means your installation procedure is modified, or maybe you
> installed a binary someone else produced, in which case the archive
> used to package the binaries didn't support hard links. You can
> restore the hard link by removing onhe of the copies and making a hard
> link to the remaining copy under the other name.
I am reporting figures that come from either (a) the official release
from ftp.gnu.org, (b) the prerelease *.zip files from alpha.gnu.org and
(c) the official build process as reported in emacs-27/nt.
- For emacs 26.3, using Windows' explorer to unzip the *-no-deps.zip
file creates two identical files, emacs.exe and emacs-26.3.exe. MSYS's
"du" reports a total of 277Mb usage. Windows directory properties
reports the same figure for "size" and "size occupied in disk"
(apologies, my copy of Windows is in Spanish and I do not know what
text is used in other locales)
- Doing the same thing with a command line utility, unzip.exe, produces
the same result.
- For emacs 27.0.90, using Windows' explorer or unzip.exe to inflate the
*-no-deps.zip creates two identical files, but this time 6Mb in
size. Once more, both are two separate files, though now total space is just
13Mb (!)
- Building from emacs-27 branch (Savannah's git), following the
instructions from nt/ (i.e. configure + make install), creates two
identical files, emacs.exe and emacs-27.0.90.exe. Space usage is as in
26.3, about 123Mb per executable.
So I am using stock files, never my own copies. I am using also standard
procedures. I do not understand why the executable sizes differ so much
between release, prerelease and built from sources. However, there are
no symbolic links happening at all. Indeed, MSYS's "ln" as used in the
autoconf build process does not seem to work: it just copies the file.
$ ln -sf foo faa
$ cat faa
Foo
$ echo Faa > foo
$ cat faa
Foo
My computer is an up-to-date Windows 10 (64-bit) installation using
NTFS, btw. My versions of MSYS and Mingw64 are also pretty recent.
So maybe you are discussing what happens in Linux or Mac systems?
Cheers,
--
Juan José García Ripoll
http://juanjose.garciaripoll.com
http://quinfog.hbar.es
next prev parent reply other threads:[~2020-03-28 20:41 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-28 16:53 Avoid duplicate emacs.exe / emacs-$version.exe Juan José García-Ripoll
2020-03-28 18:19 ` Eli Zaretskii
2020-03-28 20:41 ` Juan José García-Ripoll [this message]
2020-03-28 22:45 ` Phillip Lord
2020-03-29 2:31 ` Eli Zaretskii
2020-03-29 9:38 ` Juan José García-Ripoll
2020-03-29 13:08 ` Phillip Lord
2020-03-29 14:10 ` Eli Zaretskii
2020-03-28 18:19 ` Eli Zaretskii
2020-03-28 20:13 ` Phillip Lord
2020-03-28 20:48 ` Juan José García-Ripoll
2020-03-28 22:22 ` Phillip Lord
2020-03-28 23:36 ` Juan José García-Ripoll
2020-03-29 12:55 ` Phillip Lord
2020-03-29 2:27 ` Eli Zaretskii
2020-03-29 12:52 ` Phillip Lord
2020-03-29 13:56 ` Eli Zaretskii
2020-03-29 17:25 ` Phillip Lord
2020-03-28 23:36 ` Juan José García-Ripoll
2020-03-29 2:36 ` Eli Zaretskii
2020-03-29 12:59 ` Phillip Lord
2020-03-29 13:59 ` Eli Zaretskii
2020-03-29 18:18 ` Phillip Lord
2020-03-29 18:34 ` Eli Zaretskii
2020-03-29 20:49 ` Phillip Lord
-- strict thread matches above, loose matches on Subject: below --
2020-03-29 17:01 Angelo Graziosi
2020-03-29 17:22 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86y2rkb4a8.fsf@csic.es \
--to=juanjose.garciaripoll@gmail.com \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.