serenity
serenity copied to clipboard
Update build instruction for macOS 13
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.
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.
Considering that we don't really need the built documentation anyways, one might also just no-op makeinfo away.
Is this still necessary now that #15538 was merged?
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
@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.
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.
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
OBE: texinfo is fully not required thanks to #15932