[Bug 260947] lang/perl5.32 fails to build with default options set (which includes DTRACE)

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 05 Jan 2022 03:43:08 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260947

            Bug ID: 260947
           Summary: lang/perl5.32 fails to build with default options set
                    (which includes DTRACE)
           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: tech-lists@zyxst.net
          Assignee: mat@FreeBSD.org
             Flags: maintainer-feedback?(mat@FreeBSD.org)

Hi,

context:
AMD Ryzen 5 5600G
14.0-CURRENT #0 main-n252210-3a9688f8bc4 
git -C /usr/ports rev-list --first-parent --count main = 570165

By default, lang/perl5.32 has the DTRACE option enabled, which causes the build
to fail. The fix is to disable the option.

When enabled, it fails like this:

[...]
--- lib/buildcustomize.pl ---
cc -pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib -o miniperl 
opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o
reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.
o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o
universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o
pp_sort.o caretx.o dquote.o time64.o  miniperlmain.o
  -lpthread -lm -lcrypt -lutil
ld: error: undefined symbol: __dtraceenabled_perl___op__entry
>>> referenced by perlmini.c
>>>               perlmini.o:(perl_destruct)
>>> referenced by perlmini.c
>>>               perlmini.o:(perl_destruct)
>>> referenced by perlmini.c
>>>               perlmini.o:(perl_parse)
>>> referenced 8 more times

ld: error: undefined symbol: __dtrace_perl___sub__entry
>>> referenced by util.c
>>>               util.o:(Perl_dtrace_probe_call)

ld: error: undefined symbol: __dtrace_perl___sub__return
>>> referenced by util.c
>>>               util.o:(Perl_dtrace_probe_call)

ld: error: undefined symbol: __dtrace_perl___loading__file
>>> referenced by util.c
>>>               util.o:(Perl_dtrace_probe_load)

ld: error: undefined symbol: __dtrace_perl___loaded__file
>>> referenced by util.c
>>>               util.o:(Perl_dtrace_probe_load)

ld: error: undefined symbol: __dtrace_perl___op__entry
>>> referenced by util.c
>>>               util.o:(Perl_dtrace_probe_op)
>>> referenced by util.c
>>>               util.o:(Perl_dtrace_probe_op)

ld: error: undefined symbol: __dtrace_perl___phase__change
>>> referenced by util.c
>>>               util.o:(Perl_dtrace_probe_phase)

ld: error: undefined symbol: __dtraceenabled_perl___sub__entry
>>> referenced by pp_hot.c
>>>               pp_hot.o:(Perl_pp_leavesub)
>>> referenced by pp_hot.c
>>>               pp_hot.o:(Perl_pp_entersub)
>>> referenced by pp_ctl.c
>>>               pp_ctl.o:(Perl_cx_popsub)
>>> referenced 6 more times
cc: error: linker command failed with exit code 1 (use -v to see invocation)
*** [lib/buildcustomize.pl] Error code 1

make[2]: stopped in /usr/ports/lang/perl5.32/work/perl-5.32.1
1 error

make[2]: stopped in /usr/ports/lang/perl5.32/work/perl-5.32.1
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/perl5.32
*** Error code 1

Stop.
make: stopped in /usr/ports/lang/perl5.32
[...]

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