From nobody Sun Oct 08 18:13:16 2023 X-Original-To: freebsd-stable@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 4S3Vf83h1mz4wmY4 for ; Sun, 8 Oct 2023 18:13:36 +0000 (UTC) (envelope-from jbo@insane.engineer) Received: from mail-4317.proton.ch (mail-4317.proton.ch [185.70.43.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "protonmail.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4S3Vf64NgLz3fJf for ; Sun, 8 Oct 2023 18:13:33 +0000 (UTC) (envelope-from jbo@insane.engineer) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=insane.engineer header.s=protonmail2 header.b=73jeahQH; spf=pass (mx1.freebsd.org: domain of jbo@insane.engineer designates 185.70.43.17 as permitted sender) smtp.mailfrom=jbo@insane.engineer; dmarc=pass (policy=none) header.from=insane.engineer DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=insane.engineer; s=protonmail2; t=1696788810; x=1697048010; bh=KttfZlh1a8x8knHWgN1oZg3M0JeMnIi4xxN6DRj7w68=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=73jeahQHHE2rNoQjw4yYpq+8SiHmbDw+upaubgw3CklaCR3zpk6GqRXDU/r+E5Sz2 /yYskqkh9AZvdQnvDkzxgpwwat/wMYFKuG4YfJqpYAIHoxH+vUypmLI/zji/9lcOAR U7bgYxIk7owYoUbqUMbZXZvJzphevLRs1LSaix0gjYuCuiHDk82+DnzYI68C6MTXyC A4hud8z2aHLOiNm0aRSbRUPPPtSlQYOSFMEFcI0GCa1SPYeFh9DFC+ZXzqlAscU6b9 i+G+qaO5zG33oC1aO+jmk2BnJ8haelmbyQVHRFmPRNVDzCTX+3rWZjkiplfNFECl8x 3WSf5lrIRZ06A== Date: Sun, 08 Oct 2023 18:13:16 +0000 To: FreeBSD-STABLE Mailing List From: jbo@insane.engineer Subject: Re: Base libc++ missing symbol Message-ID: In-Reply-To: <7C16CD19-6974-40A2-BCF2-16BD9924945D@yahoo.com> References: <97AB873D-57E4-48D3-985D-AAD64FB42E65@yahoo.com> <7C16CD19-6974-40A2-BCF2-16BD9924945D@yahoo.com> Feedback-ID: 40997969:user:proton List-Id: Production branch of FreeBSD source code List-Archive: https://lists.freebsd.org/archives/freebsd-stable List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.40 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[insane.engineer,none]; RWL_MAILSPIKE_EXCELLENT(-0.40)[185.70.43.17:from]; R_SPF_ALLOW(-0.20)[+ip4:185.70.43.0/24]; R_DKIM_ALLOW(-0.20)[insane.engineer:s=protonmail2]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[freebsd-stable@freebsd.org]; ARC_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_ZERO(0.00)[0]; MIME_TRACE(0.00)[0:+]; FROM_NO_DN(0.00)[]; TO_DN_ALL(0.00)[]; ASN(0.00)[asn:62371, ipnet:185.70.43.0/24, country:CH]; FREEFALL_USER(0.00)[jbo]; DKIM_TRACE(0.00)[insane.engineer:+]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Queue-Id: 4S3Vf64NgLz3fJf > The procedure of seeing if the a.out is produced without complaint > might still be useful. The program compiles & links fine, but then also fails to run: ld-elf.so.1: Undefined symbol "_ZTVNSt3__13pmr25monotonic_buffer_resourceE"= referenced from COPY relocation in /usr/home/jbo/junk/a.out I made no progress on this. I have reinstalled world twice (from different commits) and I re-installed all packages multiple times (also from differen= t ports tree commits). Any other wild ideas on how to fix this? None of my other machines have any issues whatsoever running on the same or similar stable/13 commit and using the same poudriere repository. This is certainly not Qt5 related. I run into the exact same issue with anything that uses Qt6. Furthermore, the test program we built experiences the same issue without any involvement of the Qt libraries. Best regards, ~ jbo ------- Original Message ------- On Tuesday, October 3rd, 2023 at 02:48, Mark Millard wr= ote: >=20 >=20 > On Oct 2, 2023, at 15:56, Mark Millard marklmi@yahoo.com wrote: >=20 > > Joel Bodenmann wrote on > > Date: Mon, 02 Oct 2023 20:00:29 UTC : > >=20 > > > It seems like I finally managed to hose a FreeBSD system. > > > The machine in question is my workstation at home. It has been runnin= g > > > stable/13 without any problems. Yesterday I've updated to > > > ef295f69abbffb3447771a30df6906ca56a5d0c0 and since then I'm getting a= n > > > undefined symbol on anything using Qt: > > >=20 > > > ld-elf.so.1: /usr/local/lib/qt5/libQt5Widgets.so.5: Undefined symbol > > > "_ZTVNSt3__13pmr25monotonic_buffer_resourceE" > > >=20 > > > Unless I'm missing something, it would seem like my base libc++ > > > is missing the pmr::monotonic_buffer_resource symbol. > >=20 > > I do not have a 13.2 context, so you may want to run the > > analogous steps in your context for confirming/denying > > the below applies. > >=20 > > # llvm-cxxfilt _ZTVNSt3__13pmr25monotonic_buffer_resourceE > > vtable for std::__1::pmr::monotonic_buffer_resource > >=20 > > Using the example "Run this code" source from: > >=20 > > https://en.cppreference.com/w/cpp/memory/monotonic_buffer_resource > >=20 > > # c++ -std=3Dc++17 -pedantic -O2 monotonic_buffer_resource.cpp > >=20 > > # objdump -x a.out | grep _ZTVNSt3__13pmr25monotonic_buffer_resourceE > > 0000000000204160 g O .bss.rel.ro 0000000000000038 _ZTVNSt3__13pmr25mono= tonic_buffer_resourceE > >=20 > > # nm a.out | grep _ZTVNSt3__13pmr25monotonic_buffer_resourceE > > 0000000000204160 B _ZTVNSt3__13pmr25monotonic_buffer_resourceE > >=20 > > # ./a.out > > t1 (default std alloc): 0.491 sec; t1/t1: 1.000 > > t2 (default pmr alloc): 0.541 sec; t1/t2: 0.906 > > t3 (pmr alloc no buf): 0.188 sec; t1/t3: 2.616 > > t4 (pmr alloc and buf): 0.155 sec; t1/t4: 3.172 > >=20 > > Note that the vtable is in the a.out instead of being from > > a library. It is global but is in the a.out .bss.rel.ro http://bss.rel.= ro/ in > > the example and is defined. > >=20 > > > At first I thought I might have messed up on installworld but rolling > > > back to the previous boot environment and then performing the same > > > procedure again lead to the same outcome. > >=20 > > If the above works similarly in your context, then I expect > > that the issue is on the qt5 or port side of things, not the > > system libraries/headers. > >=20 > > As I understand, clang++ 16 is the first vintage with this > > directly supported, instead of being just in the experimental > > category/area for libc++. May be tracking that transition is > > at issue. > >=20 > > For reference: > >=20 > > # c++ -v > > FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git = llvmorg-16.0.6-0-g7cbf1a259152) > > Target: x86_64-unknown-freebsd15.0 > > Thread model: posix > > InstalledDir: /usr/bin > >=20 > > # uname -apKU > > FreeBSD amd64-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT #124 main-n265447-e= 5236d25f2c0-dirty: Thu Sep 21 09:06:08 PDT 2023 root@amd64-ZFS:/usr/obj/BUI= LDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG amd64= amd64 1500001 1500001 > >=20 > > > Any ideas or wild guesses? Anything obvious I'm missing here? > > >=20 > > > uname -a > > > FreeBSD beefy02 13.2-STABLE FreeBSD 13.2-STABLE > > > stable/13-n256443-ef295f69abbf GENERIC amd64 > > >=20 > > > freebsd-version -kru > > > 13.2-STABLE > > > 13.2-STABLE > > > 13.2-STABLE > > >=20 > > > clang --version > > > FreeBSD clang version 16.0.6 > > > (https://github.com/llvm/llvm-project.git > > > llvmorg-16.0.6-0-g7cbf1a259152) Target: x86_64-unknown-freebsd13.2 > > > Thread model: posix > > > InstalledDir: /usr/bin >=20 >=20 > Given Dimitry Andric's notes: >=20 > # objdump -x /lib/libc++.so.1 | grep _ZTVNSt3__13pmr25monotonic_buffer_re= sourceE > 00000000001006d8 g O .data.rel.ro 0000000000000038 _ZTVNSt3__13pmr25monot= onic_buffer_resourceE >=20 > # nm /lib/libc++.so.1 | grep _ZTVNSt3__13pmr25monotonic_buffer_resourceE > 00000000001006d8 D _ZTVNSt3__13pmr25monotonic_buffer_resourceE >=20 > So /lib/libc++.so.1 has a global symbol naming initialized data > for this in my context. >=20 > Reminder for the a.out: >=20 > # objdump -x a.out | grep _ZTVNSt3__13pmr25monotonic_buffer_resourceE > 0000000000204160 g O .bss.rel.ro 0000000000000038 _ZTVNSt3__13pmr25monoto= nic_buffer_resourceE >=20 > # nm a.out | grep _ZTVNSt3__13pmr25monotonic_buffer_resourceE > 0000000000204160 B _ZTVNSt3__13pmr25monotonic_buffer_resourceE >=20 > My original thinking makes no sense for this. Sorry for the noise. >=20 > The procedure of seeing if the a.out is produced without complaint > might still be useful. >=20 > =3D=3D=3D > Mark Millard > marklmi at yahoo.com