serenity icon indicating copy to clipboard operation
serenity copied to clipboard

Update build instruction for macOS 13

Open TETRA2000 opened this issue 3 years ago • 3 comments

Hello.

I edited a build instruction for macOS because upcoming OS may not contain texinfo package.

I’m not a native English speaker so my writing may not be natural. But I’m really happy if you take a look at this.

Details

I’ve encountered an error below when I tried to build toolchain with Meta/serenity.sh rebuild-toolchain on macOS 13.

[binutils/build] Making info in po
[binutils/build] make[3]: Nothing to be done for `info'.
[binutils/build]   MAKEINFO doc/bfd.info
[binutils/build] /Users/takahiko/repo/serenity/Toolchain/Tarballs/binutils-2.39/missing: line 81: makeinfo: command not found
[binutils/build] WARNING: 'makeinfo' is missing on your system.
[binutils/build]          You should only need it if you modified a '.texi' file, or
[binutils/build]          any other file indirectly affecting the aspect of the manual.
[binutils/build]          You might want to install the Texinfo package:
[binutils/build]          <http://www.gnu.org/software/texinfo/>
[binutils/build]          The spurious makeinfo call might also be the consequence of
[binutils/build]          using a buggy 'make' (AIX, DU, IRIX), in which case you might
[binutils/build]          want to install GNU make:
[binutils/build]          <http://www.gnu.org/software/make/>
[binutils/build] make[3]: *** [doc/bfd.info] Error 127
[binutils/build] make[2]: *** [info-recursive] Error 1
[binutils/build] make[1]: *** [all-bfd] Error 2
[binutils/build] make: *** [all] Error 2

On macOS 12(Monterey), makeinfo is located on /usr/bin/makeinfo. But it seems to be removed on macOS 13(Ventura).

➜  ~ uname -a
Darwin MacBook-Pro-13.local 22.1.0 Darwin Kernel Version 22.1.0: Tue Sep 27 22:07:57 PDT 2022; root:xnu-8792.41.6~5/RELEASE_X86_64 x86_64
➜  ~ which makeinfo
makeinfo not found
➜  ~ ll /usr/bin/makeinfo
ls: /usr/bin/makeinfo: No such file or directory

I’ve installed both "Xcode 14.1 beta 3" and "Command Line Tools for Xcode 14.1 beta 3". Build number of macOS is 22A5365d(Public Beta 8).

I couldn’t have confirmed is this an intended change on macOS 13 or just a bug. So it may be better to merge when RC version of macOS is released.

TETRA2000 avatar Oct 10 '22 14:10 TETRA2000

Hello!

One or more of the commit messages in this PR do not match the SerenityOS code submission policy, please check the lint_commits CI job for more details on which commits were flagged and why. Please do not close this PR and open another, instead modify your commit message(s) with git commit --amend and force push those changes to update this PR.

BuggieBot avatar Oct 10 '22 14:10 BuggieBot

Considering that we don't really need the built documentation anyways, one might also just no-op makeinfo away.

timschumi avatar Oct 10 '22 14:10 timschumi

Is this still necessary now that #15538 was merged?

gunnarbeutner avatar Oct 12 '22 12:10 gunnarbeutner

First time installer of Serenity OS, and I just came across this issue as well on Mac OS Ventura.

There's no makeinfo on my system. The code from #15538 is on my system (pulled code tonight for the first time), so don't think that fixes it.

[binutils/build] make[2]: Leaving directory '/Users/chris/Dev/serenity/Toolchain/Build/x86_64/binutils/zlib'
[binutils/build] make[2]: Entering directory '/Users/chris/Dev/serenity/Toolchain/Build/x86_64/binutils/bfd'
[binutils/build] Making info in po
[binutils/build] make[3]: Entering directory '/Users/chris/Dev/serenity/Toolchain/Build/x86_64/binutils/bfd/po'
[binutils/build] make[3]: Nothing to be done for 'info'.
[binutils/build] make[3]: Leaving directory '/Users/chris/Dev/serenity/Toolchain/Build/x86_64/binutils/bfd/po'
[binutils/build] make[3]: Entering directory '/Users/chris/Dev/serenity/Toolchain/Build/x86_64/binutils/bfd'
[binutils/build]   MAKEINFO doc/bfd.info
[binutils/build] /Users/chris/Dev/serenity/Toolchain/Tarballs/binutils-2.39/missing: line 81: makeinfo: command not found
[binutils/build] WARNING: 'makeinfo' is missing on your system.
[binutils/build]          You should only need it if you modified a '.texi' file, or
[binutils/build]          any other file indirectly affecting the aspect of the manual.
[binutils/build]          You might want to install the Texinfo package:
[binutils/build]          <http://www.gnu.org/software/texinfo/>
[binutils/build]          The spurious makeinfo call might also be the consequence of
[binutils/build]          using a buggy 'make' (AIX, DU, IRIX), in which case you might
[binutils/build]          want to install GNU make:
[binutils/build]          <http://www.gnu.org/software/make/>
[binutils/build] make[3]: *** [Makefile:1772: doc/bfd.info] Error 127
[binutils/build] make[3]: Leaving directory '/Users/chris/Dev/serenity/Toolchain/Build/x86_64/binutils/bfd'
[binutils/build] make[2]: *** [Makefile:1932: info-recursive] Error 1
[binutils/build] make[2]: Leaving directory '/Users/chris/Dev/serenity/Toolchain/Build/x86_64/binutils/bfd'
[binutils/build] make[1]: *** [Makefile:3085: all-bfd] Error 2
[binutils/build] make[1]: Leaving directory '/Users/chris/Dev/serenity/Toolchain/Build/x86_64/binutils'
[binutils/build] make: *** [Makefile:1032: all] Error 2

chriswales95 avatar Nov 03 '22 22:11 chriswales95

@timschumi I can confirm what @chriswales95 is posting here. On macOS Ventura, the export of ac_cv_prog_MAKEINFO to true as well as a local export of MAKEINFO=true have no effect on the build steps of binutils.

here's a full log:

https://gist.github.com/ADKaster/b4ab02797862ec071ccb4ff7360e99bd

Seems short term we should probably just merge this or an equivalent doc update.

ADKaster avatar Nov 04 '22 05:11 ADKaster

That is interesting, because it certainly helped with SerenityOS and the macOS beta. Maybe I'll get around to tracking this down once I get my Hackintosh updated. That said, I'm totally fine with updating the build instructions for macOS if required, I just originally suggested the export because I'd need it for self-hosting anyways.

timschumi avatar Nov 04 '22 18:11 timschumi

Hi @ADKaster @timschumi, I took a quick look and created a PR that seems to fix it on Ventura. Adding MAKEINFO=true lines 379 and 380 seems to help.

https://github.com/SerenityOS/serenity/pull/15932

chriswales95 avatar Nov 04 '22 23:11 chriswales95

OBE: texinfo is fully not required thanks to #15932

ADKaster avatar Nov 05 '22 20:11 ADKaster