From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 29 08:43:24 2024 Received: (at submit) by debbugs.gnu.org; 29 Mar 2024 12:43:24 +0000 Received: from localhost ([127.0.0.1]:41916 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqBZs-0007YY-1n for submit@debbugs.gnu.org; Fri, 29 Mar 2024 08:43:24 -0400 Received: from lists.gnu.org ([2001:470:142::17]:53770) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqBZp-0007YJ-Oy for submit@debbugs.gnu.org; Fri, 29 Mar 2024 08:43:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqBZj-0004Pp-3F for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2024 08:43:15 -0400 Received: from mail-oa1-x2c.google.com ([2001:4860:4864:20::2c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rqBZh-0008Jf-58 for bug-gnu-emacs@gnu.org; Fri, 29 Mar 2024 08:43:14 -0400 Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-22a8df1df8fso1093520fac.2 for ; Fri, 29 Mar 2024 05:43:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711716191; x=1712320991; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=UJFDTaaZzNsrsn/tLnX+1+bYi1hEtXB4lkS3nIBR1Zk=; b=itfnwSFoGqlDxFsuRilkqjL0MlH7AdDDmIBFMnMHAYZvmMqa5zHtI2mPa250sjHrtw SCg0kwKG3PA+PJViWPhkelYUafWAsmwPVXt8uq4uc/DxhdEgSJ3tg2i4YK5muaL7oyPm V9WL1mIVB/18fC9I8zl572ySa+oA9ZmJhChUgqLMlKRZHcB/yYmHWyrkthSpgLNPeZ/J ZHOe1j46Df/5p+LoIwRFUHtnLdz0NIycSZZpqLAouh2xSAutUPpobv0HvE/JOUx68/NN 2CB2VUMO96Zrc4EBw0/Meqz07hL8XhUNJZdfshOEbPhzjDVsulg0EtAZgKhQmPSNfOOi zxng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711716191; x=1712320991; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=UJFDTaaZzNsrsn/tLnX+1+bYi1hEtXB4lkS3nIBR1Zk=; b=UK/C46w/bUqotgJXVCgkUOgGVf6kFmS2khc/1YS40bKE+UdeeZu63gGy6ZOtUknyDx Lmo47w25038cAQPedh26umHN+QxfyKYPca1YmaF/XEG0hzgFkM3ZxO19CIeRlNlLLYVJ erXsBfIodRsFcTRaXd9jLGYYS9977cBO31sasy8q1hkBMteC/J5/GQ1vU0SKxRpkp65G yQtLJrXLlHPWHKttL9gkEeT0jqJikbaB8y/yVpeTvA+MXIM5U6aS43Onn+wuxCM2BuCe bguJ4pW4oRW0PRhQ2satuUMDlSPuybaLgZw/JSQR9vZdEX8alwfZ6p1eUmoRSHriYasn w6Aw== X-Gm-Message-State: AOJu0YwRoWpMKr10T/4+6HEMft+2zoiWIb1ikd+W7qflwsHAOJXtoSDC Jm2Gwq9QhsW3bubRPj8yACZaNAH9RgF9o38oOqxDQJKvUYRP64T6DBdG3M+zpsKAcVG+WterAZR xiG41otOgqRAvPbMY0x1GpYC1n/X/qLwEwyWV6g== X-Google-Smtp-Source: AGHT+IG5FAIC4Uer8m8Sb9U9XZbdB0tPwg0RaU93PqyPPmgBDjiRTVJ4SUc15qKHS58/Fdi/kLTSbSV7NjhYVQ04Pnw= X-Received: by 2002:a05:6870:1697:b0:229:f61d:7e52 with SMTP id j23-20020a056870169700b00229f61d7e52mr2275482oae.34.1711716190883; Fri, 29 Mar 2024 05:43:10 -0700 (PDT) MIME-Version: 1.0 From: Rudi C Date: Fri, 29 Mar 2024 16:12:34 +0330 Message-ID: Subject: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="00000000000083981a0614cbfb1d" Received-SPF: pass client-ip=2001:4860:4864:20::2c; envelope-from=rudiwillalwaysloveyou@gmail.com; helo=mail-oa1-x2c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --00000000000083981a0614cbfb1d Content-Type: text/plain; charset="UTF-8" I've been struggling to install Emacs on university servers where I don't have root access, and it's been a frustrating experience. It seems like such a trivial issue to prevent people from using Emacs, especially when Vim is usually pre-installed on most servers. After searching the web, I've discovered that there are challenges in building Emacs in a static way. (E.g., https://unix.stackexchange.com/questions/472989/how-to-build-instance-of-emacs-to-run-on-an-x86-64-system-different-from-the-one) It would be fantastic if Emacs could be modified to allow for static, portable builds for common Linux architectures. Imagine being able to install Emacs using a simple command like `curl -sS https://gnu.com/emacs-install-portable.sh | bash`, which would automatically detect the correct build, download it, and install it. While it might be possible to build Emacs without root access on each server from scratch, it's a difficult and time-consuming process. Unfortunately, there isn't a reliable official script like `gnu.com/emacs-install-no-root.sh` to streamline this process. I've tried using Linuxbrew to build Emacs from source without root, and while it sometimes (50%) works, it's very slow. As brew is primarily developed for macOS, not Linux, the bugs are not fixed. (See, e.g., https://github.com/d12frosted/homebrew-emacs-plus/issues/603) To address these issues, I have three suggestions, listed in order of preference: 1. Provide portable builds of Emacs, along with a script that automatically installs the correct build without requiring root access. 2. Offer semi-portable builds of Emacs that only require building a handful of libraries on the host. This should be handled by an official install script, allowing users to simply run `curl ... | bash`. 3. Create an official install script that builds Emacs from source, thoroughly tested on popular distributions like Ubuntu (including different versions, not just the latest). This should still be as straightforward as running `curl ... | bash`, even if it takes some time to complete. I consider myself a persistent and patient person, and I've explored various options, including `nix-env`, `guix`, and more. However, I've reached my wit's end; installing Emacs is simply too complicated. While I HAVE installed emacs on many servers and I use it remotely almost every day, on servers that I use less often, I often resort to vim or editing files locally and using Git to sync my changes back to the server. I'm aware of Tramp, but it's buggy and slow on my setup, and I don't have the time to debug it or fix the extensions that are causing issues. Similarly, sshfs is unreliable on my unstable connections. All I want is a way to easily install Emacs on a server without root access, without having to manually inspect the installation process or engage in a debugging session. Is a one-liner installer too much to ask for in 2024?! PS: Please use reply-to-all. --00000000000083981a0614cbfb1d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I've been struggling to install Emacs on university se= rvers where I don't have root access, and it's been a frustrating e= xperience. It seems like such a trivial issue to prevent people from using = Emacs, especially when Vim is usually pre-installed on most servers.
After searching the web, I've discovered that there are challenges in = building Emacs in a static way. (E.g., https://unix.stackexchange.com/questions/4729= 89/how-to-build-instance-of-emacs-to-run-on-an-x86-64-system-different-from= -the-one) It would be fantastic if Emacs could be modified to allow for= static, portable builds for common Linux architectures. Imagine being able= to install Emacs using a simple command like `curl -sS https://gnu.com/emacs-install-portable.s= h | bash`, which would automatically detect the correct build, download= it, and install it. While it might be possible to build Emacs without root= access on each server from scratch, it's a difficult and time-consumin= g process. Unfortunately, there isn't a reliable official script like `= gnu.com/emacs-install-= no-root.sh` to streamline this process. I've tried using Linuxbrew = to build Emacs from source without root, and while it sometimes (50%) works= , it's very slow. As brew is primarily developed for macOS, not Linux, = the bugs are not fixed. (See, e.g., https://github.com/d12frosted/homebrew-em= acs-plus/issues/603)

To address these issues, I have three sugge= stions, listed in order of preference:

1. Provide portable builds of= Emacs, along with a script that automatically installs the correct build w= ithout requiring root access.
2. Offer semi-portable builds of Emacs tha= t only require building a handful of libraries on the host. This should be = handled by an official install script, allowing users to simply run `curl .= .. | bash`.
3. Create an official install script that builds Emacs from = source, thoroughly tested on popular distributions like Ubuntu (including d= ifferent versions, not just the latest). This should still be as straightfo= rward as running `curl ... | bash`, even if it takes some time to complete.=

I consider myself a persistent and patient person, and I've exp= lored various options, including `nix-env`, `guix`, and more. However, I= 9;ve reached my wit's end; installing Emacs is simply too complicated. = While I HAVE installed emacs on many servers and I use it remotely almost e= very day, on servers that I use less often, I often resort to vim or editin= g files locally and using Git to sync my changes back to the server. I'= m aware of Tramp, but it's buggy and slow on my setup, and I don't = have the time to debug it or fix the extensions that are causing issues. Si= milarly, sshfs is unreliable on my unstable connections. All I want is a wa= y to easily install Emacs on a server without root access, without having t= o manually inspect the installation process or engage in a debugging sessio= n. Is a one-liner installer too much to ask for in 2024?!

PS: Please use reply-to-all.
--00000000000083981a0614cbfb1d-- From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 29 09:28:09 2024 Received: (at 70071) by debbugs.gnu.org; 29 Mar 2024 13:28:09 +0000 Received: from localhost ([127.0.0.1]:41939 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqCHA-0001Sb-RM for submit@debbugs.gnu.org; Fri, 29 Mar 2024 09:28:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44222) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqCH8-0001SD-GW for 70071@debbugs.gnu.org; Fri, 29 Mar 2024 09:28:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqCH1-0000k5-ME; Fri, 29 Mar 2024 09:27:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=OY4jOrRFQAmePtxSxFCNwP7fvovlyiF7g++nW5qiZwM=; b=F9nUYfQ4bcE0 GTszpDGvUAocaw3O1JS8yfibzvSZgk4GPhbU0J+MWlEBitjQHEBFU2+xisSy2HsyjptXhSspQKPiZ xUWrMS2xoEwtT4ErRGqE1WKKL/BUMLFKweThtmAk+EKetnSFDp0UUVtJROQfVKt7JiQi9Laqk7Zp3 jwugPbMpAZhrOppUkmkmnIst3APYELGZgeIeQP1RPqHslr6wpPs5K/v9AjHlvx0JRwWN1ILQXr/Jz vskfiKpidWiSuPaJugyQRvRaAL7zHXlMwvUPqc5vsZi7khqnmcjsqUk/pGhg/kq2FzPXlvNw2bbyD Q1El2zP+AOKAg7WydQFMbw==; Date: Fri, 29 Mar 2024 16:27:58 +0300 Message-Id: <86r0ftdv6p.fsf@gnu.org> From: Eli Zaretskii To: Rudi C In-Reply-To: (message from Rudi C on Fri, 29 Mar 2024 16:12:34 +0330) Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Rudi C > Date: Fri, 29 Mar 2024 16:12:34 +0330 > > I've been struggling to install Emacs on university servers where I don't have root access, and it's been a > frustrating experience. It seems like such a trivial issue to prevent people from using Emacs, especially when > Vim is usually pre-installed on most servers. ??? I'm building Emacs in this way since time immemoriam, and never had any problems. All you need is to configure it like this: ./configure --prefix=~/ and that's it: when you then say "make install", Emacs will be installed under your home directory, and you can use it as much as you like. If this doesn't solve your problem, please tell why. > It would be fantastic if Emacs could be modified to allow for static, portable builds for common Linux > architectures. Imagine being able to install Emacs using a simple command like `curl -sS > https://gnu.com/emacs-install-portable.sh | bash`, which would automatically detect the correct build, download > it, and install it. While it might be possible to build Emacs without root access on each server from scratch, it's > a difficult and time-consuming process. Unfortunately, there isn't a reliable official script like > `gnu.com/emacs-install-no-root.sh` to streamline this process. I've tried using Linuxbrew to build Emacs from > source without root, and while it sometimes (50%) works, it's very slow. As brew is primarily developed for > macOS, not Linux, the bugs are not fixed. (See, e.g., > https://github.com/d12frosted/homebrew-emacs-plus/issues/603) > > To address these issues, I have three suggestions, listed in order of preference: > > 1. Provide portable builds of Emacs, along with a script that automatically installs the correct build without > requiring root access. > 2. Offer semi-portable builds of Emacs that only require building a handful of libraries on the host. This should > be handled by an official install script, allowing users to simply run `curl ... | bash`. > 3. Create an official install script that builds Emacs from source, thoroughly tested on popular distributions like > Ubuntu (including different versions, not just the latest). This should still be as straightforward as running > `curl ... | bash`, even if it takes some time to complete. What is a "portable build", and how is it different from a "normal" build? Also, what is a "static build"? If you need to build support libraries (presumably, because they are not installed on the target system), you can build them in the same way, with --prefix pointing to a subdirectory of your home directory. Then either set LD_LIBRARY_PATH and INCLUDE_PATH to ensure the configure script finds those libraries, or use CFLAGS and LDFLAGS at configure time to tell the configure script where to find the directories with header files and libraries ("configure --help" mentions those variables and many others) > I consider myself a persistent and patient person, and I've explored various options, including `nix-env`, `guix > `, and more. However, I've reached my wit's end; installing Emacs is simply too complicated. While I HAVE > installed emacs on many servers and I use it remotely almost every day, on servers that I use less often, I > often resort to vim or editing files locally and using Git to sync my changes back to the server. I'm aware of > Tramp, but it's buggy and slow on my setup, and I don't have the time to debug it or fix the extensions that are > causing issues. Similarly, sshfs is unreliable on my unstable connections. All I want is a way to easily install > Emacs on a server without root access, without having to manually inspect the installation process or engage > in a debugging session. Is a one-liner installer too much to ask for in 2024?! Needless to say, this is completely against my many-year experience. I don't understand why you need to search for solutions high and low, instead of just using the features that are there already, and always have been. I fear there's some serious misunderstanding here, perhaps some details of the issue that you haven't described. Linux distros are the way to let users install a prebuilt Emacs. If your problem is that you want to be able to install those distros without root access, then I think you should talk to the maintainers of those distros. The Emacs project doesn't produce official binaries, it only produces source tarballs, and those can be built and installed without any need for root access, see above. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 29 10:25:00 2024 Received: (at 70071) by debbugs.gnu.org; 29 Mar 2024 14:25:00 +0000 Received: from localhost ([127.0.0.1]:43077 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqDAB-0004Pm-NV for submit@debbugs.gnu.org; Fri, 29 Mar 2024 10:25:00 -0400 Received: from mail-oa1-x31.google.com ([2001:4860:4864:20::31]:54275) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqDA9-0004Oc-24 for 70071@debbugs.gnu.org; Fri, 29 Mar 2024 10:24:58 -0400 Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-2297d0d6013so1208202fac.0 for <70071@debbugs.gnu.org>; Fri, 29 Mar 2024 07:24:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711722289; x=1712327089; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=zWNCHl7Vmi1+Vp0idkibgTDI5XrzNwjIbznDVFYOyog=; b=jTuzSXMjO4FhszBopSly9aGwndeFFe0AkYpSOo+1i/zoB7eYimTaagWyQOyZvNizPw MZrLni9dc2VvAWYv1xQH9xmN75ZRnioE4UXP6tnf71qFdiEjEbmoQQQlBhADu4LNUlsm EVYYmt3Q8B1mTZ4Wnh68204WP+FAZoyjvvITJg1SIIHR5P9SgZD4CFHAr4keBtfdBMwT vPpUWeKSqtIavASh2EIdpNdcHYnv+7T4on7l9PG1vW8+TAco51vcpM6nNlRIKuREZlVi a0+jIU0D4WRPz/sAXzLdcUf2WOqIPDCx6zxJ6G3ODLElVGcdiQaaJBg6GGcyGoIvnCfu ANQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711722289; x=1712327089; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=zWNCHl7Vmi1+Vp0idkibgTDI5XrzNwjIbznDVFYOyog=; b=CcFSgP00ZttYHUQGpm7YfIyjNSrsRi6ki7Fhl+Lnwj8M3f4D/AZlFrB3XCGtFocEJh 8R/udNiiEZp/vq9eHuCsaF51ecRA5PeU7o2VxZNhIycAAqPqo94MjjFus0h1+BJz1AvJ /iKbBAlj7Gwi5Mbsuwb2Jfnzg7hgJrPYiP1x1eCc1bDGxbS4ve1AzFjemBMiXNDr+ZUw LJ5XJXsa3G5hXFKGkqoNWE9G8RkDbnxPsMelMw2DcOuUWua7g+XclwCluVlRuqB3qQI1 OG5WZXUk2HfKOvTu2aceenYRb5r6scgrmtYwOfssLh4tvi2USHE7ugo7zmAoTVZ8atWa 9HFQ== X-Gm-Message-State: AOJu0YxD1iHA0J6M0nZJjUMsRkFhCqtGeNVvEz8YYkrDesmfTjqlzAMs DQeJ0jvXGZbt+Uid2jvrHCIfAx4SS3zoevo1Z4DgBMq6O7WmFFhwfQYMJE0xae26uFxN525DkaL Btm/skZzJkaDmyJOfmtAb7Kzy6gQ= X-Google-Smtp-Source: AGHT+IF2yj0RRhp4p+CZsRyiwKY6C+hs6J4934Y+qHF28j8eQ+wT2JjRbmLQpauUbfk1WBVBqu5WK7KpY7Fv6niAdy8= X-Received: by 2002:a05:6871:5b01:b0:22a:7dc3:2457 with SMTP id op1-20020a0568715b0100b0022a7dc32457mr2498514oac.36.1711722289389; Fri, 29 Mar 2024 07:24:49 -0700 (PDT) MIME-Version: 1.0 References: <86r0ftdv6p.fsf@gnu.org> In-Reply-To: <86r0ftdv6p.fsf@gnu.org> From: Rudi C Date: Fri, 29 Mar 2024 17:54:13 +0330 Message-ID: Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000036a860614cd67c7" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000036a860614cd67c7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 (~/)? Linux packaging is designed for administrators with root access who don't require cutting-edge packages, and it simply doesn't allow me to install Emacs 29. While it's true that the distributions may be at fault, I am unable to persuade the server administrators to change the distribution. However, I can run a script from gnu.com. In 2024, most software is distributed with an installer script or a portable binary that can be easily downloaded using `wget` into `~/bin`. The philosophy of shifting blame and not ensuring that things "just work" is one of the main issues with Emacs. Although distributions and administrators have their own challenges, and the world can be difficult, Emacs has the ability to provide official workarounds that can address its own pain points, even if it cannot solve every problem. > What is a "portable build," and how does it differ from a "normal" build? Also, what is a "static build"? 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. 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. On Fri, Mar 29, 2024 at 4:58=E2=80=AFPM Eli Zaretskii wrote: > > From: Rudi C > > Date: Fri, 29 Mar 2024 16:12:34 +0330 > > > > I've been struggling to install Emacs on university servers where I > don't have root access, and it's been a > > frustrating experience. It seems like such a trivial issue to prevent > people from using Emacs, especially when > > Vim is usually pre-installed on most servers. > > ??? I'm building Emacs in this way since time immemoriam, and never > had any problems. All you need is to configure it like this: > > ./configure --prefix=3D~/ > > and that's it: when you then say "make install", Emacs will be > installed under your home directory, and you can use it as much as you > like. If this doesn't solve your problem, please tell why. > > > It would be fantastic if Emacs could be modified to allow for static, > portable builds for common Linux > > architectures. Imagine being able to install Emacs using a simple > command like `curl -sS > > https://gnu.com/emacs-install-portable.sh | bash`, which would > automatically detect the correct build, download > > it, and install it. While it might be possible to build Emacs without > root access on each server from scratch, it's > > a difficult and time-consuming process. Unfortunately, there isn't a > reliable official script like > > `gnu.com/emacs-install-no-root.sh` > to streamline this process. > I've tried using Linuxbrew to build Emacs from > > source without root, and while it sometimes (50%) works, it's very slow= . > As brew is primarily developed for > > macOS, not Linux, the bugs are not fixed. (See, e.g., > > https://github.com/d12frosted/homebrew-emacs-plus/issues/603) > > > > To address these issues, I have three suggestions, listed in order of > preference: > > > > 1. Provide portable builds of Emacs, along with a script that > automatically installs the correct build without > > requiring root access. > > 2. Offer semi-portable builds of Emacs that only require building a > handful of libraries on the host. This should > > be handled by an official install script, allowing users to simply run > `curl ... | bash`. > > 3. Create an official install script that builds Emacs from source, > thoroughly tested on popular distributions like > > Ubuntu (including different versions, not just the latest). This should > still be as straightforward as running > > `curl ... | bash`, even if it takes some time to complete. > > What is a "portable build", and how is it different from a "normal" > build? Also, what is a "static build"? > > If you need to build support libraries (presumably, because they are > not installed on the target system), you can build them in the same > way, with --prefix pointing to a subdirectory of your home directory. > Then either set LD_LIBRARY_PATH and INCLUDE_PATH to ensure the > configure script finds those libraries, or use CFLAGS and LDFLAGS at > configure time to tell the configure script where to find the > directories with header files and libraries ("configure --help" > mentions those variables and many others) > > > I consider myself a persistent and patient person, and I've explored > various options, including `nix-env`, `guix > > `, and more. However, I've reached my wit's end; installing Emacs is > simply too complicated. While I HAVE > > installed emacs on many servers and I use it remotely almost every day, > on servers that I use less often, I > > often resort to vim or editing files locally and using Git to sync my > changes back to the server. I'm aware of > > Tramp, but it's buggy and slow on my setup, and I don't have the time t= o > debug it or fix the extensions that are > > causing issues. Similarly, sshfs is unreliable on my unstable > connections. All I want is a way to easily install > > Emacs on a server without root access, without having to manually > inspect the installation process or engage > > in a debugging session. Is a one-liner installer too much to ask for in > 2024?! > > Needless to say, this is completely against my many-year experience. > I don't understand why you need to search for solutions high and low, > instead of just using the features that are there already, and always > have been. > > I fear there's some serious misunderstanding here, perhaps some > details of the issue that you haven't described. > > Linux distros are the way to let users install a prebuilt Emacs. If > your problem is that you want to be able to install those distros > without root access, then I think you should talk to the maintainers > of those distros. The Emacs project doesn't produce official > binaries, it only produces source tarballs, and those can be built and > installed without any need for root access, see above. > --000000000000036a860614cd67c7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

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

Linux packaging is designed fo= r administrators with root access who don't require cutting-edge packag= es, and it simply doesn't allow me to install Emacs 29. While it's = true that the distributions may be at fault, I am unable to persuade the se= rver administrators to change the distribution. However, I can run a script= from gnu.com. In 2024, most software is dis= tributed with an installer script or a portable binary that can be easily d= ownloaded using `wget` into `~/bin`. The philosophy of shifting blame and n= ot ensuring that things "just work" is one of the main issues wit= h Emacs. Although distributions and administrators have their own challenge= s, and the world can be difficult, Emacs has the ability to provide officia= l workarounds that can address its own pain points, even if it cannot solve= every problem.

> What is a "portable build," and how d= oes it differ from a "normal" build? Also, what is a "static= build"?

While I don't claim to have a deep understanding o= f these terms, my interpretation is that dynamic linking connects to the in= stalled system libraries, making the binary heavily reliant on the specific= conditions of its host operating system. In contrast, a statically linked = binary includes all of its dependencies within itself, allowing a single bi= nary for Linux x86 to function on most other similar systems. A "porta= ble" binary is one that can be downloaded using wget and executed with= out 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-O= cho/llamafile.

On Fri, Mar 29, 2024 at 4:58=E2=80=AFPM Eli Zaretskii <= eliz@gnu.org> wrote:
> From: Rudi C <rudiwillalway= sloveyou@gmail.com>
> Date: Fri, 29 Mar 2024 16:12:34 +0330
>
> I've been struggling to install Emacs on university servers where = I don't have root access, and it's been a
> frustrating experience. It seems like such a trivial issue to prevent = people from using Emacs, especially when
> Vim is usually pre-installed on most servers.

??? I'm building Emacs in this way since time immemoriam, and never
had any problems.=C2=A0 All you need is to configure it like this:

=C2=A0 ./configure --prefix=3D~/

and that's it: when you then say "make install", Emacs will b= e
installed under your home directory, and you can use it as much as you
like.=C2=A0 If this doesn't solve your problem, please tell why.

> It would be fantastic if Emacs could be modified to allow for static, = portable builds for common Linux
> architectures. Imagine being able to install Emacs using a simple comm= and like `curl -sS
> https://gnu.com/emacs-install-portable.sh | bash`,= which would automatically detect the correct build, download
> it, and install it. While it might be possible to build Emacs without = root access on each server from scratch, it's
> a difficult and time-consuming process. Unfortunately, there isn't= a reliable official script like
> `gnu.com/emacs-install-no-root.sh` to streamline thi= s process. I've tried using Linuxbrew to build Emacs from
> source without root, and while it sometimes (50%) works, it's very= slow. As brew is primarily developed for
> macOS, not Linux, the bugs are not fixed. (See, e.g.,
> https://github.com/d12frosted/homeb= rew-emacs-plus/issues/603)
>
> To address these issues, I have three suggestions, listed in order of = preference:
>
> 1. Provide portable builds of Emacs, along with a script that automati= cally installs the correct build without
> requiring root access.
> 2. Offer semi-portable builds of Emacs that only require building a ha= ndful of libraries on the host. This should
> be handled by an official install script, allowing users to simply run= `curl ... | bash`.
> 3. Create an official install script that builds Emacs from source, th= oroughly tested on popular distributions like
> Ubuntu (including different versions, not just the latest). This shoul= d still be as straightforward as running
> `curl ... | bash`, even if it takes some time to complete.

What is a "portable build", and how is it different from a "= normal"
build?=C2=A0 Also, what is a "static build"?

If you need to build support libraries (presumably, because they are
not installed on the target system), you can build them in the same
way, with --prefix pointing to a subdirectory of your home directory.
Then either set LD_LIBRARY_PATH and INCLUDE_PATH to ensure the
configure script finds those libraries, or use CFLAGS and LDFLAGS at
configure time to tell the configure script where to find the
directories with header files and libraries ("configure --help" mentions those variables and many others)

> I consider myself a persistent and patient person, and I've explor= ed various options, including `nix-env`, `guix
> `, and more. However, I've reached my wit's end; installing Em= acs is simply too complicated. While I HAVE
> installed emacs on many servers and I use it remotely almost every day= , on servers that I use less often, I
> often resort to vim or editing files locally and using Git to sync my = changes back to the server. I'm aware of
> Tramp, but it's buggy and slow on my setup, and I don't have t= he time to debug it or fix the extensions that are
> causing issues. Similarly, sshfs is unreliable on my unstable connecti= ons. All I want is a way to easily install
> Emacs on a server without root access, without having to manually insp= ect the installation process or engage
> in a debugging session. Is a one-liner installer too much to ask for i= n 2024?!

Needless to say, this is completely against my many-year experience.
I don't understand why you need to search for solutions high and low, instead of just using the features that are there already, and always
have been.

I fear there's some serious misunderstanding here, perhaps some
details of the issue that you haven't described.

Linux distros are the way to let users install a prebuilt Emacs.=C2=A0 If your problem is that you want to be able to install those distros
without root access, then I think you should talk to the maintainers
of those distros.=C2=A0 The Emacs project doesn't produce official
binaries, it only produces source tarballs, and those can be built and
installed without any need for root access, see above.
--000000000000036a860614cd67c7-- From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 29 10:34:05 2024 Received: (at 70071) by debbugs.gnu.org; 29 Mar 2024 14:34:05 +0000 Received: from localhost ([127.0.0.1]:43114 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqDIx-0004vr-Pl for submit@debbugs.gnu.org; Fri, 29 Mar 2024 10:34:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56740) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqDIu-0004v6-Vg for 70071@debbugs.gnu.org; Fri, 29 Mar 2024 10:34:02 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqDIo-0005Fy-47; Fri, 29 Mar 2024 10:33:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=PTnS7Gd6fOOEEQo2ul5QHkxNHCyGz3gxFztafPQ/14k=; b=gFEG3ervVMZ1 o7QjwB85TA6BQUodswzbYrUpED6mW5kbnKnC39GQbHMTLtSlxTwAQOuX1oZgdgjlEXclSbKZ0SxWL fSVt78AbFfBNNi2mvcXHcl5VXXquGs5bQbWNmJ9kVDAr7r9+qpMgp5JuejThNk1KXJaj+TiUFOFYU NoZI75SNy+GEWtN3zZnulrfLRh0erI2xOB6wVYjOC+tKDuZH/HyDhWYg1veY777i5P2Hc1rNeeofg 6SDwXX9NG5VRdLl/ZX9MbfJt2AI9H6lzXGghvEX0tkzwqpv0yhDyUldWndXRgWUwVtyRK8FEV3xqi CTJCge8+dLnlfQZxw57jzg==; Date: Fri, 29 Mar 2024 17:33:50 +0300 Message-Id: <86plvdds4x.fsf@gnu.org> From: Eli Zaretskii To: Rudi C In-Reply-To: (message from Rudi C on Fri, 29 Mar 2024 17:54:13 +0330) Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible References: <86r0ftdv6p.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Rudi C > Date: Fri, 29 Mar 2024 17:54:13 +0330 > Cc: 70071@debbugs.gnu.org > > My primary concern with your approach is that it requires numerous manual steps, each of which can > introduce new points of failure. Sorry, I don't understand: what numerous steps do you have in mind? All that is needed is to specify an accessible directory via --prefix option to the configure script. Everything else happens automatically. > 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 (~/)? The script already exists, it just needs an option to be specified. Since only you, the user, can decide where to install Emacs ("~/" is just one possibility, but some subdirectory of the home directory is also possible), there's no way to know that in advance anyway. > Linux packaging is designed for administrators with root access who don't require cutting-edge packages, and > it simply doesn't allow me to install Emacs 29. While it's true that the distributions may be at fault, I am unable > to persuade the server administrators to change the distribution. However, I can run a script from gnu.com. In > 2024, most software is distributed with an installer script or a portable binary that can be easily downloaded > using `wget` into `~/bin`. The philosophy of shifting blame and not ensuring that things "just work" is one of > the main issues with Emacs. Although distributions and administrators have their own challenges, and the > world can be difficult, Emacs has the ability to provide official workarounds that can address its own pain > points, even if it cannot solve every problem. I don't think it's practical, sorry. For starters, we don't have the expert knowledge on board about each and every target system to do what you are asking, even if we decided it to be our job. > > What is a "portable build," and how does it differ from a "normal" build? Also, what is a "static build"? > > 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. 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. Unfortunately, Emacs cannot use such techniques. Its portability is on the source level, not on the binary level. From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 29 21:20:03 2024 Received: (at 70071) by debbugs.gnu.org; 30 Mar 2024 01:20:03 +0000 Received: from localhost ([127.0.0.1]:43662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqNO6-0007lP-Oj for submit@debbugs.gnu.org; Fri, 29 Mar 2024 21:20:03 -0400 Received: from sonic307-10.consmr.mail.ne1.yahoo.com ([66.163.190.33]:45338) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqNO4-0007kO-J7 for 70071@debbugs.gnu.org; Fri, 29 Mar 2024 21:20:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1711761593; bh=C6B3sm3ZPFElGyquLdVNMnz6R+XLOv9viFBcYYknlCU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=DGGnjaVbIoFtsxAcaLO0p8R/CyKKCKJK2LQ2yynTzAti9cncUygf4iRWYJsyQsOYZbRjgEA0NqHA3pcyioYSNOBu28E/l4yvTjZxphcYUmTZiLIkwgqo97EHb8uYhWpzRriwNd8RRKOVDpflut7Yum/ovWlr9hVXIUtqLJ+7H/EP7BXmlPRGZhkmNT7t1QLereW0DqD+8TuswsnJbILb1gTT1BlHRATWmSoWu1tAUCEfdsWL/+kbVKiNXEewTYSNSsZW4Rx3LALVRiLbGmpwn1QhqiDIFKRgMs27HcY01ULDKziv2Jr+mNepR6iczWTJZTQKH4Olu/sIlgZZUULGKw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1711761593; bh=bHXxqGVH0jTaBs64IIykT+vgvbrmQtmOKgK+A26e5fN=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=T3nCRTP6mYgovxeO8c2Qd6q7h+BLHPoo5MKJUUKKSI0yyQeqiZn+ScxvBmfNfQ3ThckqiGC5VBp8LSN0Mm18ZzMhOf+0gHQOrVDYoG/Z6haW8/iGcJNxxr3j2nTpTZ4od6t3CuqUzvV/Zle0fgsBzi70VPeMLS07YApcDQdqnLC7Zm0Kl3vqngtswZJ6lTZu1FC3DInY229l4f9qrjS6flH+uMER7drjXzbw9pGb4x1F+b7mR7YPx+MNzdeX/MiB0CYvumNCbMvtVB0tQN4XtqBRh2pgqrpzlEa/GO9o9zaOM7alIf/QYsKgiBL5eRQD3mZNqRlnmB0iQdhsEw5uTQ== X-YMail-OSG: mS6DRsgVM1n2KT3WRhl796LLqDjRaNnwqzPTaWXWrTRFoh6Yq.anHl1MW_kft.b 3q4Ss4_As19bcn_y6jJvsl.4pLGP5EP_8Z0S.4QEfSQAd8nrOHb7lHuWGudwSf1ar7pjLr0nwJhd gp4PkrtFTsZg8pyRlxn1xkeX8leU_zJjh_y3E19PMXYgHXpKDamC4XY0HJl8e32ZvJFAuodzh3mR Wbo7FzOcjQ33632_UQ1UDQT3hhOdfDjGZw6HHjC3mzgDotwifNZ683K_3jS5trZ.tpWpod_6Xe4m BjpP94fqa0OD7skUmFJxRxep6hqR72x1R7o8ZHOWEZGpvx4U3bUvY3m9X.XR.5Tp_bx2oSh1ju8H VpeWcQhOM_cSy5K0bxRz33hFCWMPRDbV84jVOFQma9mgBuVb.yCIiT9LfuSjH6zUvYU3yGb10qDT R4t7GOZ1NwrOkzB.IBRCDe1twXUpIrEhq0xAOYfo9J6mW8.TvOdBSGKffhgoBlMMyrEaNSFE4HJ8 960eLFRZNgxGdzsJkqxaQhQ4uJ5.VV0SsJ9m2P_hnBLQRpxjRhFjX05KpjDQzSvT5lm0C1VCmNfO 98qiWWCvGgkUTmKIrvPwo9H_70xVONluwDohY2XEV5IsmOvMf.4TxcP8NPbVO9B4j30Hqe9bWgal 78kcWBczvhFxnM2KYaIy_4ngcy.yj9zyN4rpfTnKa3sn0k4EK2ke5q7u3MKPFWzIBO3f14bDKD5v 8HufoiClN07F9TMfND_wyuuAZtk0fvYkRunRw07AwcqD2Bas_Q0QVI0PlR8DAdeq8_lApCXBusgd NWUw..3rSFdkr.VUmwgxgiJhaXnN2TPCcPTBnZqh1T0ZlNERbrIKsMxlTVQAaXWZ0DcH8s5LxSvy syL6xS34OL4ebWb.GwChuD.5dWVHvwRNgZIzz0wOjmol7Mt8ix5dzc46_mSQUxC5VIl.h2jddsuD 33GisfZ9coycX.jraeWaGsnrO4UPEbgCky28f_yRw9NN30tfUNE0hYS7EplaLJ.JYtQoQvrP344D aJzLzHISUa.LJP6ZzG2W8Nuj1xHCYb3uMG4SoPTbYRnfYyJzxwz5AN.h0rFFp_yHb5Uhv.tDikyD KihhGHDoAJlL_24B1_LRKzoNepPVKtNW10Hfh1P3AXYsoUScxsKjybUjKTxspOg7by1E.n1Ee_gv B1B6D9LJUyE1Rdegf4IwpnrUPoqKFcv4KD8zJhwgMfsZMWJwlgEktq8Gzgtl5YdKg5Csizrj4B_r 9DFFYth9g5KtJ057og6OhqVv1CP8efiOnKwYXU1B02zV4UIFnu23ePv6ZSbx5dqgP.vSCcJZ00pw N79pjqy2ZpSF5RzVBvL2kassi2pMVHO7JNLUS7o3oxtTW9jmOY532QHSXqYwdWfrvwxfPXiXb5AJ AkUvRBAzhaNbOaIboCWx.YdmJD_dQKpq8SuzAu2erRMZBudYHSJ3LeKyYprY3aTjpyeVCwgq8eOg p4Lwe3Sixq7bYxrZoXdWbE1sG5fbpksCkbz8EBertGxNggaCWjZ4MmnLBPyUm_VStKhTN_y1kJr3 s0sYiXxWrDjrSk4Ns2sdrWGGje.d9YPvvSilhnykU0EGTJR8X16L0v1zze8FgWIKp6.KzKQhWVkd EMOIwaXYXbszpB9ZJsUC72S0aSRs8Fv6sAVtZWVCjZze.4a.mmbzmL3gEyool87VWOgEgUDm6mqe DZpGhMeCBMJPV80qPKMTv4Vb9GcExECiyd5aC_VHV3H2iT8QXI1hHxH324uoAFX7ihDfvbkQedyo ETMyXWObRnN0Kfpsw4y02nbfYeU99YM0f8TzqP1S686TmeTAeLw9q1vyvqePmNA1SZUsbXGLNy0k QiqXUXAxzo14Z7EfMVgxARxdqjm4F4lcI9KuDDs2ALOrmhcoV7yYBTnsrJYkDwZTMm5VdhGFTly_ KMXKkRtZzPN8OrjlLoUWZ6zGDD5YN_FjVjSEkkh0NCbiOEXAuA8Li4VSJFlfXnIg6xqwc0cMjajd iojPyDzt.Xc8lrPwVgtrrALyNdanAt5fWMqgPobm9RPzThP1Tz.UzuD2Jezo3hT93RzS157_BXEE FcO11eOH2DUXnnmyhuSnZf4oekHOYJVHg70fhBWTbuW4t8aS.uGEugYQh_n.l4y7kBniL88tvTHn R1ZounBdv1C8GHs6TVPjFAiQaDZts7GFKH2Xk31bpfDZmKQ5L6EvgOnSzDlfykY7Et_t2.pBIgNz _v1piUzsvlHBd0tv.C8GwE0Rp_OTi8dCcT7SQdracG6vogTeEQ6PmeAcNtuVqZTU- X-Sonic-MF: X-Sonic-ID: 03e73fab-a8b8-483c-814d-50da1dfbd247 Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ne1.yahoo.com with HTTP; Sat, 30 Mar 2024 01:19:53 +0000 Received: by hermes--production-sg3-6dc75bc8fb-ddr5z (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 70c854b6efa0db333fd562b01763315d; Sat, 30 Mar 2024 01:19:49 +0000 (UTC) From: Po Lu To: Rudi C Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible In-Reply-To: (Rudi C.'s message of "Fri, 29 Mar 2024 17:54:13 +0330") References: <86r0ftdv6p.fsf@gnu.org> Date: Sat, 30 Mar 2024 09:19:23 +0800 Message-ID: <87frw84iuc.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.22205 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 2161 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Rudi C 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. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 30 08:56:36 2024 Received: (at 70071) by debbugs.gnu.org; 30 Mar 2024 12:56:37 +0000 Received: from localhost ([127.0.0.1]:44187 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqYGB-0006Xl-SX for submit@debbugs.gnu.org; Sat, 30 Mar 2024 08:56:36 -0400 Received: from mail-oa1-x2a.google.com ([2001:4860:4864:20::2a]:53284) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqYG9-0006XW-Na for 70071@debbugs.gnu.org; Sat, 30 Mar 2024 08:56:34 -0400 Received: by mail-oa1-x2a.google.com with SMTP id 586e51a60fabf-22222357d76so1863206fac.2 for <70071@debbugs.gnu.org>; Sat, 30 Mar 2024 05:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711803386; x=1712408186; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=NxWHMRB4Z9iTdwVsX3TIbOFPvfqrHzYDJUTA6sNgPdw=; b=ckebZREh/xHaSHCTBMxZewOsW0hro5lblbdyJQBpsmxX4OqEUPsqo7iiMNKbwk299J DEexV2ZRgCN95WftjwWbcdsJjtdVt7AfxWbRrLcfSaIAZMvXolfqJRQy6PePx9bmy/r6 JmeeCZofnL/EJePa/9zeQKtql1e7TQ8VWZtD3cu42QUu7PzY8fzyhGUa29PU+88TadSe IlJhHxNtOKQAWibBAB4j10wmak8lIsAqnflwFhILmNH1MqCCWGde0soq97Rc1P+1PNSq rqTf1js+InvEoYhuoTo53rXcK2zxb7+LDk+RU2NJiPVjrBxlKyRjToeEhglajt/7jKW/ 50cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711803386; x=1712408186; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=NxWHMRB4Z9iTdwVsX3TIbOFPvfqrHzYDJUTA6sNgPdw=; b=rpkOxBJRATW9TQ8vuT0Ml/pOOhWEuiZcXDGcwQQKHgxz3YeqB1fCbAr/LzdcK389pJ ab8SbhOnZ+oWMPNDuxOUdqpvDw3csmGgBfx88bZ90MQRwonZytx/00wB5XsgBoCvE6RY wL0OHWeu5q2bYAfRLu/c8wxnm0W0tRDmKtsClMZGV7thdQscEMRNwKdH3hHGlkCd4NqB 3OlBZoz4khFxQqfQrPHH9VS4KN5t8Dv/bbv84K7kdV75fklJbNZuhf1ERrptvlRmpkjR VN2/T+vLquqIcpHpt3dweu7Gw0l2b9eQ5rLtnQdQX3pTNWrHgG4JzRp4nMrTDXu6mqn+ Hftg== X-Forwarded-Encrypted: i=1; AJvYcCUOeyIFcRMPkSFX4HvXiRJOYdnSs8Sc0uE3HgBWe+AB3t25boGacIa95p5YgAcySrl+9UIJtZrTW7nGfJWAM57VTqgFJnU= X-Gm-Message-State: AOJu0Yx5mGQRIoi1cWsPECi7aZg5gs0OZrFhbLSgHsq1Xrqps9cceryt k/Ve80/P1WETRS6Eh6eYgQaegryw97APmoZ6Yqaqfa/2bKpekTGHg89XtdKo+/iI7v+7ASJM1SH E46tpDphD6k2EKJODFDNiw0PyIZA= X-Google-Smtp-Source: AGHT+IFTE5CDPvuGhxOZn/YL7KOU9BihW4AlocQBIpYsNpI1nxUUVTJDjDeqx4yM0mStYMAmOazuW3EEzI9v2sd0Z/I= X-Received: by 2002:a05:6870:3306:b0:22d:fec2:86cc with SMTP id x6-20020a056870330600b0022dfec286ccmr4321229oae.41.1711803385895; Sat, 30 Mar 2024 05:56:25 -0700 (PDT) MIME-Version: 1.0 References: <86r0ftdv6p.fsf@gnu.org> <87frw84iuc.fsf@yahoo.com> In-Reply-To: <87frw84iuc.fsf@yahoo.com> From: Rudi C Date: Sat, 30 Mar 2024 16:25:49 +0330 Message-ID: Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible To: Po Lu Content-Type: multipart/alternative; boundary="000000000000bde1110614e048ea" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000bde1110614e048ea Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I just tried installing emacs yet again on a system. I used this script: ``` ( export PS4=3D'> ' setopt PIPE_FAIL PRINT_EXIT_VALUE ERR_RETURN SOURCE_TRACE XTRACE ## if test -n "${commands[brew]}" ; then export PATH=3D"$(perl -e 'print join(":", grep { index($_, "'"$(brew --prefix)"'") =3D=3D -1 } split(/:/, $ENV{PATH}))')" fi ## prefix_dir=3D~/emacs_ins mkdir -p "${prefix_dir}" cores_used=3D2 # url=3D' https://git.savannah.gnu.org/cgit/emacs.git/snapshot/emacs-c6cb6d8506916dd1= c17fba2d24ec63426c4afdbd.tar.gz ' url=3D'https://ftp.gnu.org/gnu/emacs/emacs-29.3.tar.gz' rm -rf ~/code/emacs_ins mkdir -p ~/code/emacs_ins cd ~/code/emacs_ins wget "$url" mkdir -p emacs tar xvzf emacs-*.tar.gz -C emacs --strip-components=3D1 #: You can use the `-C` option of the `tar` command to specify the directory where you want to extract the files. The `--strip-components=3D1` option will remove the top-level directory from the archive, so that the files are extracted directly into the `emacs` directory. cd emacs mkdir build && cd build config_opts=3D( --with-x-toolkit=3Dno --with-xpm=3Difavailable --with-jpeg=3Difavailable --with-gif=3Difavailable --with-tiff=3Difavailable --with-gnutls=3Difavailable ) ../configure --prefix=3D"${prefix_dir}" "${config_opts[@]}" make -j"${cores_used}" make -j"${cores_used}" install ) ``` I get this error (and this is after adding all those configure options which had previously caused errors): ``` checking for library containing tputs... no configure: error: The required function 'tputs' was not found in any library. The following libraries were tried (in order): libtinfo, libncurses, libterminfo, libcurses, libtermcap Please try installing whichever of these libraries is most appropriate for your system, together with its header files. For example, a libncurses-dev(el) or similar package. ``` So what should I do now? On Sat, Mar 30, 2024 at 4:49=E2=80=AFAM Po Lu wrote: > Rudi C 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=3D$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. > --000000000000bde1110614e048ea Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I just tried installing emacs yet again on a system. I use= d this script:

```
(
export PS4=3D'>= '
setopt PIPE_FAIL PRINT_EXIT_VALUE ERR_RETURN SOURCE_TRACE XTRACE<= br>##
if test -n "${commands[brew]}" ; then
=C2=A0 =C2=A0 e= xport PATH=3D"$(perl -e 'print join(":", grep { index($_= , "'"$(brew --prefix)"'") =3D=3D -1 } split(/:/= , $ENV{PATH}))')"
fi
##
prefix_dir=3D~/emacs_ins
mkdir= -p "${prefix_dir}"

cores_used=3D2
# url=3D'https://git.savannah.gnu.org/cgit/emac= s.git/snapshot/emacs-c6cb6d8506916dd1c17fba2d24ec63426c4afdbd.tar.gz= 9;
url=3D'https://ftp.gnu.org/gnu/emacs/emacs-29.3.tar.gz'


rm -r= f ~/code/emacs_ins
mkdir -p ~/code/emacs_ins
cd ~/code/emacs_ins
<= br>wget "$url"
mkdir -p emacs
tar xvzf emacs-*.tar.gz -C em= acs --strip-components=3D1
#: You can use the `-C` option of the `tar` c= ommand to specify the directory where you want to extract the files. The `-= -strip-components=3D1` option will remove the top-level directory from the = archive, so that the files are extracted directly into the `emacs` director= y.

cd emacs

mkdir build && cd build

config_opt= s=3D(
=C2=A0--with-x-toolkit=3Dno
=C2=A0
=C2=A0--with-xpm=3Difavai= lable
=C2=A0--with-jpeg=3Difavailable
=C2=A0--with-gif=3Difavailable<= br>=C2=A0--with-tiff=3Difavailable
=C2=A0--with-gnutls=3Difavailable
= )
../configure --prefix=3D"${prefix_dir}" "${config_opts[= @]}"
make -j"${cores_used}"
make -j"${cores_used}= " install
)
```

I get this e= rror (and this is after adding all those configure options which had previo= usly caused errors):
```
checking for library containing tputs= ... no
configure: error: The required function 'tputs' was not f= ound in any library.
The following libraries were tried (in order):
= =C2=A0 libtinfo, libncurses, libterminfo, libcurses, libtermcap
Please t= ry installing whichever of these libraries is most appropriate
for your = system, together with its header files.
For example, a libncurses-dev(el= ) or similar package.
```

So what should I = do now?=C2=A0


On Sat, Mar 30, 2024 at 4:49=E2=80=AFAM P= o Lu <luangruo@yahoo.com> w= rote:
Rudi C <= ;rudiw= illalwaysloveyou@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&= quot; (back to
3.4.x) quite well, so I fail to see what the difficulty is with the
following two-liner:

=C2=A0 ./configure --prefix=3D$HOME
=C2=A0 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, m= y
> 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<= br> > function on most other similar systems. A "portable" binary = is one
> that can be downloaded using wget and executed without relying on any<= br> > dependencies from the host operating system. Of course, no binary can<= br> > 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.
--000000000000bde1110614e048ea-- From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 30 09:28:41 2024 Received: (at 70071) by debbugs.gnu.org; 30 Mar 2024 13:28:41 +0000 Received: from localhost ([127.0.0.1]:44210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqYlE-0008Fb-Eb for submit@debbugs.gnu.org; Sat, 30 Mar 2024 09:28:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqYlC-0008FL-Bg for 70071@debbugs.gnu.org; Sat, 30 Mar 2024 09:28:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqYl5-0001io-1d; Sat, 30 Mar 2024 09:28:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=+WNIafg33dw8vbK16mid2mHD0Tw5bZy6iAxNbnGg4Wc=; b=omCjIT+Nd9yn TrIWeV+vpYhJDCFEUbjXsuP/30HOR2sAsbUCxb1xfnduDzgQ7dZXTdZp+/0nNnSA1GZHBqk7aaMDF AwEJeV3Yn814f8lWm489IT8LudfJ2Tay1nx04jDTTyS4KIypJUf/aeq/FRhO0aWf6yZQZcQFU1sBU CGYHlBBXjWLJBPG4S0yj8sNNGDlPUx2Al8uSPMH+r/lhLWUBA0capSnDqQariMf4h+87gMFdjR1M8 8x+tDDnhU/jedqLSZ7R+Y/q4YnzLwsPu8kW39Q5j+txz8R3DfaxjvPW49CyB+JW6FQfe6nGRQcwFR QonbXjTGZVsPtKP9xJEtBA==; Date: Sat, 30 Mar 2024 16:28:24 +0300 Message-Id: <86jzljdf2f.fsf@gnu.org> From: Eli Zaretskii To: Rudi C In-Reply-To: (message from Rudi C on Sat, 30 Mar 2024 16:25:49 +0330) Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible References: <86r0ftdv6p.fsf@gnu.org> <87frw84iuc.fsf@yahoo.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70071 Cc: luangruo@yahoo.com, 70071@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Rudi C > Date: Sat, 30 Mar 2024 16:25:49 +0330 > Cc: Eli Zaretskii , 70071@debbugs.gnu.org > > I get this error (and this is after adding all those configure options which had previously caused errors): > ``` > checking for library containing tputs... no > configure: error: The required function 'tputs' was not found in any library. > The following libraries were tried (in order): > libtinfo, libncurses, libterminfo, libcurses, libtermcap > Please try installing whichever of these libraries is most appropriate > for your system, together with its header files. > For example, a libncurses-dev(el) or similar package. > ``` > > So what should I do now? The error message is pretty self-explanatory, I think: you should install one of the libraries it mentions, i.e. libtinfo, libncurses, libterminfo, libcurses, or libtermcap together with the corresponding header files (usually, the package will be called LIBRARY-dev or LIBRARY-devel), and then reconfigure. From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 30 10:32:19 2024 Received: (at 70071) by debbugs.gnu.org; 30 Mar 2024 14:32:19 +0000 Received: from localhost ([127.0.0.1]:45966 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqZko-0003di-3N for submit@debbugs.gnu.org; Sat, 30 Mar 2024 10:32:19 -0400 Received: from mail-oa1-x33.google.com ([2001:4860:4864:20::33]:53465) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqZkl-0003dJ-6G for 70071@debbugs.gnu.org; Sat, 30 Mar 2024 10:32:17 -0400 Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-22222357d76so1916495fac.2 for <70071@debbugs.gnu.org>; Sat, 30 Mar 2024 07:32:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711809127; x=1712413927; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=CtuhmtLDlo98/HRrYrQZqOlZaMmL3PUJP0IS8y9vqqY=; b=Aip5MFEtyZUBHrsjO85JviRGNAzQjkFpVrdzdypMq1BjkD3jmuVvfgyjhcfc4WHflZ FG8BfNVMmMPizu4eicGOacc2zxFrY8iR++qvPRz2PMyzfP1sB9oAiXi2kVFfELclM6AB vPFEHYyfKIUr4Buymz+JClrDmh5JaTVwSXxhAxHgBEzpcTp7YSeyKTG1yCqCCJQBf9Wy /FsskPFjZPuV3Bs787GlxHoBnuc786X7Tm6JPRsXndQCx4Q3gBEDt2IZKYyDuGQuw7q0 fIwIYwAHu8YWi/shA/z/uEV+eViwvIzC/ulGWzy0NxxeqDOe0SlTP7l06t6wFFaXrNwi Tegg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711809127; x=1712413927; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=CtuhmtLDlo98/HRrYrQZqOlZaMmL3PUJP0IS8y9vqqY=; b=ZBUeXs5/mUZFls1YT71vCCD45HRvrCr4Mo5pCGuNykMsdJHdp2uoG6YzjfoUe3HrAp x9leNNVhLMIFBnSjbMeE9AVNSUx5GErMr9ux8u/b7WA3rXapUiDMQ7+78sYYKUmZCqVU 7doOouSmIRZNbap7lE7aVRnGu84gG9YrZC0fqGdYh4sgb14JDxV481tA65JQOjPa05ht cYNvaqFo+NjGwzh/gk7fDllK3RqYt0XQ5i1lqdnFP/dhQdOO2DMKdF/qxSQxBFoR0L61 F3ZANQFo5OoIXoO2LbvtfWp22Skjgwzahe3iD4t63yCwu9JJ4aABLH6UnFEqhC81Dhp8 V+yw== X-Forwarded-Encrypted: i=1; AJvYcCXG4of4emK/AyCpbFdITNji5VEK9TpL7aGhpALFhxw8YmuIg1HC/YO5gR8iVXo5qT3yt9HgpaprsYgHo3e78I6cWpTAkM8= X-Gm-Message-State: AOJu0YyVG5KX0WD/0aCFxpYbQ+hmY+W6Swcd5kEFwMQFZj8XRKvMtj6C 9hg/cWADRqCTZCUKfUgMkIZ3b9cChkeyhEFB4ORxszwfyskNMPtIATj6XPrlJj3gzzDL0QBhHa8 0QFnnogDlrQEo5tsQyrIkhPFFc38= X-Google-Smtp-Source: AGHT+IFMW/3Qz0VicnUZRmE+tDlWm+SzyHGXOIECAhW2daCqgyPwTRCGGg8YsPnHzJQDLPC4I8xGpnAonrcCrCO/r+I= X-Received: by 2002:a05:6871:e023:b0:21e:9aa5:f3f7 with SMTP id by35-20020a056871e02300b0021e9aa5f3f7mr5237507oac.58.1711809127370; Sat, 30 Mar 2024 07:32:07 -0700 (PDT) MIME-Version: 1.0 References: <86r0ftdv6p.fsf@gnu.org> <87frw84iuc.fsf@yahoo.com> <86jzljdf2f.fsf@gnu.org> In-Reply-To: <86jzljdf2f.fsf@gnu.org> From: Rudi C Date: Sat, 30 Mar 2024 18:01:31 +0330 Message-ID: Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible To: Eli Zaretskii Content-Type: multipart/alternative; boundary="000000000000f5d7b90614e19eb4" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70071 Cc: luangruo@yahoo.com, 70071@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000f5d7b90614e19eb4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Given my lack of root access, I'm unsure about the best approach to install these libraries. Manually writing an installer script for every missing Emacs dependency raises concerns, as these dependencies might have their own dependencies, making the task complex, error-prone, and time-consuming. This approach may not be the most practical or efficient solution for the majority of users, and it certainly isn't the simple two-liner that your previous messages suggested. The complexity involved in manually resolving dependencies is precisely the reason I turned to package managers like Linuxbrew, Guix, and Nix in the first place. On Sat, Mar 30, 2024 at 4:58=E2=80=AFPM Eli Zaretskii wrote: > > From: Rudi C > > Date: Sat, 30 Mar 2024 16:25:49 +0330 > > Cc: Eli Zaretskii , 70071@debbugs.gnu.org > > > > I get this error (and this is after adding all those configure options > which had previously caused errors): > > ``` > > checking for library containing tputs... no > > configure: error: The required function 'tputs' was not found in any > library. > > The following libraries were tried (in order): > > libtinfo, libncurses, libterminfo, libcurses, libtermcap > > Please try installing whichever of these libraries is most appropriate > > for your system, together with its header files. > > For example, a libncurses-dev(el) or similar package. > > ``` > > > > So what should I do now? > > The error message is pretty self-explanatory, I think: you should > install one of the libraries it mentions, i.e. > > libtinfo, libncurses, libterminfo, libcurses, or libtermcap > > together with the corresponding header files (usually, the package > will be called LIBRARY-dev or LIBRARY-devel), and then reconfigure. > --000000000000f5d7b90614e19eb4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Given my lack of root access, I'm unsure about the bes= t approach to install these libraries. Manually writing an installer script= for every missing Emacs dependency raises concerns, as these dependencies = might have their own dependencies, making the task complex, error-prone, an= d time-consuming. This approach may not be the most practical or efficient = solution for the majority of users, and it certainly isn't the simple t= wo-liner that your previous messages suggested. The complexity involved in = manually resolving dependencies is precisely the reason I turned to package= managers like Linuxbrew, Guix, and Nix in the first place.

On Sat, Mar 30, = 2024 at 4:58=E2=80=AFPM Eli Zaretskii <e= liz@gnu.org> wrote:
> From: Rudi C <rudiwillalwaysloveyou@gmail.com>
> Date: Sat, 30 Mar 2024 16:25:49 +0330
> Cc: Eli Zaretskii <eliz@gnu.org>, 70071@debbugs.gnu.org
>
> I get this error (and this is after adding all those configure options= which had previously caused errors):
> ```
> checking for library containing tputs... no
> configure: error: The required function 'tputs' was not found = in any library.
> The following libraries were tried (in order):
>=C2=A0 =C2=A0libtinfo, libncurses, libterminfo, libcurses, libtermcap > Please try installing whichever of these libraries is most appropriate=
> for your system, together with its header files.
> For example, a libncurses-dev(el) or similar package.
> ```
>
> So what should I do now?

The error message is pretty self-explanatory, I think: you should
install one of the libraries it mentions, i.e.

=C2=A0 libtinfo, libncurses, libterminfo, libcurses, or libtermcap

together with the corresponding header files (usually, the package
will be called LIBRARY-dev or LIBRARY-devel), and then reconfigure.
--000000000000f5d7b90614e19eb4-- From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 30 20:37:47 2024 Received: (at 70071) by debbugs.gnu.org; 31 Mar 2024 00:37:47 +0000 Received: from localhost ([127.0.0.1]:46359 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqjCl-0000UO-C5 for submit@debbugs.gnu.org; Sat, 30 Mar 2024 20:37:47 -0400 Received: from sonic317-33.consmr.mail.ne1.yahoo.com ([66.163.184.44]:38786) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqjCi-0000TZ-E4 for 70071@debbugs.gnu.org; Sat, 30 Mar 2024 20:37:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1711845456; bh=V5AdSLNEXpd7lvnF5eS6PHH+jbOVL36irYo33w2t8iU=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=fmyegQUfjAbbLpCkaCX5k22aspgBeBzCz6y76j7h8MHOmUU9wZVofkil0fUFN1GdZS4Y9fnRuDKdy5kk1P3oD9sbjYYnCM8/HbjjBzbbQESkYiWCWBXUtEYMcZN+khipCIs/cZqCa3f3RswIDRsf+0+lM0bAi330oXDogBaA/RgZDzzFdXVuoco4gcvxhyNzZxjSoFufIPukGEcVqSqGpducsWqumM1S/e+GK/6NYy4DZGGfWkUKxiO03b3sRzXrFnb1Q19vJa5fyAIPNz8UAWttruNx6gH+ufiMnBzDx6Jt3ucUD+ML0LvnpfYXuvIUrqUMIIuo2DavZRomM0g8Tw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1711845456; bh=PW32XME9mPExPTpaRB0Aquq5QwqZrwdzx/2ZxPKbe0p=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=TwApKOBkiIwRUi+GnnjGKbel7JCAHKYZFvbbZaxCiT8Q/W1WSQ+gL1RErcjyyoAimRhnxR4eBAC8aTK/qTUNI0dY7w2uj/GlIyyxLZh0HVurqYxZXv75hbiJgG1OR0zT05zwr0hdgkWhLvnj9PD4BbjXf8F7TLDyXS5xz5GSpRGcGOaHA1t5JRugM9ept+JCMvojPjjueKAb+2PHM5Qo6zYRt6D/JlE/Ps2pfW+fVb1IEiIYrDEOt8HZT5Y51FG4qAaqG42QUC2GkkvGjBfooTAZ7+Pw5PMHPdgqvqPQumxJTEOm+5xtD5kH+W+GuB+4Iz7dA18LK3s3I1hSu1j3Kg== X-YMail-OSG: 6bOt75wVM1kBQow5RtbmoKCVXFfd7Oa881WJI5wHc61fggH7nxmlNzrwgk8fC.x DM4Fc9C_k_E24r1CHWU_OgtsQARJZXEyrNzOBquuLL.a28BOucdjpXcppvlzCBp90VW0GBK8TS4_ 1DJ2kfNmUkdPizGrfXK5fyfK73WOo1Mx6RgKvBht3ipeUq_wj77NE6MNw49zFizw.pcWKIVARWkK 9rEc3kjV1lbnupetr5OK1xG4n1XxQTePloLw2ymaVLaPRTxDObkuRWF3jL2WkCrA3HN1Nh8JVg2r YoQtL.iqP3cUpXex6trCil0lm5OASolF72lxYOMP.TMVZF5QGEU5UtvpZgEX9w0Z5n9oGFs8bWGf UwZVl_X9bJYSFyZN8qaka3IC6kDYoHiqkHD3ncPUKS5pJ0rUFN8iLuByi540y9ZWteHhtG3bVxgO hClvXkzeHYlh1D.oQRraJ7QNmSYXZQgLrOKNUYFutI1UiwS.udUq9TJIst38J5UPR17k6nlbUHE2 F3zvNNv3zXvA12JmdBeMIEft4ufHn70WND3e3lF.EHud_RAMqZWRVsNLsBpSeLo0wsar7lBm0xSP V4R4hyw3AexomyOrmYqsDRiGD__MlQztk3qRHVqSlceI43JKWzzlVcpxBDMtPbXNO2ODXI8LTm5G QwHi14CqaLpeh7.qCRpDVCa_1zfqDEa6vSAgULDeNCdUvR9XwGw8sc1wRF7BbY5H19QGzxkJ.pmM 3xcq7tBZHbp0e.MCKB0UqClJb6uDfK63wTBslXkEakKwtohl2EKuE9dkY_iPK9RmlVRZo0V4ly6. .rebSJuZf6SH0Hj.IoBe4ru.X3qGcVjUnTI.URizzSnURallNBPoARzWTF6vDgrp3uHMVpix6WYP oKMwquuWwJdZC2VzL_o7P7RlI8xy.okLRjZjhqNVDLK7tLkb5JWl0jjNvSNHN37qXrBp0sXqREEg EeC95GoUEWyFhXCOdIRJJ8Ccn2b7QhZygPvZCZOjAfj7fmJcELqaa4k8X5cygnqs9hPAZSNnSk4T iNaGmQLsdGchOU7FUgtlDuI.2wqv4wiB6WJoxPJbMsIpatjS9V3MmSuUr3OHVv_JlfiRbyG2pOMy 0AKlEVp0tDaH81KqNUTTJHjIF1k.e3_xL8ZPxi6Y.cJdnZq6OT0wpWTZX.2c14aZFUl439_SeIqo f2hyBW07J5FClebxfQQWPuVmYWLUkC_1nkfonIvl6XK1lgNuYZ99SYsTTyZAKao..NLGAZpTIAI7 duiRR0CrsbeJaTq.GyRRls8hP5l6eKz36wAqcp6mDS313pdDu2X_KthSVXLNNJ0zY98vZFAE9FSv y99SaQPy6n44fiBeYt6EgsvybKlad.A4h.5VWwZ4xoMovtlazxCoRl9DYy5mI4SGJ3oORC1.heS1 QSp.PrOEx8bPT9t2hYxqeqyFcP1zWEvrZYFMhy1gcLEPI55DgCdvJFvd.grAUz40wyVjhIVi8x3d wVP0a.OsZDEmIOnftQb3JYO2cyjRqCSNkE3ReQULoJWqi7tMbXXbydUiik_rdiXkwuLBx.Q_h3GT Zm8gN_sU1rLwyIONzj8MifzDq3vD1Qy6RBD8UZG_PjmEdn.lSWnmyrwVkG.CP2WDV5dYK0cjEtE4 DWjphrpN6mTO6ifjjdEh2Dl5v9.umg6tZzmbSJ0ddtvMqn.a1UwlNaJCtwFILiFhWZS4t.IPdIY3 p7RajPI9hQ_AnqSIcUYS1IxG0oyoNBfYoRc8k4ayRKziWaGWcZAy_bFTBC5z1hrBT5E9AeTEwwVE mEOI8RMilBtmxBGvc25qJ5zRs6qjP7gZGIcanxEUUIzO9yj3Kf9XJvCOT4JJdnkbzlG6w7ZE2vyI gu.x3CBho1y5_73QOgQYsROHOs8o23f254eVTwLYvjS1GQfEJiavkPJV2EDVVo1OTm_OUNTJQlcg Q9SSZ_QpplAYQrv_7G5o10WBy2L.2BEbIZgf8MJyV3.fhErthMfB7cqjHknEhr_Lv86pKejW3cpr _sPSvathHO2yjqojzUK7if__1pnEa75izB0mh.TsJwYd.fgODWaADrklbmDtIo.04eTBodR7dsOy niIdc2DCv21nCnHNycTTPv6ZWwn1uO5mpHT_rU8FFrwkoNVoy1aM7mrh7EXEGeB0U_5HMH0uORGY uNzyAHwR12rtsz_2kTn75aAn5JJ7V6DlHnZYXb2A0KG6EZQyiTUQv1HlM.uXbUNDhEBe4tJeU.yd tO.7lnrBMDp11I_N9isBjVlynBJu70fL.TdO9A3Pw2f3RvAvO4gJxi8AO8ynkVE0- X-Sonic-MF: X-Sonic-ID: eb0de404-b0b1-41b2-aca0-d45852ec040f Received: from sonic.gate.mail.ne1.yahoo.com by sonic317.consmr.mail.ne1.yahoo.com with HTTP; Sun, 31 Mar 2024 00:37:36 +0000 Received: by hermes--production-sg3-6dc75bc8fb-67hzc (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 8df9808d56305dafa01a2e6a2558bc37; Sun, 31 Mar 2024 00:37:32 +0000 (UTC) From: Po Lu To: Rudi C Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible In-Reply-To: (Rudi C.'s message of "Sat, 30 Mar 2024 18:01:31 +0330") References: <86r0ftdv6p.fsf@gnu.org> <87frw84iuc.fsf@yahoo.com> <86jzljdf2f.fsf@gnu.org> Date: Sun, 31 Mar 2024 08:37:06 +0800 Message-ID: <877chj44p9.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.22205 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 1412 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Rudi C writes: > Given my lack of root access, I'm unsure about the best approach to > install these libraries. Manually writing an installer script for > every missing Emacs dependency raises concerns, as these dependencies > might have their own dependencies, making the task complex, > error-prone, and time-consuming. This approach may not be the most > practical or efficient solution for the majority of users, and it > certainly isn't the simple two-liner that your previous messages > suggested. The complexity involved in manually resolving dependencies > is precisely the reason I turned to package managers like Linuxbrew, > Guix, and Nix in the first place. It's a self-inflicted problem, isn't it? Trying to install packages against, presumably, the wishes of your system administrator, is an uphill battle if ever there was one. (And AFAIK Emacs builds with just those two lines on the Guix System.) We have neither the manpower nor the motivation to maintain build scripts that automatically adapt to every oddball system that arrests the fancy of Emacs users, or to write instructions for such systems ourselves. But a whit of manual effort that is well-documented in the standard INSTALL file for Autoconf packages will suffice, and patches to configure for these systems without manual intervention, or document the process, will, as always, be welcome. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 31 02:02:41 2024 Received: (at 70071) by debbugs.gnu.org; 31 Mar 2024 06:02:41 +0000 Received: from localhost ([127.0.0.1]:46471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqoHA-0001Kd-P1 for submit@debbugs.gnu.org; Sun, 31 Mar 2024 02:02:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38534) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqoH7-0001Ji-Nt for 70071@debbugs.gnu.org; Sun, 31 Mar 2024 02:02:39 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqoH0-00039I-0c; Sun, 31 Mar 2024 02:02:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=cPDRmTcBvNVwPOfsGvgYSJxB296EHeB1DNeV5yvnrfQ=; b=I4elZWE5DYmy XCtbBK9LNBuNFSf5GzY7BqDkSVL2C10UYFgOoWyUfXm7oMDyvBer3ZZYjhTJ8v7Uzc84t3kB8YsMT wfGRv+TpnBjzqEB6KXSVMNJZsrP9bvqFnFWGmDjdLKh/oD2KqCr6MrRR4/3kB6kE5unbvaWRxeW0p 57/jkROzYOPapynahhAU/tmr/TIr2ehtTZ5mssOfyhSSWAdIEtJATi7ISE7lU+OLVSl6MsQ9vt10i p+fxn8FVxETNTQDiTMGIHB+irw1zjsU9oMZhKs0X2buWVsesqvfWj4A4ZMLdQLW69fXbZ4XSj19g0 +95DR5bUJY/kAC51Wv6exQ==; Date: Sun, 31 Mar 2024 09:02:27 +0300 Message-Id: <86sf07aqh8.fsf@gnu.org> From: Eli Zaretskii To: Rudi C In-Reply-To: (message from Rudi C on Sat, 30 Mar 2024 18:01:31 +0330) Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible References: <86r0ftdv6p.fsf@gnu.org> <87frw84iuc.fsf@yahoo.com> <86jzljdf2f.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70071 Cc: luangruo@yahoo.com, 70071@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Rudi C > Date: Sat, 30 Mar 2024 18:01:31 +0330 > Cc: luangruo@yahoo.com, 70071@debbugs.gnu.org > > Given my lack of root access, I'm unsure about the best approach to install these libraries. Manually writing an > installer script for every missing Emacs dependency raises concerns, as these dependencies might have > their own dependencies, making the task complex, error-prone, and time-consuming. This approach may not > be the most practical or efficient solution for the majority of users, and it certainly isn't the simple two-liner > that your previous messages suggested. The complexity involved in manually resolving dependencies is > precisely the reason I turned to package managers like Linuxbrew, Guix, and Nix in the first place. If those libraries are for some reason not installed on the system, and if the sysadmins cannot be asked to install them, then you will need to build and install them yourself, yes. What it takes is to configure each one of them with --prefix= pointing to some directory under your home directory, and then using the LIBS variable at configure time to tell the Emacs build procedure to search those directories for libraries. IOW, this is the same "simple two-liner" we showed in previous messages, just repeated for every library you needto install privately. And if the libraries aren't and cannot be installed system-widely, what else can be done about that? Of course, if package managers allow you to install precompiled binaries and their prerequisites in any directory you like, by all means use them. The Emacs project doesn't (and cannot) maintain those package managers, but they exist for these purposes, so using them when they solve your problems is indeed TRT. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 31 04:40:10 2024 Received: (at 70071) by debbugs.gnu.org; 31 Mar 2024 08:40:10 +0000 Received: from localhost ([127.0.0.1]:46553 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqqjZ-00057E-MA for submit@debbugs.gnu.org; Sun, 31 Mar 2024 04:40:09 -0400 Received: from mout.gmx.net ([212.227.15.18]:50347) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqqjW-00056U-DE for 70071@debbugs.gnu.org; Sun, 31 Mar 2024 04:40:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1711874397; x=1712479197; i=michael.albinus@gmx.de; bh=GyrYekxYEwhEAhXibzrXc1ZhgJDL8sdOBtsQDam7Z9c=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References: Date; b=Xxkhng5nIdVz9rQP02QGyqcdbdmNp7ce39Jajb+bf2FeDqLKnjVLkLjClb1+/om1 Vhraz/L337Dn2jZPV6rho8KpowPnMRw9sgvDIESq4ER5GwgnSkeEGpKhGUJBUSzJ4 PgJ1oYpYlyQQzjMAOLWhWSiH9gMX3vhZHX/YuWhXLa2iAcK9lBNppfEtd83qY8gMZ eyHs9N55SpB8sGrKpk1JorNJixQVjSgSGoa+eUYef7AK+gnipcYoBltkAL3RRhLUu BIxjRGl8sRc4TECThwQRp6xJiOrueXFEWMx/fC0c9a/+Bs4ivQtcdvSpk4v0Y1ArV pC5qxaGH9w5td0f17w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from gandalf.gmx.de ([185.89.39.16]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MRmfo-1sFdv51wle-00TC5K; Sun, 31 Mar 2024 10:39:57 +0200 From: Michael Albinus To: Rudi C Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible In-Reply-To: (Rudi C.'s message of "Fri, 29 Mar 2024 16:12:34 +0330") References: Date: Sun, 31 Mar 2024 10:39:56 +0200 Message-ID: <87frw6yeub.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:DFLA2JHMuwyA0Iq1xosDggcMP87WOVzPlb/2vGYE4MA3wGWGc+J xPBeIYi+V5N83ovhruvHMb20w1FA+x1FMkCcJde/vdegPXwa5c5ZrV+SRaexwHmun1qhWuF XAzg8ZBA3wpOpUSdu5rrz6YDWkc1x8rEKFfbPRwwz/dh0cqDzyr44EYenkGZdAgb3t6GBJe KDbQK12sDLMuxtBZX41bQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:fUPNerp9WM4=;TdelSPJoOykeQHkhmlqV3+/gnKu vyq+R3GL5k5a+oUnOyP14N6qXfGkljjoEEugfFVRSGbtzLHyqIqrr4box5qu2fWAHn9NpYD/Z u7tiBmtKX4l5sezzl1Q+E3Ms6uN9rZ0EedrewLCPfdsp/1spo/G2vraZnlza4lXJcktzvjdGe ihlf1v8fH03kJWHlNjSKveM6ycdtfPoO9zVP5lFS4zuGuYyBHcfEUP3O4CzvSiZa3DwVKKeb3 8XHyYQZgaziFyDTvedGlv4XJdCGmy64dV/trgzQuHgqiRSe/A2YC9/xc27jE2PYZ0GvjiblV2 cSRs5tWkpd2Y6d3FCi9IbXHlOSPV5qvWNtPhXhhVjYoTCwqswWV923hk11W/CruD9XcwWdt17 ffkoSxvEX+bkQ2kc1lkFwh97zauO+rfMwujQVGR2oTWkHmlKnT2xhwLO7EU00TapahXQUyMPm qM9o9R5lPMkcgvzhKc0tOpzo8gfyz/B81oC7JcyRmy/bZH69fJOWq288u8NAI3vyqnL3x52ud DjEUeudmh7FQMpdaLCqGnJpKwiCGRg7QLNPZWsyaXEK1H1d7zcYZ4y47nq91gkHtGIVEvJYjb XuSwXufiWWc2Kn8owhc1taXgfEH1SY6/sawfXOTglZ2LJuFSyyxa9ZyIVWcZurL9Wl6YLp6m5 AgP7nSaoTfE1uXxz7PLnBk1eya96jag+r5MFjimYNfjfe+9xX/fzyceXioXwgkwLaHAElqMln cqZ5U6lrZKNCQUeJTc69i9pkZIRm5kvbtvxVU/o/+RWDioA5tyerIJlWUn+TlKw7HqVdA1bKo bNC3gu7W/S6V76Huvzhvzpb4IzryFDZoJWJ/X6MU0fC+o= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Rudi C writes: Hi Rudi, > I'm aware of Tramp, but it's buggy and slow on my setup, > and I don't have the time to debug it or fix the extensions that are > causing issues. If you don't report problems, you won't get them fixed. Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 31 05:07:05 2024 Received: (at 70071) by debbugs.gnu.org; 31 Mar 2024 09:07:05 +0000 Received: from localhost ([127.0.0.1]:46602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqr9b-0006rH-5C for submit@debbugs.gnu.org; Sun, 31 Mar 2024 05:07:05 -0400 Received: from mail-oa1-x31.google.com ([2001:4860:4864:20::31]:59759) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqr9Y-0006qe-UY for 70071@debbugs.gnu.org; Sun, 31 Mar 2024 05:07:01 -0400 Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-22a73f2d6adso1511799fac.3 for <70071@debbugs.gnu.org>; Sun, 31 Mar 2024 02:06:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711876013; x=1712480813; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=xMF+EY2ZNEsX6scICoCnYvHjL4AoHq3IBViFlc4GLZE=; b=R8EFSETE1qS3o4OD4sVVF2pAn4TXVEILr0fAPw9Hv45ifJ9rJC09ut5o8MiFreALiw zXzarmHRdTsY5W/zys1EwNXt1TkevddNYiQ0lBKZp9C3wJSmCX/WzjjMDZxKq7bOxyjk Zvo3vkUY/RIdhqYBiJJAQpmh7MY1vymv1O7SrN0Dli2mL2tHq/WiuMUXChgwp+DFIPcu WnFbA23dZm/6zgoFPjCloyyet2IaFmMAltaSZi55h95rRl6r5IXY3cDmE9Dj/acD4eFb LjAPlHC1MIv/fqSQ7OjHdf1skt6hg16p+W0L+HXVuMeFUJXfrkm+exgH5bZXKH8l+hDJ 57hQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711876013; x=1712480813; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xMF+EY2ZNEsX6scICoCnYvHjL4AoHq3IBViFlc4GLZE=; b=UlEmulcsKzEwtYhhkcmERETJun3I8DQGRVjcAJbJqwjrPetrDu+Txs6NkSvBpKk6Pq uJQgrieOOfov2p46xsmYYxVsgwe4t+lK1kXkftntLaWoJeL58mRjcJQ3LIwmtsw5jbuF PgxBnd23D3/OAPA55AvDOykR55qStOu7bV0+hXgD1nR7qzeoo07eh0+HGTX5eZF8wqPc 3nTVUWjaaarno+yCSs8ehWqsdbUH5hy9VbydSm2yNnbM1Lx5OiNbHRIbkzm8rjRZHeEB HSCQeMGk4VVH9vdjlAZL4XGJt2tP4mn4Mac2KkQVMxnrd+lDC9yfKgj4NHrC0opMc6ld CqOg== X-Gm-Message-State: AOJu0YwxZgUUJrVcDi8OLYFLbnX5F8Bkyyp33epZrKddDWKXdnmaAvgt 73l+1a4/nj2WHHULh/2cb6hsdSF5MOUquMxlO7SmVsAXien6fy2+p/VjbJ5VhkIO5B0mtiH+NHk p24tn3dGX2D6vdnIOgS64sDuHI78= X-Google-Smtp-Source: AGHT+IG9cU2vz5CQWM9/3zvLzqFyTLdj+fXCsMQaYVY+xP7xNHo90MBMC/89ZIrO1k3oLgHglI/mEpj9461VyVW+5RE= X-Received: by 2002:a05:6870:5e50:b0:22a:52ad:100a with SMTP id ne16-20020a0568705e5000b0022a52ad100amr7714875oac.13.1711876012696; Sun, 31 Mar 2024 02:06:52 -0700 (PDT) MIME-Version: 1.0 References: <87frw6yeub.fsf@gmx.de> In-Reply-To: <87frw6yeub.fsf@gmx.de> From: Rudi C Date: Sun, 31 Mar 2024 12:36:16 +0330 Message-ID: Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible To: Michael Albinus Content-Type: multipart/alternative; boundary="000000000000a2ed8a0614f131f6" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --000000000000a2ed8a0614f131f6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I discovered a tool called junest (https://github.com/fsquillace/junest) that appears to work for installing Emacs without root access. Given that many users do not have root access, it is crucial to provide an official, well-documented method for installing Emacs in such environments. Addressing this issue should take precedence over introducing new features, as it will significantly improve the user experience and make Emacs more accessible to a wider audience. In the current state, recommending Emacs to new users can be difficult, as the installation process requires a considerable amount of Linux knowledge. By streamlining the installation process for non-root users, Emacs will become more user-friendly and attractive to newcomers. As for what this officially endorsed (and tested) way of installing emacs without root should be, I don't have the expertise. But perhaps GNU Guix could officially support a non-root mode, as it seems technically possible. Alternatively, the Emacs installation documentation could include instructions on using a non-root package manager like junest, which should be tested to ensure compatibility with Emacs. > We have neither the manpower nor the motivation to maintain build scripts that automatically adapt to every oddball system that arrests the fancy of Emacs users, or to write instructions for such systems ourselves. I don't think a non-root Ubuntu system is a rare occurrence, and in general, a non-root Linux should be quite common, especially in universities, where new users often are. On Sun, Mar 31, 2024 at 12:09=E2=80=AFPM Michael Albinus wrote: > Rudi C writes: > > Hi Rudi, > > > I'm aware of Tramp, but it's buggy and slow on my setup, > > and I don't have the time to debug it or fix the extensions that are > > causing issues. > > If you don't report problems, you won't get them fixed. > > Best regards, Michael. > --000000000000a2ed8a0614f131f6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I discovered a tool called junest (https://github.com/fsquillace/junest) that ap= pears to work for installing Emacs without root access.

Given that m= any users do not have root access, it is crucial to provide an official, we= ll-documented method for installing Emacs in such environments. Addressing = this issue should take precedence over introducing new features, as it will= significantly improve the user experience and make Emacs more accessible t= o a wider audience.

In the current state, recommending Emacs to new = users can be difficult, as the installation process requires a considerable= amount of Linux knowledge. By streamlining the installation process for no= n-root users, Emacs will become more user-friendly and attractive to newcom= ers.

As for what this officially endorsed (and tested) way of instal= ling emacs without root should be, I don't have the expertise. But perh= aps GNU Guix could officially support a non-root mode, as it seems technica= lly possible. Alternatively, the Emacs installation documentation could inc= lude instructions on using a non-root package manager like junest, which sh= ould be tested to ensure compatibility with Emacs.

> = We have neither the manpower nor the motivation to maintain build
script= s that automatically adapt to every oddball system that arrests
the fanc= y of Emacs users, or to write instructions for such systems
ourselves.= =C2=A0

I don't think a non-root Ubuntu system = is a rare occurrence, and in general, a non-root Linux should be quite comm= on, especially in universities, where new users often are.


On Sun, Mar 31, 2024 at 12:09=E2=80=AFPM Michael Albinus <michael.albinus@gmx.de> wrote:
Rudi C <rudiwillalwayslo= veyou@gmail.com> writes:

Hi Rudi,

> I'm aware of Tramp, but it's buggy and slow on my setup,
> and I don't have the time to debug it or fix the extensions that a= re
> causing issues.

If you don't report problems, you won't get them fixed.

Best regards, Michael.
--000000000000a2ed8a0614f131f6-- From debbugs-submit-bounces@debbugs.gnu.org Sun Mar 31 05:31:30 2024 Received: (at 70071-done) by debbugs.gnu.org; 31 Mar 2024 09:31:30 +0000 Received: from localhost ([127.0.0.1]:46634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqrXG-0008JJ-Ay for submit@debbugs.gnu.org; Sun, 31 Mar 2024 05:31:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51986) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rqrXC-0008IQ-8o for 70071-done@debbugs.gnu.org; Sun, 31 Mar 2024 05:31:28 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rqrX4-0000Ys-Aw; Sun, 31 Mar 2024 05:31:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=3hyLQ/2YRJWoZB4HEeRJvOSStEfrAd+FMW7Su+l8LTY=; b=dNlNDTrr+gdc 8IuqIsY8c1OyIvHjrhzR6h+ohUTjmWQ5Lv10NfijJf/G8Bxtz0h+UfsYjQm92hlvsnO1abBJm8qvS IaOoyQSXt4YLxhJ9LGVfJ2+cy4ImTHzOfKRQumYxTYq3LfeQCeZuE08FwrZFNmB+7Ru8f8n3p3GR3 y8Ajd/3eKFyZy3b4Ldh+itOn9L/GRfXNRVJgadbwL3/B1mzCPbBOWbxa8oJFyY3R8kYg0ixyyElis jJYo/B4MXP58Yzcr6+LvaA3T/eQ4I8D3rFK59IM+6HnsqpBB5tgpBpTh+oMw/jrq2hPN/vr9et83M uk7IvEfBduwe/bJWIvCfuQ==; Date: Sun, 31 Mar 2024 12:31:15 +0300 Message-Id: <86bk6ubvdo.fsf@gnu.org> From: Eli Zaretskii To: Rudi C In-Reply-To: (message from Rudi C on Sun, 31 Mar 2024 12:36:16 +0330) Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible References: <87frw6yeub.fsf@gmx.de> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70071-done Cc: 70071-done@debbugs.gnu.org, michael.albinus@gmx.de X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 70071@debbugs.gnu.org > From: Rudi C > Date: Sun, 31 Mar 2024 12:36:16 +0330 > > I discovered a tool called junest (https://github.com/fsquillace/junest) that appears to work for installing Emacs > without root access. I'm glad you found a solution for you. > Given that many users do not have root access, it is crucial to provide an official, well-documented method for > installing Emacs in such environments. Addressing this issue should take precedence over introducing new > features, as it will significantly improve the user experience and make Emacs more accessible to a wider > audience. As already mentioned, such a method exists and is well-documented: use the --prefix option of the configure script to install Emacs in a directory to which you have access. This is not specific to Emacs, btw: every package that is built using Autoconf-produced configure script and Makefiles accepts the --prefix option to specify where to install it. > In the current state, recommending Emacs to new users can be difficult, as the installation process requires a > considerable amount of Linux knowledge. By streamlining the installation process for non-root users, Emacs > will become more user-friendly and attractive to newcomers. Users who are not knowledgeable enough to install Emacs on their own should use a distro, or ask someone else to help them. > As for what this officially endorsed (and tested) way of installing emacs without root should be, I don't have the > expertise. But perhaps GNU Guix could officially support a non-root mode, as it seems technically possible. Please suggest this to the Guix folks. It is possible they will provide such a feature, if it isn't already provided. I don't know enough about Guix to tell more, sorry. > Alternatively, the Emacs installation documentation could include instructions on using a non-root package > manager like junest, which should be tested to ensure compatibility with Emacs. Sorry, we cannot possibly advertise other packages for these jobs: we don't have the manpower for tracking them and studying them. And with that, I'm closing this bug report, since I think we have already covered everything that is relevant to this issue. From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 02 17:42:10 2024 Received: (at 70071) by debbugs.gnu.org; 2 Apr 2024 21:42:10 +0000 Received: from localhost ([127.0.0.1]:56456 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rrltS-0007bH-3y for submit@debbugs.gnu.org; Tue, 02 Apr 2024 17:42:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rrltP-0007aJ-1R for 70071@debbugs.gnu.org; Tue, 02 Apr 2024 17:42:08 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rrltF-0004kF-L0; Tue, 02 Apr 2024 17:41:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=XscCRdcBvkD5VHGJzeFc2E3YzRgPk4GucBfrZSLRJME=; b=kn7EUMg2Ve5r kG3ypzmdJCMBZSZ0uRHdoh2QwKA1JDmYW3XgBAKR09sWUKBvLv9QI1BJKZ8FZd1z1GyY9wIoOX60s 70ND9ueiLBiAALGbp27yh926klZm1l4QEXDugnAzDNrNPp+hT1XqvxOHBZgCBzEhdZqPz+c6M1Vd2 O2l9UJY4jegXpF4vNqdMUKaInG+R+FXMLb+ak4FWoulKN5DXP8bfp6Pm0WGpiA7zv+4Vnz5k/ULH3 cslzhennQChbQx7DNU0lwueqHn1o3vcL5Cf7ElYCgcywL8sLeJxLTxgdrcvTnmGTfgQeokSACxgfa v9+7/1ueqreSiS6GQ5eBKg==; Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1rrltE-0003Um-2n; Tue, 02 Apr 2024 17:41:56 -0400 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman To: Eli Zaretskii In-Reply-To: <86bk6ubvdo.fsf@gnu.org> (message from Eli Zaretskii on Sun, 31 Mar 2024 12:31:15 +0300) Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible References: <87frw6yeub.fsf@gmx.de> <86bk6ubvdo.fsf@gnu.org> Message-Id: Date: Tue, 02 Apr 2024 17:41:56 -0400 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70071 Cc: 70071@debbugs.gnu.org, eliz@gnu.org, rudiwillalwaysloveyou@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: rms@gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > Given that many users do not have root access, it is crucial to > > provide an official, well-documented method for installing Emacs in > > such environments. Addressing this issue should take precedence over > > introducing new features, as it will significantly improve the user > > experience and make Emacs more accessible to a wider audience. > As already mentioned, such a method exists and is well-documented: use > the --prefix option of the configure script to install Emacs in a > directory to which you have access. > This is not specific to Emacs, btw: every package that is built using > Autoconf-produced configure script and Makefiles accepts the --prefix > option to specify where to install it. That feature exists in all GNU-style configure scripts, but users looking at Emacs may not come across the text that describes it. Maybe we should improve the Emacs documentation to specifically mention this in a visible way. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 06 06:32:22 2024 Received: (at 70071-done) by debbugs.gnu.org; 6 Apr 2024 10:32:22 +0000 Received: from localhost ([127.0.0.1]:38406 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rt3LO-0006VT-Lo for submit@debbugs.gnu.org; Sat, 06 Apr 2024 06:32:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47334) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rt3LM-0006UO-At for 70071-done@debbugs.gnu.org; Sat, 06 Apr 2024 06:32:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rt3LA-0002yI-SN; Sat, 06 Apr 2024 06:32:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=3q7pHjEpO1gJVuqch8KF0tz++BX9jfFXcmDXVU3G8+0=; b=OJ7bDMpR6FWr m0oZckhwkfiqoIFfSJlHHF1G0m9LFoVbfImbqRtBvwMIX4K/9cOfOei6PRA59EAXaxkSLb9PMUQPD iam9SA4AffhdCrkFcyUqKwVqOQlAROofxHwntl65Cz1VTFC34UC+IwaufIdBlR/HH7q2sGliTY5am bA1aSSuI9qEpkEWywCwXfB06QmaG0GB/YXe5qL4mWTRvY+VtlG6zujUkgXCAqALHN8hDew4Ywp7os VzTM2gsMd6sFfFW+i6Ra+FFkbWNpM0qry9gFXkfDvQ+EMn5nO7DkM/GM5CNSRnjnutQyC6uG4633m NWM4Xan8o031msO2kBcmyA==; Date: Sat, 06 Apr 2024 13:31:56 +0300 Message-Id: <86msq63hpf.fsf@gnu.org> From: Eli Zaretskii To: rms@gnu.org In-Reply-To: (message from Richard Stallman on Tue, 02 Apr 2024 17:41:56 -0400) Subject: Re: bug#70071: [FR] Provide official install scripts without requiring root, e.g., by making a static build possible References: <87frw6yeub.fsf@gmx.de> <86bk6ubvdo.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70071-done Cc: 70071-done@debbugs.gnu.org, rudiwillalwaysloveyou@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Richard Stallman > Cc: 70071@debbugs.gnu.org, eliz@gnu.org, > rudiwillalwaysloveyou@gmail.com > Date: Tue, 02 Apr 2024 17:41:56 -0400 > > That feature exists in all GNU-style configure scripts, but users looking > at Emacs may not come across the text that describes it. > > Maybe we should improve the Emacs documentation to specifically > mention this in a visible way. I added a note to INSTALL. From unknown Sun Jun 22 00:32:35 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 04 May 2024 11:24:14 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator