From owner-freebsd-ppc@freebsd.org Fri May 24 05:33:44 2019 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 65E3315986BA for ; Fri, 24 May 2019 05:33:44 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-1.consmr.mail.bf2.yahoo.com (sonic303-1.consmr.mail.bf2.yahoo.com [74.6.131.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E0AE174DF2 for ; Fri, 24 May 2019 05:33:42 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: e0_f8ooVM1kOyIESnRDy7ZWbiSSGaNCaZAxoqAOIuSmweQaUyukKtOi37IaQJQn XdQUCCFvsm9cmgrjuCMKY0XCCTL.N41IqTCE0u.0XhHf.Z394BbP.FSyvpMb9G4aTfakop7S.kiq 5HnAyIchR4O9u5Ij0KG3Elb.v6e2b_0DGd6Pc0sYO.yDz2qlZYBHfudnoCQkHfLg4kPkgTVH5ziP hTAIUc.Y2muE6yJQlP1iwa7zwosG61NudBIIx7Es5oKXBG2_EPrJgcpqdKAbino587sULbRO2QJh RAeTUK3dgHRcqfr5iXtoGP6XKyslXz98_e8Yxg25_aXqch2RNZ4XbyrXh33NPGk1Og9dFcoM3s_r bfUKzr_4KNymEoinlpk3W0v41qyH6ksqDMNG78OnsXAzerp3YbXGHtnv4q8myHpuWA_E71gJglve dGiN4YMTDqoQ2Q8q1IAlvIUA89dt10ZqLh8VhqpTWU1E.FS3ZKh7VOlfRdTJc15XEUr6tNCofTl9 QVHQr1mfZYLaKFXGv3PFyDCA8WjstJy7.qSABJm40s0cQSCqf8skIlLcVEjaYwblhmk9t68Li2PB qog4cbViNMv7N.6CWw5vGCjrB98dwDUHsir9VCuhsRl3RqObCpWEKagawuBR1uwLe13_37R7Gk.g PHBEQ2cAIYf_RZJs8hsLJMhehRXMfGGMFpRtUtwLY0T6MKFCyeRAgl_4D0ILwkpZFnekwATCWUlk j2FKiO2f31sjj3ONo_xN92uCFAT17EnsZc5LJVh1CMyUSkjGh0g72UwGBu9uvi8uK9OQSJcwFeRk 2I78WuFWMItgMXPjlK3JxvGw3wV_u1fSdP4kQRXDnbNeb_I2fX0a9crH7HT_mPhBvWgIIU7Bkt5a baBctCMpBzaCGX7ji61AwGM3ZuNG5mAoMLYueWmBHh3gRUcityqzcAQpiyNwgL1fSC8G32YzxcpJ H8vyV2AQ_ANPCJpijhtOAI_1QLobi0MNsJoCV9kIaKQOWX6_OT.qFg6bDvyflZJz8kaeWexJOYvk ZyDcyZyW_4teahP5j7GlJMAB1qztlH1UtpPO3C0wyZ8KeoooxRDSsZC5mG0t1oqST3Wf.a33s9tE C91zKw6cKhjaRWS262QzeZxJiTb9U9HG_N9x0AcaHKCuJLuqd0TeH90d1nrxp6hTcqlD0nksAtXE 83eqKhnY20UfYmgyoPnyMMpoTZ2_uRSp62Use9vgrAzZFGVLyWbOQeH417FG7zqyLQ4sWYhW6B1k o1A-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.bf2.yahoo.com with HTTP; Fri, 24 May 2019 05:33:41 +0000 Received: from c-76-115-7-162.hsd1.or.comcast.net (EHLO [192.168.1.103]) ([76.115.7.162]) by smtp416.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 93477401da3f6a4091e6c4e6c1b0ba07; Fri, 24 May 2019 05:33:37 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: powerpc64 system-clang-8 based context: x11-toolkits/qt5-declarative fails to build in poudriere: /usr/local/lib/qt5/bin/qlalr segmentation faults in std::type_info::~type_info() () from /usr/local/lib/gcc8/libstdc++.so.6 From: Mark Millard In-Reply-To: Date: Thu, 23 May 2019 22:33:35 -0700 Cc: Jan Beich Content-Transfer-Encoding: quoted-printable Message-Id: <3B3EACF3-00D8-48B7-A3C0-8AA6E0279041@yahoo.com> References: <8B8355C5-731B-4F03-AA98-11324C618D3C@yahoo.com> <590AAD80-8D2F-4F7A-8910-001D72A5E666@yahoo.com> <22D9DF10-E58A-49E5-8372-CC9D263A7C76@yahoo.com> <33026AD5-9CB0-43CB-84EA-5B2B914A7EB0@yahoo.com> To: FreeBSD Toolchain , FreeBSD PowerPC ML , ports-list freebsd X-Mailer: Apple Mail (2.3445.104.11) X-Rspamd-Queue-Id: E0AE174DF2 X-Spamd-Bar: ++++ X-Spamd-Result: default: False [4.46 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MV_CASE(0.50)[]; FREEMAIL_FROM(0.00)[yahoo.com]; LONG_SUBJ(1.66)[221]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; MX_GOOD(-0.01)[cached: mta6.am0.yahoodns.net]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:26101, ipnet:74.6.128.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_SPAM_SHORT(0.90)[0.904,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(1.38)[ip: (4.16), ipnet: 74.6.128.0/21(1.56), asn: 26101(1.25), country: US(-0.06)]; NEURAL_SPAM_MEDIUM(0.04)[0.042,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_SPAM_LONG(0.99)[0.986,0]; RCVD_IN_DNSWL_NONE(0.00)[40.131.6.74.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 May 2019 05:33:44 -0000 [I adjusted the Subject line to give more context.] [/usr/local/lib/qt5/bin/qlalr and /usr/local/lib/qt5/libQt5Core.so.5 overall use each of the following (somewhat indirectly) in my system-clang-8-based powerpc64 context: /usr/local/lib/gcc8/libstdc++.so.6 /usr/lib/libc++.so.1 /lib/libcxxrt.so.1 ] On 2019-May-23, at 21:09, Mark Millard wrote: [Merely adding the extra instruction was not the right idea for what the problem is.] On 2019-May-23, at 20:10, Mark Millard wrote: > [I tried rebuilding things based on a full-bootstrap > build of lang/gcc8 instead. It made no difference.] >=20 > On 2019-May-23, at 14:17, Mark Millard wrote: >=20 >> [It looks like code generation missed a level of indirection >> to me.] >>=20 >>> On 2019-May-23, at 13:46, Mark Millard wrote: >>>=20 >>> [I should have listed uname -apKU output and such.] >>>=20 >>> On 2019-May-23, at 13:21, Mark Millard wrote: >>>=20 >>>> The poudriere bulk run that tried to build = x11-toolkits/qt5-declarative >>>> got: >>>>=20 >>>> --- qqmljsgrammar.cpp --- >>>> /usr/local/lib/qt5/bin/qlalr --no-debug --qt parser/qqmljs.g >>>> Segmentation fault (core dumped) >>>> *** [qqmljsgrammar.cpp] Error code 139 >>>>=20 >>>> make[3]: stopped in = /wrkdirs/usr/ports/x11-toolkits/qt5-declarative/work/qtdeclarative-everywh= ere-src-5.12.2/src/qml >>>> 1 error >>>>=20 >>>> Installing qt5-core and manually running under gdb from >>>> an expansion of the bulk's tar of the failure, I was able >>>> to get a backtrace: >>>>=20 >>>> (gdb) run --no-debug --qt parser/qqmljs.g >>>> Starting program: /usr/local/bin/qlalr --no-debug --qt = parser/qqmljs.g >>>> process 26823 is executing new program: = /usr/local/lib/qt5/bin/qlalr >>>> . . . (text about auto-loading has been declined and such) . . . >>>> Program received signal SIGSEGV, Segmentation fault. >>>> 0x0000000810a96be0 in std::type_info::~type_info() () from = /usr/local/lib/gcc8/libstdc++.so.6 >>>> (gdb) bt >>>> #0 0x0000000810a96be0 in std::type_info::~type_info() () from = /usr/local/lib/gcc8/libstdc++.so.6 >>>> #1 0x000000081092152c in __cxxabiv1::__dynamic_cast = (src_ptr=3D0x810ab57d0 <(anonymous namespace)::ctype_c>, = src_type=3D0x810a8eaa0 ,=20 >>>> dst_type=3D0x810a8fb18 >, src2dst=3D0) = at = /wrkdirs/usr/ports/lang/gcc8/work/gcc-8.3.0/libstdc++-v3/libsupc++/dyncast= .cc:71 >>>> #2 0x00000008109df908 in std::has_facet > = (__loc=3D...) at = /wrkdirs/usr/ports/lang/gcc8/work/.build/powerpc64-portbld-freebsd13.0/lib= stdc++-v3/include/bits/locale_classes.tcc:104 >>>> #3 0x00000008109cb474 in std::basic_ios >::_M_cache_locale (this=3D0x810ab48c8 = , __loc=3D...) >>>> at = /wrkdirs/usr/ports/lang/gcc8/work/.build/powerpc64-portbld-freebsd13.0/lib= stdc++-v3/include/bits/basic_ios.tcc:157 >>>> #4 0x00000008109cbad0 in std::basic_ios >::init (this=3D0x810ab48c8 , = __sb=3D0x810ab36f8 <__gnu_internal::buf_cout_sync>) >>>> at = /wrkdirs/usr/ports/lang/gcc8/work/.build/powerpc64-portbld-freebsd13.0/lib= stdc++-v3/include/bits/basic_ios.tcc:126 >>>> #5 0x000000081093e644 in std::basic_ostream >::basic_ostream (__sb=3D, = this=3D, __in_chrg=3D, = __vtt_parm=3D) >>>> at = /wrkdirs/usr/ports/lang/gcc8/work/.build/powerpc64-portbld-freebsd13.0/lib= stdc++-v3/include/bits/basic_ios.h:460 >>>> #6 std::ios_base::Init::Init (this=3D) at = /wrkdirs/usr/ports/lang/gcc8/work/gcc-8.3.0/libstdc++-v3/src/c++98/ios_ini= t.cc:91 >>>> #7 std::ios_base::Init::Init (this=3D) at = /wrkdirs/usr/ports/lang/gcc8/work/gcc-8.3.0/libstdc++-v3/src/c++98/ios_ini= t.cc:78 >>>> #8 0x000000001000334c in __static_initialization_and_destruction_0 = (__initialize_p=3D__initialize_p@entry=3D1, __priority=3D, __priority@entry=3D65535) at compress.cpp:273 >>>> #9 0x0000000010004c2c in _GLOBAL__sub_I_compress.cpp(void) () at = compress.cpp:273 >>>> #10 0x000000081005dfa0 in objlist_call_init (list=3D, lockstate=3D) at = /usr/src/libexec/rtld-elf/rtld.c:2728 >>>> #11 0x000000081005c830 in _rtld (sp=3D, = exit_proc=3D, objp=3D) at = /usr/src/libexec/rtld-elf/rtld.c:765 >>>> #12 0x000000081005a240 in ._rtld_start () at = /usr/src/libexec/rtld-elf/powerpc64/rtld_start.S:83 >>>> Backtrace stopped: frame did not save the PC >>>>=20 >>>>=20 >>>>=20 >>>> NOTE: In order to have built devel/qt5-core I used a patch >>>> to make sure that all the %%LOCALBASE%% strings were replaced >>>> (otherwise in the powerpc64 system clang 8 based world the >>>> devel/qt5-core build failed from -I%%LOCALBASE%%... use): >>>>=20 >>>> Index: /usr/ports/Mk/Uses/qt-dist.mk >>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>> --- /usr/ports/Mk/Uses/qt-dist.mk (revision 501994) >>>> +++ /usr/ports/Mk/Uses/qt-dist.mk (working copy) >>>> @@ -251,7 +251,7 @@ >>>> .if ${_QT_VER:M5} >>>> post-patch: gcc-post-patch >>>> gcc-post-patch: >>>> - ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|' \ >>>> + ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \ >>>> ${WRKSRC}/mkspecs/common/gcc-base.conf \ >>>> ${WRKSRC}/mkspecs/freebsd-g++/qmake.conf >>>> ${REINPLACE_CMD} 's|%%GCC_DEFAULT%%|${GCC_DEFAULT}|g' \ >>>> @@ -298,7 +298,7 @@ >>>> # ports/194088. >>>> post-patch: qtbase-post-patch >>>> qtbase-post-patch: >>>> - ${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ >>>> + ${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \ >>>> ${WRKSRC}/mkspecs/common/bsd/bsd.conf \ >>>> ${WRKSRC}/mkspecs/freebsd-clang/qmake.conf >>>>=20 >>>>=20 >>>> (So having the missing g added but not having the optional -e >>>> usage in the other %%LOCALBASE%% related command. The -e >>>> status is optional here: only one command to sed sed command >>>> in each sed command. The additional g is the important part.) >>>=20 >>> I should have listed: >>> . . . (history omitted) . . . Remembering that my context is system-clang-8 based world on powerpc64, not gcc 4.2.1 . . . /usr/ports/Mk/Uses/qt-dist.mk has: . if ${ARCH:Mmips*} || ${ARCH:Mpowerpc*} || ${ARCH} =3D=3D = sparc64 _EXTRA_PATCHES_QT5+=3D = ${PORTSDIR}/devel/${_QT_RELNAME}/files/extra-patch-mkspecs_common_g++-base= .conf \ = ${PORTSDIR}/devel/${_QT_RELNAME}/files/extra-patch-mkspecs_common_gcc-base= .conf \ = ${PORTSDIR}/devel/${_QT_RELNAME}/files/extrapatch-mkspecs_freebsd-g++_qmak= e.conf USE_GCC=3D yes . endif That is no matter what the system compiler is for powerpc64. This lead to the below mixing of libstdc++.so.6 and libc++/libcxxrt . . = . qlalr indicates use of both libstdc++ and libc++/libcxxrt : # ldd /usr/local/lib/qt5/bin/qlalr /usr/local/lib/qt5/bin/qlalr: libQt5Core.so.5 =3D> /usr/local/lib/qt5/libQt5Core.so.5 = (0x8100b1000) libstdc++.so.6 =3D> /usr/local/lib/gcc8/libstdc++.so.6 = (0x81085e000) libc.so.7 =3D> /lib/libc.so.7 (0x810ab7000) libkvm.so.7 =3D> /lib/libkvm.so.7 (0x810e1c000) libprocstat.so.1 =3D> /usr/lib/libprocstat.so.1 (0x810e41000) libexecinfo.so.1 =3D> /usr/lib/libexecinfo.so.1 (0x810e5e000) libz.so.6 =3D> /lib/libz.so.6 (0x810e71000) libicui18n.so.64 =3D> /usr/local/lib/libicui18n.so.64 = (0x810e9d000) libicuuc.so.64 =3D> /usr/local/lib/libicuuc.so.64 (0x8112ac000) libpcre2-16.so.0 =3D> /usr/local/lib/libpcre2-16.so.0 = (0x81151e000) libglib-2.0.so.0 =3D> /usr/local/lib/libglib-2.0.so.0 = (0x8115ce000) libm.so.5 =3D> /lib/libm.so.5 (0x81172e000) libgcc_s.so.1 =3D> /usr/local/lib/gcc8/libgcc_s.so.1 = (0x811765000) libthr.so.3 =3D> /lib/libthr.so.3 (0x81178e000) libelf.so.2 =3D> /lib/libelf.so.2 (0x8117d7000) libutil.so.9 =3D> /lib/libutil.so.9 (0x811804000) libicudata.so.64 =3D> /usr/local/lib/libicudata.so.64 = (0x81182e000) libc++.so.1 =3D> /usr/lib/libc++.so.1 (0x81183f000) libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x811958000) libiconv.so.2 =3D> /usr/local/lib/libiconv.so.2 (0x81198a000) libpcre.so.1 =3D> /usr/local/lib/libpcre.so.1 (0x811a9c000) libintl.so.8 =3D> /usr/local/lib/libintl.so.8 (0x811b45000) And so does libQt5Core.so.5 : # ldd /usr/local/lib/qt5/libQt5Core.so.5 /usr/local/lib/qt5/libQt5Core.so.5: libkvm.so.7 =3D> /lib/libkvm.so.7 (0x8113ad000) libprocstat.so.1 =3D> /usr/lib/libprocstat.so.1 (0x8113d2000) libexecinfo.so.1 =3D> /usr/lib/libexecinfo.so.1 (0x8113ef000) libz.so.6 =3D> /lib/libz.so.6 (0x811402000) libicui18n.so.64 =3D> /usr/local/lib/libicui18n.so.64 = (0x81142e000) libicuuc.so.64 =3D> /usr/local/lib/libicuuc.so.64 (0x81183d000) libpcre2-16.so.0 =3D> /usr/local/lib/libpcre2-16.so.0 = (0x811aaf000) libglib-2.0.so.0 =3D> /usr/local/lib/libglib-2.0.so.0 = (0x811b5f000) libstdc++.so.6 =3D> /usr/local/lib/gcc8/libstdc++.so.6 = (0x811cbf000) libm.so.5 =3D> /lib/libm.so.5 (0x811f18000) libgcc_s.so.1 =3D> /usr/local/lib/gcc8/libgcc_s.so.1 = (0x811f4f000) libthr.so.3 =3D> /lib/libthr.so.3 (0x811f78000) libc.so.7 =3D> /lib/libc.so.7 (0x810071000) libelf.so.2 =3D> /lib/libelf.so.2 (0x811fc1000) libutil.so.9 =3D> /lib/libutil.so.9 (0x811fee000) libicudata.so.64 =3D> /usr/local/lib/libicudata.so.64 = (0x812018000) libc++.so.1 =3D> /usr/lib/libc++.so.1 (0x812029000) libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x812142000) libiconv.so.2 =3D> /usr/local/lib/libiconv.so.2 (0x812174000) libpcre.so.1 =3D> /usr/local/lib/libpcre.so.1 (0x812286000) libintl.so.8 =3D> /usr/local/lib/libintl.so.8 (0x81232f000) It appears that the libc++/libcxxrt use comes from: # ldd /usr/local/lib/libicui18n.so.64 /usr/local/lib/libicui18n.so.64: libicuuc.so.64 =3D> /usr/local/lib/libicuuc.so.64 (0x81100f000) libicudata.so.64 =3D> /usr/local/lib/libicudata.so.64 = (0x811281000) libthr.so.3 =3D> /lib/libthr.so.3 (0x811292000) libm.so.5 =3D> /lib/libm.so.5 (0x8112db000) libc++.so.1 =3D> /usr/lib/libc++.so.1 (0x811312000) libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x81142b000) libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x81145d000) libc.so.7 =3D> /lib/libc.so.7 (0x810071000) # ldd /usr/local/lib/libicuuc.so.64 /usr/local/lib/libicuuc.so.64: libicudata.so.64 =3D> /usr/local/lib/libicudata.so.64 = (0x810e72000) libthr.so.3 =3D> /lib/libthr.so.3 (0x810e83000) libm.so.5 =3D> /lib/libm.so.5 (0x810ecc000) libc++.so.1 =3D> /usr/lib/libc++.so.1 (0x810f03000) libcxxrt.so.1 =3D> /lib/libcxxrt.so.1 (0x81101c000) libgcc_s.so.1 =3D> /lib/libgcc_s.so.1 (0x81104e000) libc.so.7 =3D> /lib/libc.so.7 (0x810071000) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)