GNU bug report logs - #70071
[FR] Provide official install scripts without requiring root, e.g., by making a static build possible

Previous Next

Package: emacs;

Reported by: Rudi C <rudiwillalwaysloveyou <at> gmail.com>

Date: Fri, 29 Mar 2024 12:44:01 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Po Lu <luangruo <at> yahoo.com>
To: Rudi C <rudiwillalwaysloveyou <at> gmail.com>
Cc: 70071 <at> debbugs.gnu.org, Eli Zaretskii <eliz <at> gnu.org>
Subject: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible
Date: Sat, 30 Mar 2024 09:19:23 +0800
Rudi C <rudiwillalwaysloveyou <at> gmail.com> writes:

> My primary concern with your approach is that it requires numerous
> manual steps, each of which can introduce new points of failure.
> Would it be possible for you to provide a single script that I can run
> on Ubuntu (even on older versions with an outdated gcc, etc.) that
> will build Emacs under my home directory (~/)?

Emacs supports "older operating systems" with "outdated GCC" (back to
3.4.x) quite well, so I fail to see what the difficulty is with the
following two-liner:

  ./configure --prefix=$HOME
  make -j `nproc` install

which has been standard among autoconf-using programs since time
immemorial, if not earlier.

> While I don't claim to have a deep understanding of these terms, my
> interpretation is that dynamic linking connects to the installed
> system libraries, making the binary heavily reliant on the specific
> conditions of its host operating system.

This is not true or important, when two lines and a set of basic
development packages available on any self-respecting GNU/Linux
distribution should provide through their package repositories.

> In contrast, a statically linked binary includes all of its
> dependencies within itself, allowing a single binary for Linux x86 to
> function on most other similar systems. A "portable" binary is one
> that can be downloaded using wget and executed without relying on any
> dependencies from the host operating system. Of course, no binary can
> be completely portable, and portability exists on a spectrum. However,
> some binaries are quite portable, such as those found at
> https://github.com/Mozilla-Ocho/llamafile.

Statically linking against libc.a is inherently unreliable, but programs
dynamically linking against one specific version of the GNU C library,
and more often than not, other C libraries, will function normally on
systems with subsequent releases of the same.

In any event, volunteers are welcome to provide such binary
distributions of Emacs, but, Emacs being a portable program without
numerous elusive dependencies or non-standard build systems, I very much
doubt the game will be worth the candle.




This bug report was last modified 1 year and 48 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.