From nobody Tue May 30 23:07:42 2023 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4QW7N42y1wz4YKB9 for ; Tue, 30 May 2023 23:07:48 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4QW7N32j9Kz3Nm7; Tue, 30 May 2023 23:07:47 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20221208 header.b=mY636qKi; spf=pass (mx1.freebsd.org: domain of yaneurabeya@gmail.com designates 2607:f8b0:4864:20::102f as permitted sender) smtp.mailfrom=yaneurabeya@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-256cda5c1c1so743097a91.1; Tue, 30 May 2023 16:07:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685488065; x=1688080065; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Z0iBtU9Wq54/CiRbpDHe5vyJ4zn9/PI5iglaf19R+3Y=; b=mY636qKiwdtHaVIvd0aQWU9hQLfiGNrpDo2jZZpP+SiS3YRchB4TB4+pHi67uFyOJj jlKbzIpqpFTjN7VsgiCnbF6OOt6tvmTKjkhC3f11xTMmSIia5m4HrVoCedjhRgyVTy9w 0Rs4TOSwLiplcoMQyvLnwDX4UzOODoyVWmckB8mog85a2MynCreSQlfJDcxZ7HwQZXvL gw1jGjCfayZSXRaOmVqMtKndua91adfvpIWPbnw3B4PBEKssh9tHPuYOmA0n1dxufMwY GZiDj04VUcI7tMGZWkuZ3RSh4avGobxJTqbwxqDqcyLjQQ+G/1wjQR5zvnAeO+sbvhs9 xYlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685488065; x=1688080065; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Z0iBtU9Wq54/CiRbpDHe5vyJ4zn9/PI5iglaf19R+3Y=; b=BoSch1KDXJMZO1EdDQ+8rp3Qp24IrmVrqmEOlJVglkdQ5WU28/X6F0GuhXLtxjmO41 ovJ44yhwQmLLuQKeKWDZJpekmN9+fdyicdhGSZy9QwqVgBH6kgT4uiZkz8ucUOeLq42H 7/tbYXWsjJ0qjwII3fAeuWYIQsc7erV6AOyXg1LO6R4ht6Wksve4xB635N69YgNh7XLj owJCr0D3FLHAdWNnD6PXhQVFxCZGLaUmF9EBVdRae6dJSQO4DOglxSIVF3LcwKAjc3XK 09mtpykyo8xZ97ynn8fjL76sOLcAF1ztq35kSQnwr8oKBAlnbQHZTuXf0EWMWaKTkTYX JihQ== X-Gm-Message-State: AC+VfDy56FokZNepQqfw2BaaLPoQdnXUcRKpem0lR2bRfRjsw9MsnHBS R3veuv7FtkpR7rIOjH5SYM95glR8/HH1Ww== X-Google-Smtp-Source: ACHHUZ6Ba7unYOCeHxLviEwgjHAYfMvi2ikjITStdf9XxWPbKMO+sjj1Di4e1FrpY3SL+sTye8yZHg== X-Received: by 2002:a17:90a:b895:b0:256:2b45:8e1a with SMTP id o21-20020a17090ab89500b002562b458e1amr3983363pjr.25.1685488064410; Tue, 30 May 2023 16:07:44 -0700 (PDT) Received: from smtpclient.apple (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id i16-20020a17090adc1000b00256799877ffsm4294335pjv.47.2023.05.30.16.07.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 May 2023 16:07:43 -0700 (PDT) Content-Type: multipart/signed; boundary="Apple-Mail=_CDECEF28-D00E-4847-8D23-755F608C0AA7"; protocol="application/pgp-signature"; micalg=pgp-sha256 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.3\)) Subject: Re: "make hierarchy" from main tree breaks c++ headers on older branches with unclear errors if "make install world" is interrupted From: Enji Cooper In-Reply-To: <0DA92266-62F8-439E-9C56-44106A6B0073@FreeBSD.org> Date: Tue, 30 May 2023 16:07:42 -0700 Cc: FreeBSD Current Message-Id: References: <0DA92266-62F8-439E-9C56-44106A6B0073@FreeBSD.org> To: Dimitry Andric X-Mailer: Apple Mail (2.3696.120.41.1.3) X-Spamd-Result: default: False [-4.59 / 15.00]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20221208]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_SPAM_SHORT(0.01)[0.009]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; FROM_HAS_DN(0.00)[]; BLOCKLISTDE_FAIL(0.00)[73.19.52.228:server fail,2607:f8b0:4864:20::102f:server fail]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::102f:from]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; HAS_ATTACHMENT(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; RCVD_TLS_LAST(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; FROM_EQ_ENVFROM(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org] X-Rspamd-Queue-Id: 4QW7N32j9Kz3Nm7 X-Spamd-Bar: ---- X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_CDECEF28-D00E-4847-8D23-755F608C0AA7 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On May 28, 2023, at 3:53 AM, Dimitry Andric wrote: >=20 > On 28 May 2023, at 07:18, Enji Cooper wrote: >>=20 >> I just tried to run =E2=80=9Cmake hierarchy=E2=80=9D from a main tree = on a 13.2-RELEASE system, and doing so completely broke my headers. >> It took me about 30 minutes to figure out what happened=E2=80=A6 = /usr/include/c++/v1/__string was a header, whereas on :main it=E2=80=99s = a directory?! >=20 > Yes, upstream libc++ has split up large headers into multiple = components, in particular __string and __type_traits. >=20 > Since we had a file named __string, it had to be somehow replaced by a = directory. This is what the distrib-cleanup target in the top-level = Makefile does: >=20 > https://github.com/DimitryAndric/freebsd-src/commit/6b13b4a095e3 >=20 > Afterwards, the replacement directory named __string is created as = part of the regular mtree commands. >=20 >=20 > ... >> I reinstalled the headers by going to lib/libc++ in my releng/13.2 = tree, building, and installing all of the 13.2-RELEASE headers. >> This change has been live for almost a year now on :main =E2=80=94 is = this a known caveat when doing a source-based upgrade from 13.2-RELEASE* = to 14.0-CURRENT, i.e., that the installworld (if interrupted) could = break the c++ compiler? >=20 > I think it should already be quite clear that interrupting = installworld is risky. If you were just in the middle of replacing libc = or rtld, and those were half-written, your system will be completely = hosed. (I am speaking from experience. :) The same goes for any system = headers or libraries, not only the C++ ones. If you have a = half-installed tree, it should not be used for anything except = attempting another installworld. That=E2=80=99s a fair point, however, given that this follows the = standard installation workflow=E2=80=A6 1. etcupdate pre-run. 2. install kernel 3. reboot 4. make installworld 5. etcupdate post-run =E2=80=A6 this could surprise end-users. In particular, the C++ compiler = will be broken between step 1 and step 4. It would be good to bring this fact up in UPDATING or RELNOTES as a = warning because it could result in a broken system that=E2=80=99s = difficult to recover from. Cheers, -Enji --Apple-Mail=_CDECEF28-D00E-4847-8D23-755F608C0AA7 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEtvtxN6kOllEF3nmX5JFNMZeDGN4FAmR2gb4ACgkQ5JFNMZeD GN6YnQ/+L3uTxKy4u7jOtZB8KoPi4wYCwUPVxp0j0vH7KcfPOoVl9o8QulDJ30DC shIR36AVqaywHE8RghIhiJ8TtSXr+/8feDAPMNPDlqkpAaLLEu/t/QjVDxlWBOeA 2Y9SIkN+a3MEW5O9NMVbXTktZgU14S9xFt+KzUITqvQLRI3XI23QslyVvksW1Lfo rzyMsKjtUN8f4l2XiTDDoVJl6TUDFkBDPDcSeIz3mgqfkrbVLhSXZG1g8rBa7MfM bU8mHawLQsjdPBfYzG5UFdeWZwMCWojlYPGwBUilzCYvt2571kcG3pdOvvnDAGDY utEvQTvUdNAEqMWqHiKP+B1AJW/zJze1VZrmGDcT+X3HjryIkATYnxauLMvQnonv FGdcdjZp/8SxwVWOS/S4QxLeRPgqtzy9jbJtpMqu0L/pGk2Tph3UKTbQH9CUzp1d MkMvrC8uA/oYWDXUqlF79Z4sSDa33rom2l+a4W51WK4HKLhIptLLaKzcyuhThEY1 5KHl2CYGVxah6XUry9kVnsGb/ZpQFkV1fafqfJhvJ+NFdeLUMc+QsSkXvBGfatI1 cpaBhUMMW7GEuwt9awlwIOazXoIf0Fu7CRVtnNrZO3HCbwfRAMeyOSpjMEbTgWs9 hNmaQI3YdK4bZyjjllXCbyHHtpjCyW6xcjSJyYYZAFA4lgCRu9E= =Zzqs -----END PGP SIGNATURE----- --Apple-Mail=_CDECEF28-D00E-4847-8D23-755F608C0AA7--