Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 05 Dec 2022 18:25:23 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 268178] lang/tcl8[6-8]: fix build with clang/lld 15
Message-ID:  <bug-268178-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D268178

            Bug ID: 268178
           Summary: lang/tcl8[6-8]: fix build with clang/lld 15
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: dim@FreeBSD.org

During an exp-run for llvm 15 (see bug 265425), it turned out that lang/tcl=
86
failed to build with clang (and lld) 15:

...
cc -O2 -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing  -pipe=20=20
-fstack-protector-strong  -Wl,--export-dynamic -shared -o libtcl86.so.1
regcomp.o regexec.o regfree.o regerror.o tclAlloc.o  tclAssembly.o tclAsync
.o tclBasic.o tclBinary.o tclCkalloc.o  tclClock.o tclCmdAH.o tclCmdIL.o
tclCmdMZ.o  tclCompCmds.o tclCompCmdsGR.o tclCompCmdsSZ.o tclCompExpr.o=20
tclCompile.o tclConfig.o tclDate.o tclDictObj.o tclDisassemble.o  tclEncod
ing.o tclEnsemble.o  tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName=
.o
tclGet.o  tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd=
.o=20
tclIORChan.o tclIORTrans.o tclIOGT.o tclIOSock.o tclIOUtil.o  t
clLink.o tclListObj.o  tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNoti=
fy.o
 tclObj.o tclOptimize.o tclPanic.o tclParse.o tclPathObj.o tclPipe.o  tclPk=
g.o
tclPkgConfig.o tclPosixStr.o  tclPreserve.o tclProc.o tclRege
xp.o  tclResolve.o tclResult.o tclScan.o tclStringObj.o  tclStrToD.o
tclThread.o  tclThreadAlloc.o tclThreadJoin.o tclThreadStorage.o tclStubIni=
t.o=20
tclTimer.o tclTrace.o tclUtf.o tclUtil.o tclVar.o tclZlib.o  tclTomMath
Interface.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o  tclUnixFile.o
tclUnixPipe.o tclUnixSock.o  tclUnixTime.o tclUnixInit.o tclUnixThrd.o=20
tclUnixCompat.o tclUnixNotfy.o   tclOO.o tclOOBasic.o tclOOCall.o tclOODefi=
neC
mds.o tclOOInfo.o  tclOOMethod.o tclOOStubInit.o tclLoadDl.o bn_s_mp_revers=
e.o
bn_s_mp_mul_digs_fast.o  bn_s_mp_sqr_fast.o bn_mp_add.o bn_mp_and.o=20
bn_mp_add_d.o bn_mp_clamp.o bn_mp_clear.o bn_mp_clear_multi.o  bn_mp_cmp
.o bn_mp_cmp_d.o bn_mp_cmp_mag.o  bn_mp_cnt_lsb.o bn_mp_copy.o=20
bn_mp_count_bits.o bn_mp_div.o bn_mp_div_d.o bn_mp_div_2.o  bn_mp_div_2d.o
bn_mp_div_3.o bn_mp_exch.o bn_mp_expt_u32.o  bn_mp_grow.o bn_mp_init.o=20
bn_mp_ini
t_copy.o bn_mp_init_multi.o bn_mp_init_set.o  bn_mp_init_size.o
bn_s_mp_karatsuba_mul.o  bn_s_mp_karatsuba_sqr.o bn_s_mp_balance_mul.o=20
bn_mp_lshd.o bn_mp_mod.o bn_mp_mod_2d.o bn_mp_mul.o bn_mp_mul_2.o=20
bn_mp_mul_2d.o bn
_mp_mul_d.o bn_mp_neg.o bn_mp_or.o  bn_mp_radix_size.o bn_mp_radix_smap.o=20
bn_mp_read_radix.o bn_mp_rshd.o bn_mp_set.o  bn_mp_shrink.o  bn_mp_sqr.o
bn_mp_sqrt.o bn_mp_sub.o bn_mp_sub_d.o  bn_mp_signed_rsh.o  bn_mp_to_ubi
n.o  bn_s_mp_toom_mul.o bn_s_mp_toom_sqr.o bn_mp_to_radix.o  bn_mp_ubin_siz=
e.o
bn_mp_xor.o bn_mp_zero.o bn_s_mp_add.o  bn_s_mp_mul_digs.o bn_s_mp_sqr.o
bn_s_mp_sub.o tclDTrace.o   -fstack-protector-strong  -Wl,--export-d
ynamic -ldl -lz -lpthread -lm -Wl,-soname,libtcl86.so.1=20=20
"-Wl,-rpath,/usr/local/lib"
ld: error: duplicate symbol: __dtrace_tcl___obj__create
>>> defined in tclAssembly.o
>>> defined in tclBasic.o

ld: error: duplicate symbol: __dtrace_tcl___obj__create
>>> defined in tclAssembly.o
>>> defined in tclCmdMZ.o

ld: error: duplicate symbol: __dtrace_tcl___obj__free
>>> defined in tclBasic.o
>>> defined in tclCmdMZ.o
... more of those...

This is similar to the problem reported for lang/perl5.* in bug 265516, i.e.
the DTrace-related postprocessing of object files messes up the symbols in =
such
a way that there are multiple definitions.

And similarly to the perl5.x workaround, I propose adding -Wl,-z,muldefs to
LDFLAGS, to silence the linker errors.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-268178-7788>