Bug 285556 - make installworld MK_TOOLCHAIN=no fails after make buildworld w/ default options
Summary: make installworld MK_TOOLCHAIN=no fails after make buildworld w/ default options
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-20 17:27 UTC by Ed Maste
Modified: 2025-04-01 12:54 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Maste freebsd_committer freebsd_triage 2025-03-20 17:27:00 UTC
reported by Michael Butler on -current https://lists.freebsd.org/archives/freebsd-current/2025-March/007202.html

release/Makefile invokes ${IMAKE} installworld ... MK_TOOLCHAIN=no ...
after buildworld executed with default options (i.e., no MK_TOOLCHAIN override).

The issue is that at buildworld time we build the LLVM binutils (including llvm-strip) but at install time we set MK_TOOLCHAIN=no which implies MK_LLVM_BINUTILS=no, and we then try to install ELF Tool Chain strip.
Comment 1 commit-hook freebsd_committer freebsd_triage 2025-03-20 17:59:51 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=fdc4db57224ce19b867c60fce4c410068be40c27

commit fdc4db57224ce19b867c60fce4c410068be40c27
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-03-20 17:47:29 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2025-03-20 17:59:32 +0000

    usr.bin/Makefile: always build ELF Tool Chain strings(1)

    strings(1) is not conditional on WITH_/WITHOUT_TOOLCHAIN, as it is a
    small utility that is also useful outside of the toolchain context.
    As of commit 1cae7121c667 we switched to WITH_LLVM_BINUTILS by default.

    After this change building world with default options but installing
    WITHOUT_TOOLCHAIN failed, because we would build LLVM's strings but
    attempt to install ELF Tool Chain's version, which did not exist.
    Address this by always including ELF Tool Chain strings in non-install
    make targets, so that it will be available if options are changed at
    install time.

    PR:             285556
    Reported by:    Michael Butler
    Reviewed by:    brooks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D49425

 usr.bin/Makefile | 6 ++++++
 1 file changed, 6 insertions(+)
Comment 2 commit-hook freebsd_committer freebsd_triage 2025-04-01 12:54:03 UTC
A commit in branch stable/14 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=e683e7e0f887216b52dfd64db226f0a6d3ce853a

commit e683e7e0f887216b52dfd64db226f0a6d3ce853a
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2025-03-20 17:47:29 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2025-04-01 12:52:53 +0000

    usr.bin/Makefile: always build ELF Tool Chain strings(1)

    strings(1) is not conditional on WITH_/WITHOUT_TOOLCHAIN, as it is a
    small utility that is also useful outside of the toolchain context.
    As of commit 1cae7121c667 we switched to WITH_LLVM_BINUTILS by default.

    After this change building world with default options but installing
    WITHOUT_TOOLCHAIN failed, because we would build LLVM's strings but
    attempt to install ELF Tool Chain's version, which did not exist.
    Address this by always including ELF Tool Chain strings in non-install
    make targets, so that it will be available if options are changed at
    install time.

    PR:             285556
    Reported by:    Michael Butler
    Reviewed by:    brooks
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D49425

    (cherry picked from commit fdc4db57224ce19b867c60fce4c410068be40c27)

 usr.bin/Makefile | 6 ++++++
 1 file changed, 6 insertions(+)