Opened 19 months ago

Closed 18 months ago

Last modified 18 months ago

#67327 closed defect (fixed)

ffmpeg @4.4.2_6: error: no member named 'compressed_ten_bit_format' in 'struct EbSvtAv1EncConfiguration'

Reported by: Lord-Kamina (Gregorio Litenstein) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: dbevans (David B. Evans), jeremyhu (Jeremy Huddleston Sequoia), SchmollTroll
Port: ffmpeg

Description

Hadn't updated my install in a while. Was doing so now, and ffmpeg fails with the following:

libavcodec/libsvtav1.c:124:53: error: no member named 'compressed_ten_bit_format' in 'struct EbSvtAv1EncConfiguration'
        (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0;

Grepping through my include folder, I traced the struct to /opt/local/include/svt-av1/EbSvtAv1Enc.h

And inside it, I found:

#if !SVT_AV1_CHECK_VERSION(1, 5, 0)
    /* DEPRECATED: to be removed in 1.5.0. */
    uint32_t compressed_ten_bit_format;
#endif

I looked through the code upstream and don't see a fix at least up-to 4.4.4

Attachments (1)

patch-libavcodec-libsvtav1.c.diff (1.1 KB) - added by townba (Brad Town) 18 months ago.
Patch based on upstream commit 031f1561cd286596cdb374da32f8aa816ce3b135

Download all attachments as: .zip

Change History (11)

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

Cc: dbevans jeremyhu added
Keywords: ffmpeg svt-av1 ftbfs removed
Owner: set to mascguy
Status: newassigned
Summary: svt-av1 @1.5.0_0 break ffmpeg @4.4.2_6ffmpeg @4.4.2_6: error: no member named 'compressed_ten_bit_format' in 'struct EbSvtAv1EncConfiguration'

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

Does the problem remain with the ffmpeg-upstream port?

comment:3 Changed 19 months ago by william-stearns (William Stearns)

I've just upgraded to MacOS Monterey (newest my hardware will support) and am running into the same error as the OP with compressed_ten_bit_format when trying to compile ffmpeg-4.4.2 . I deactivated ffmpeg and installed ffmpeg-upstream-6.0_0+gpl2, which successfully compiled. This allowed me to fix a number of binaries with linking errors. port command output below:

sudo port install ffmpeg-upstream ---> Computing dependencies for ffmpeg-upstream Error: Can't install ffmpeg-upstream because conflicting ports are active: ffmpeg Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port ffmpeg-upstream failed wlsmacpro:~ wstearns$ sudo port deactivate ffmpeg Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents. The following ports will break:

strigi @0.7.8_13 chromaprint @1.5.1_0 FreeRDP @2.7.0_0 youtube-dl @2021.12.17_1 gegl-0.3 @0.3.34_14 libextractor @1.11_2 yt-dlp @2023.03.04_0 gegl @0.4.44_0

Continue? [y/N]: y Warning: Deactivate forced. Proceeding despite dependencies. ---> Deactivating ffmpeg @4.4.2_6+gpl2+x11 ---> Cleaning ffmpeg wlsmacpro:~ wstearns$ sudo port install ffmpeg-upstream ---> Computing dependencies for ffmpeg-upstream ---> Fetching archive for ffmpeg-upstream ---> Attempting to fetch ffmpeg-upstream-6.0_0+gpl2.darwin_21.x86_64.tbz2 from https://packages.macports.org/ffmpeg-upstream ---> Attempting to fetch ffmpeg-upstream-6.0_0+gpl2.darwin_21.x86_64.tbz2.rmd160 from https://packages.macports.org/ffmpeg-upstream ---> Installing ffmpeg-upstream @6.0_0+gpl2 Warning: libsdl2 must be installed without +x11. ---> Activating ffmpeg-upstream @6.0_0+gpl2 ---> Cleaning ffmpeg-upstream ---> Scanning binaries for linking errors ...

comment:4 Changed 19 months ago by william-stearns (William Stearns)

Apologies: "Which successfully compiled" is incorrect; that should be "which successfully installed." I am finding that there are still broken packages after installing ffmpeg-upstream (though not all are necessarily related to ffmpeg):

---> Found 9 broken ports, determining rebuild order You can always run 'port rev-upgrade' again to fix errors. The following ports will be rebuilt:

FreeRDP @2.7.0+docs ettercap @0.8.3.1+gtk+plugins chromaprint @1.5.1 gegl-0.3 @0.3.34+x11 gegl @0.4.44+vala+x11 libextractor @1.11 strigi @0.7.8 gnome-settings-daemon @3.26.2 qt513-qtimageformats @5.13.2

Changed 18 months ago by townba (Brad Town)

Patch based on upstream commit 031f1561cd286596cdb374da32f8aa816ce3b135

comment:5 Changed 18 months ago by townba (Brad Town)

This was fixed in an upstream commit: https://gitlab.com/1480c1/FFmpeg/-/commit/031f1561cd286596cdb374da32f8aa816ce3b135

I was having the same problem. I created a test patch based on that commit and the build succeeded.

comment:6 Changed 18 months ago by mascguy (Christopher Nielsen)

Cc: SchmollTroll added

comment:7 Changed 18 months ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In bda0629599e0a51904a1781acdeba7c98100325c/macports-ports (master):

ffmpeg/ffmpeg-devel: patch for compressed_ten_bit_format build error
Fixes: #67327

comment:8 Changed 18 months ago by mascguy (Christopher Nielsen)

Users, please wait at least four hours, and then run sudo port selfupdate to pull down the fix. Then run sudo port clean ffmpeg, and finally, retry installation/upgrading.

Please let us know if this fixes your issue!

comment:9 Changed 18 months ago by william-stearns (William Stearns)

After uninstalling ffmpeg-upstream I was able to install ffmpeg. A number of packages that appeared to depend upon ffpmeg also appear to be going in fine now. Thanks you so much for your work on this!

comment:10 in reply to:  9 Changed 18 months ago by mascguy (Christopher Nielsen)

Replying to william-stearns:

After uninstalling ffmpeg-upstream I was able to install ffmpeg. A number of packages that appeared to depend upon ffpmeg also appear to be going in fine now. Thanks you so much for your work on this!

You bet!

Oh, we recently segregated ffmpeg-upstream, so that it can be installed alongside ffmpeg. The only difference is that the executables have a suffix with the major version number, so they are accessed via ffmpeg6, ffplay6, etc.

Note: See TracTickets for help on using tickets.