Date: Sat, 30 Jul 2022 13:15:09 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 265516] lang/perl5*: work around duplicate symbol errors with dtrace enabled Message-ID: <bug-265516-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D265516 Bug ID: 265516 Summary: lang/perl5*: work around duplicate symbol errors with dtrace enabled Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: mat@FreeBSD.org Reporter: dim@FreeBSD.org Flags: maintainer-feedback?(mat@FreeBSD.org) Assignee: mat@FreeBSD.org During an exp-run for llvm 15 (see bug 265425), it turned out that lang/perl5.32, lang/perl5.34, lang/perl5.36 and lang/perl5-devel fail to bu= ild with clang and lld 15: cc -pthread -Wl,-E -fstack-protector-strong -L/usr/local/lib -o miniperl=20 mpdtrace/opmini.o mpdtrace/perlmini.o mpdtrace/gv.o mpdtrace/toke.o mpdtrace/perly.o mpdtrace/pad.o mpdtrace/regcomp.o mpdtrace/dump.o mpdtrace/util.o mpdtrace/mg.o mpdtrace/reentr.o mpdtrace/mro_core.o mpdtrace/keywords.o mpdtrace/hv.o mpdtrace/av.o mpdtrace/run.o mpdtrace/pp_hot.o mpdtrace/sv.o mpdtrace/pp.o mpdtrace/scope.o mpdtrace/pp_ctl.o mpdtrace/pp_sys.o mpdtrace/doop.o mpdtrace/doio.o mpdtrace/regexec.o mpdtrace/utf8.o mpdtrace/taint.o mpdtrace/deb.o mpdtrace/universal.o mpdtrace/globals.o mpdtrace/perlio.o mpdtrace/perlapi.o mpdtrace/numeric.o mpdtrace/mathoms.o mpdtrace/locale.o mpdtrace/pp_pack.o mpdtrace/pp_sort.o mpdtrace/caretx.o mpdtrace/dquote.o mpdtrace/time64.o mpdtrace/miniperlmain.o dtrace_mini.o -lpthread -lm -lcrypt -lutil ld: error: duplicate symbol: __dtraceenabled_perl___op__entry >>> defined in mpdtrace/perlmini.o >>> defined in mpdtrace/dump.o ld: error: duplicate symbol: __dtraceenabled_perl___op__entry >>> defined in mpdtrace/perlmini.o >>> defined in mpdtrace/run.o ld: error: duplicate symbol: __dtraceenabled_perl___sub__entry >>> defined in mpdtrace/pp_hot.o >>> defined in mpdtrace/pp_ctl.o ld: error: duplicate symbol: __dtraceenabled_perl___sub__entry >>> defined in mpdtrace/pp_hot.o >>> defined in mpdtrace/regexec.o ld: error: duplicate symbol: __dtraceenabled_perl___sub__entry >>> defined in mpdtrace/pp_hot.o >>> defined in mpdtrace/pp_sort.o cc: error: linker command failed with exit code 1 (use -v to see invocation) *** Error code 1 This error pops up in more bug reports, for instance bug 258872 and bug 260= 947. It seems that dtrace does something to the object files produced during the build, if the DTRACE option is enabled (which it is by default). Whatever it does, it causes these multiply defined symbols, which only appear to occur = in certain (as of yet) undetermined circumstances. I would like to get the ports going again by working around these link erro= rs, using the --allow-multiple-definition linker flag, which is supported by bo= th GN ld and lld. --=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-265516-7788>