Opened 3 months ago

Closed 3 months ago

Last modified 3 months ago

#70604 closed defect (fixed)

svt-av1 @2.2.0+debug: error: use of undeclared identifier 'x_step_q4', 'y_step_q4'

Reported by: lukaso (Lukas Oberhuber) Owned by: i0ntempest
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: arm64 Cc:
Port: svt-av1

Description

Build fails on Sonoma with:

arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_svt-av1/svt-av1/work/SVT-AV1-2.2.0/Source/Lib/ASM_NEON/wiener_convolve_neon.c:272:12: error: use of undeclared identifier 'x_step_q4'
:info:build     assert(x_step_q4 == 16 && y_step_q4 == 16);
:info:build            ^
:info:build /Users/lukasoberhuber/macports-gimp3-arm64/var/macports/build/_Users_lukasoberhuber_macports-gimp3-arm64_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_svt-av1/svt-av1/work/SVT-AV1-2.2.0/Source/Lib/ASM_NEON/wiener_convolve_neon.c:272:31: error: use of undeclared identifier 'y_step_q4'
:info:build     assert(x_step_q4 == 16 && y_step_q4 == 16);
:info:build                               ^
:info:build 2 errors generated.

Attachments (1)

svt-av1.log (2.8 MB) - added by lukaso (Lukas Oberhuber) 3 months ago.
failing build

Change History (5)

Changed 3 months ago by lukaso (Lukas Oberhuber)

Attachment: svt-av1.log added

failing build

comment:1 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Keywords: arm64 added
Owner: set to i0ntempest
Status: newassigned
Summary: svt-av1: 2.2.0 does not build on Sonomasvt-av1 @2.2.0+debug: error: use of undeclared identifier 'x_step_q4', 'y_step_q4'
Version: 2.9.3

The problem is specific to arm/neon code.

The build succeeded on our arm64 buildbot machines; something must be different about your build. It appears to be that you are using the debug variant and we are not: the buildbot builds used -DNDEBUG while your build did not. Defining NDEBUG turns off assertions.

I also notice in the log is that you are using the macOS 11 SDK but I don't think that's relevant.

The code on line 272 of the file wiener_convolve_neon.c reads:

    assert(x_step_q4 == 16 && y_step_q4 == 16);

I do not see anywhere that x_step_q4 or y_step_q4 are defined in this file. They are defined in other files. Maybe this was copied from another file without ever testing with assertions enabled.

The workaround would be to remove that line, or don't use the debug variant.

I filed a bug report: https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/2202

Last edited 3 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:2 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Upstream has merged a change that just removes that assert: https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/2271

If you can confirm that that fixes the build with the debug variant you could let them know over there.

comment:3 Changed 3 months ago by i0ntempest

Resolution: fixed
Status: assignedclosed

comment:4 Changed 3 months ago by lukaso (Lukas Oberhuber)

Thanks for fixing this! Can confirm fix has worked.

Note: See TracTickets for help on using tickets.