all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: David Masterson <dsmasterson@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Resources for an old newbie ?
Date: Sun, 04 Jun 2023 00:26:54 -0700	[thread overview]
Message-ID: <SJ0PR03MB5455B24A382DF4A11A882482A24CA@SJ0PR03MB5455.namprd03.prod.outlook.com> (raw)
In-Reply-To: <83fs777q9m.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 04 Jun 2023 08:25:25 +0300")

Eli Zaretskii <eliz@gnu.org> writes:

>> From: David Masterson <dsmasterson@gmail.com>
>> Date: Sat, 03 Jun 2023 18:00:30 -0700
>> 
>> > # 1. setup directories
>> > src_dir=~/src
>> > emacs_dir=${src_dir}/emacs
>> > mkdir -p $emacs_dir
>> >
>> > # 2. get dependencies
>> > sudo apt-get -qq update
>> > sudo apt-get install build-essential debian-goodies libgccjit-10-dev
>> > sudo apt-get build-dep emacs
>> 
>> This pulled in a *LOT* of stuff.
>> 
>> > # 3. get source
>> > cd $src_dir
>> > git clone https://git.savannah.gnu.org/git/emacs.git
>> >
>> > # 4. refresh source/upgrade
>> > cd $emacs_dir
>> > git fetch
>> > git merge
>> 
>> I modified this to 'git pull' as previously suggested.  There was
>> nothing to pull.
>> 
>> > # 5. compile and install
>> > autogen.sh
>> > configure --with-x-toolkit=no --with-native-compilation
>> > make
>> > sudo make install
>> 
>> Gave this a try.  Still having problems:
>
> Is this about concise and comprehensive instructions for how to build
> Emacs?  In such cases, I've many times found the "Linux from scratch!"
> site very useful.  In this case, read here:
>
>   https://www.linuxfromscratch.org/blfs/view/svn/postlfs/emacs.html

Useful, but for Emacs 28.2.  The script I followed above got me
30.0.50.  I may rethink being bleeding edge.

Your URL link (sort of) assumes a GTK rather than Lucid X-toolkit.  The
above script seems to assume no-toolkit.  I'm still figuring out what
the limits of that are.

> This lists all the dependencies, both mandatory and optional.  Each
> dependency is a link to another page, which describes how to build it
> (if you don't have it installed already, and cannot download a
> pre-built package).  If you want to decide which optional dependency
> you want, read the file INSTALL in the Emacs source tree, it gives
> that information.

Yeah, but it gets you into dependency hell as you follow the tree of
dependencies down.  I wasn't confident enough to do this for 27.1 a year
or two ago, so I waited for Debian to release it as a package.  I've
learned a little bit about snap/flatpak/guix since then and thought I
might go that way for v28.2.

The "build-dep" step above looked like a good compromise to let me load
up Debian approved dependent libraries and source build Emacs itself.

>> 3. The GNUMakefile in the Emacs distribution seems to rerun configure
>> with no options, so your "configure" is NO-OP.
>
> That's incorrect.  I guess you've misread GNUMakefile.  In reality, if
> you have run the configure script, GNUMakefile redirects to the
> top-level Makefile, and that obeys the configure-time options.

Good point. Configure looked like it worked, but it didn't produce a
Makefile (and I didn't pay attention to that).  Therefore, when I did a
make, it saw (via GNUMakefile) configure, but no Makefile and, so, ran
configure and then used the generated Makefile.  I'm not sure why my
configure didn't build a Makefile.

I now note that it would've also run autogen.sh if configure didn't
exist, thus doing all the work to setup a freshly retrieved set of
sources.  A nice way to hide extra steps as long as autogen.sh and
configure guess the right setup.

>> 4. You can add arguments to the configure in the make step by passing
>> 'configure="--ARG1..."' to make.
>
> True.  Type "./configure --help" for the full story.
>
>> 7. Probably should've tee'd the output of make to a log file... :(
>
> Or run the commands inside Emacs's shell mode.

This is probably the reason I messed up on #3 -- key errors/warnings
scrolled off the screen without me noticing.  I prefer a complete log
file ("make |& tee log.file") for historical reasons in case I need to
check some things days or months later.  The config.status and
config.log are good, but the simple log is quicker to read.

-- 
David Masterson



  parent reply	other threads:[~2023-06-04  7:26 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-22  0:44 Resources for an old newbie ? Frederick Bartlett
2023-05-22  0:50 ` Eduardo Ochs
2023-05-22  1:30 ` Michael Heerdegen
2023-05-22  1:39   ` Michael Heerdegen
2023-05-22  6:33 ` Basile Starynkevitch
2023-05-23  0:11   ` Michael Heerdegen
2023-05-23  5:31     ` Emanuel Berg
2023-05-23 20:19       ` Philip Kaludercic
2023-05-25  0:55         ` Emanuel Berg
2023-05-23 23:09       ` Michael Heerdegen
2023-05-25  1:13         ` Emanuel Berg
2023-05-26  3:28           ` Michael Heerdegen
2023-05-27  5:41             ` Emanuel Berg
2023-05-28  1:50               ` Michael Heerdegen
2023-05-28 21:23                 ` Emanuel Berg
2023-05-24  4:25       ` tomas
2023-05-25  1:25         ` Emanuel Berg
2023-05-25  4:01           ` tomas
2023-05-26  1:26             ` David Masterson
2023-05-26  3:36               ` Michael Heerdegen
2023-05-26  4:13                 ` Robby Zambito
2023-05-27  4:09                   ` David Masterson
2023-05-27  5:29                     ` Emanuel Berg
2023-05-29 22:13                       ` David Masterson
2023-05-27  5:48                     ` Emanuel Berg
2023-05-29 22:14                       ` David Masterson
2023-05-27 17:48                     ` Robby Zambito
2023-05-29 22:23                       ` David Masterson
2023-05-28  2:12                     ` Michael Heerdegen
2023-05-28 21:26                       ` Emanuel Berg
2023-05-29 22:21                       ` David Masterson
2023-05-29 22:52                         ` Michael Heerdegen
2023-05-30  2:18                           ` Emanuel Berg
2023-06-03 21:40                             ` David Masterson
2023-05-30 23:24                           ` Emanuel Berg
2023-05-31  3:12                             ` Platon Pronko
2023-05-31  3:20                               ` Emanuel Berg
2023-05-31 22:07                               ` Michael Heerdegen
2023-06-03 21:45                               ` David Masterson
2023-06-03 22:03                                 ` Michael Heerdegen
2023-06-03 22:39                                   ` David Masterson
2023-06-03 23:19                                     ` Michael Heerdegen
2023-06-04  1:00                             ` David Masterson
2023-06-04  1:31                               ` Emanuel Berg
2023-06-04  2:15                               ` Michael Heerdegen
2023-06-04  5:23                                 ` David Masterson
2023-06-04  2:21                               ` Emanuel Berg
2023-06-04 21:05                                 ` David Masterson
2023-06-06 16:45                                   ` Emanuel Berg
2023-06-04  3:02                               ` Emanuel Berg
2023-06-04 21:01                                 ` David Masterson
2023-06-04  5:25                               ` Eli Zaretskii
2023-06-04  7:08                                 ` Basile Starynkevitch
2023-06-04 20:35                                   ` David Masterson
2023-06-04  7:26                                 ` David Masterson [this message]
2023-06-04  7:37                                   ` Eli Zaretskii
2023-06-04 10:45                                     ` Emanuel Berg
2023-06-04 20:07                                       ` David Masterson
2023-06-04 22:12                                         ` Michael Heerdegen
2023-06-04 22:36                                           ` David Masterson
2023-06-05 20:34                                         ` Emanuel Berg
2023-06-05 20:35                                         ` Emanuel Berg
2023-06-04 10:39                                   ` Emanuel Berg
2023-06-04 20:23                                     ` David Masterson
2023-06-05  0:29                                       ` Michael Heerdegen
2023-06-05  2:22                                         ` David Masterson
2023-06-05  2:59                                           ` Michael Heerdegen
2023-06-06  1:19                                             ` Emanuel Berg
2023-06-06 16:35                                             ` Emanuel Berg
2023-06-11  3:14                                               ` Michael Heerdegen
2023-06-11  4:48                                                 ` David Masterson
2023-06-11  6:02                                                   ` Emanuel Berg
2023-06-11 23:33                                                   ` Michael Heerdegen
2023-06-11 23:41                                                     ` Emanuel Berg
2023-06-16  2:22                                                       ` Michael Heerdegen
2023-06-16  2:27                                                       ` Michael Heerdegen
2023-06-11  5:54                                                 ` Emanuel Berg
2023-06-11 23:42                                                   ` Michael Heerdegen
2023-06-11 23:56                                                     ` Emanuel Berg
2023-06-05 20:41                                       ` Emanuel Berg
2023-06-03 21:33                           ` David Masterson
2023-05-26  4:28               ` tomas
2023-05-26 11:34                 ` Robert Pluim
2023-05-26 12:06                   ` tomas
2023-05-26 14:11                     ` Robert Pluim
2023-05-26 21:40               ` Emanuel Berg
2023-06-08  8:39                 ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SJ0PR03MB5455B24A382DF4A11A882482A24CA@SJ0PR03MB5455.namprd03.prod.outlook.com \
    --to=dsmasterson@gmail.com \
    --cc=eliz@gnu.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.