Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 917591 - media-video/handbrake-1.7.0 version bump
Summary: media-video/handbrake-1.7.0 version bump
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 878899
  Show dependency tree
 
Reported: 2023-11-19 11:15 UTC by David Duchesne
Modified: 2024-03-31 21:33 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
handbrake-1.7.0.ebuild (handbrake-1.7.0.ebuild,3.59 KB, text/plain)
2023-11-21 03:18 UTC, Gino McCarty
Details
handbrake-1.7.0.ebuild (handbrake-1.7.0.ebuild,3.57 KB, text/plain)
2023-11-21 03:36 UTC, Gino McCarty
Details
Latest (March 2024) 1.7.x proposed .ebuild (handbrake-1.7.3.ebuild,3.58 KB, application/vnd.gentoo.ebuild)
2024-03-02 15:24 UTC, Iade Gesso
Details
Comment 9 error log (build_log.1.7.3.txt,47.89 KB, text/plain)
2024-03-17 20:15 UTC, Iade Gesso
Details
Comment 9: emerge --info =media-video/handbrake-1.7.3 (emerge.info.1.7.3.txt,14.98 KB, text/plain)
2024-03-17 20:18 UTC, Iade Gesso
Details
media-video/handbrake-1.7.3.ebuild (handbrake-1.7.3.ebuild,3.57 KB, text/plain)
2024-03-18 14:24 UTC, mehw
Details
media-video/handbrake-1.7.3: custom user's patch x265_api_query-libhb-fix.patch (x265_api_query-libhb-fix.patch,399 bytes, patch)
2024-03-18 14:35 UTC, mehw
Details | Diff
media-video/handbrake-1.7.3: custom user's patch x265_api_query-test-fix.patch (x265_api_query-test-fix.patch,494 bytes, patch)
2024-03-18 14:37 UTC, mehw
Details | Diff
media-video/handbrake-1.7.3: custom user's patch build-contrib-include-directory-fix.patch (build-contrib-include-directory-fix.patch,415 bytes, patch)
2024-03-18 14:38 UTC, mehw
Details | Diff
media-video/handbrake-1.7.3: custom user's patch libdovi-ld.patch (libdovi-ld.patch,740 bytes, patch)
2024-03-20 13:34 UTC, mehw
Details | Diff
1.7.3 ebuild with meson dependency (handbrake-1.7.3-r901.ebuild,3.78 KB, application/vnd.gentoo.ebuild)
2024-03-31 21:33 UTC, Iade Gesso
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Duchesne 2023-11-19 11:15:16 UTC
https://github.com/HandBrake/HandBrake/releases/tag/1.7.0

Please bump, thanks!

Changelog:

General

    Added Apple VideoToolbox hardware presets
    Updated Creator presets
        Disabled interlacing detection and removal; assume creators are working with progressive sources by default
    Updated Social presets
        Target higher quality and frame rate over shorter durations, without interlacing detection and removal
        Better suited for modern social sharing of short live action clips and screen/game captures
    Removed Email presets in favor of revised Social presets
        Please stop sending videos via email or use the new Social presets
    Miscellaneous bug fixes and improvements

Video

    Added AMD VCN AV1 encoder
    Added NVIDIA NVENC AV1 encoder
    Added support for SVT-AV1 multi-pass ABR mode
    Added support for preserving ambient viewing enviroment metadata
    Added QSV Rotate and Format filters
    Improved performance on arm64 / aarch64 / Apple Silicon architectures
        Latest FFmpeg provides faster HEVC decoding, 30% faster bwdif filter
        New SVT-AV1 assembly optimizations provide up to 4x increase in performance
    Improved video conversion speed by removing unneeded frame copies for better memory efficiency
    Improved Dolby Vision dynamic range metadata pass through
        Supported encoders: x265 10-bit
        Supported profiles and cross-compatibility IDs: 8.4, 8.1, 7.6 (base layer only, converted to 8.1), 5.0
    Improved HDR10+ dynamic range metadata pass through
        Supported encoders: x265 10-bit, SVT-AV1
    Improved QSV support on Linux (#4958)
    Updated NVENC to not use multi-pass by default; user configurable advanced option
    Renamed 2-pass encode option to multi-pass (#5019)
    Fixed Intel QSV encoder outputting green video in some cases (#4842, #4876)
    Fixed pixel format conversion slightly altering colors when using a 10-bit hardware encoder (#5011)
    Fixed scan failures by using swscale instead of zscale when source resolution is not mod 2
    Fixed incorrect PAR when reading from an anamorphic AV1 video track
    Removed an artificial bitrate limit on VP9 CQ mode

Command line interface

    Renamed --two-pass to --multi-pass and --no-two-pass to --no-multi-pass, removed -2 (#5019)
    Fixed automatic cropping enabled despite using preset with cropping disabled (#5055)

Audio

    Fixed low volume level when downmixing ac3 and eac3
    Fixed left-only and right-only mono mixdowns (#3533, #5054)

Subtitles

    Fixed locale settings potentially causing incorrect decimal separator in SSA headers
    Fixed a potential issue affecting zero-duration subtitles

Build system

    Added Meson build system for the Linux GUI

Third-party libraries

    New libraries
        libdovi 3.2.0 (Dolby Vision dynamic range metadata)
    Updated libraries
        AMF 1.4.30 (AMD VCN video encoding)
        FFmpeg 6.1 (decoding and filters)
        FreeType 2.13.2 (subtitles)
        Fribidi 1.0.13 (subtitles)
        HarfBuzz 8.2.2 (subtitles)
        libass 0.17.1 (subtitles)
        libdav1d 1.3.0 (AV1 video decoding)
        liblzma (xz) 5.4.5 (LZMA video decoding, e.g. TIFF)
        libopus 1.4 (Opus audio encoding)
        libjpeg-turbo 3.0.1 (preview image compression)
        libvpx 1.13.1 (VP8/VP9 video encoding)
        libxml 2.11.5 (general)
        oneVPL 2023.3.1 (Intel QSV video encoding/decoding)
        SVT-AV1 1.7 (AV1 video encoding)
        x264 164 r3107 (H.264/AVC video encoding)
        x265 r12776 (H.265/HEVC video encoding)
        zimg 3.0.5 (color conversion)
        zlib 1.3 (general)

Linux

    Added drag and drop support for video scanning
    Added support for native file choosers via xdg-desktop-portal
    Added Queue > Add All menu option
    Added XML chapter import and export
    Added bit depth and HDR information to video summary
    Added option to pause encoding when switching to battery power or when power save mode is activated
    Added automatic file naming options: {codec} {bit-depth} {width} {height} {modification-date} {modification-time}
    Updated Queue, Activity, and Presets windows to no longer float on top of the main window
    Updated existing translations
    Removed obsolete update checker
    Miscellaneous bug fixes and improvements


Reproducible: Always
Comment 1 Gino McCarty 2023-11-21 02:35:54 UTC
add gtk4 flag while your at it.

also looks like allot of deps aren't in tree yet, will probably take a while.
Comment 2 Gino McCarty 2023-11-21 03:18:56 UTC
Created attachment 875262 [details]
handbrake-1.7.0.ebuild
Comment 3 Gino McCarty 2023-11-21 03:36:01 UTC
Created attachment 875263 [details]
handbrake-1.7.0.ebuild

once ffmpeg 6.1 lands in tree I will be able to finish testing

also found some bugs in previous build version
Comment 4 Iade Gesso 2024-01-04 19:59:18 UTC
(In reply to Gino McCarty from comment #3)
> Created attachment 875263 [details]
> handbrake-1.7.0.ebuild
> 
> once ffmpeg 6.1 lands in tree I will be able to finish testing
> 
> also found some bugs in previous build version

I think two big problems come from
 - x265 library: I cannot find r12776 "version"
 - the libdovi library that isn't in the portage tree

Without the former I'm not able to build 1.7.x branch.


Iade
Comment 5 Iade Gesso 2024-01-07 19:50:55 UTC
(In reply to Iade Gesso from comment #4)
> (In reply to Gino McCarty from comment #3)
> > Created attachment 875263 [details]
> > handbrake-1.7.0.ebuild
> > 
> > once ffmpeg 6.1 lands in tree I will be able to finish testing
> > 
> > also found some bugs in previous build version
> 
> I think two big problems come from
>  - x265 library: I cannot find r12776 "version"
>  - the libdovi library that isn't in the portage tree
> 
> Without the former I'm not able to build 1.7.x branch.
> 
> 
> Iade

UPDATE

Even installing x265-9999 and disabling dolby use flag, I cannot build Handbrake 1.7.x due to some error related to x265 (I will post the error after my system will finish to rebuild all the installed packages).
Comment 6 Iade Gesso 2024-03-02 15:20:41 UTC
(In reply to Iade Gesso from comment #5)
> (In reply to Iade Gesso from comment #4)
> > (In reply to Gino McCarty from comment #3)
> > > Created attachment 875263 [details]
> > > handbrake-1.7.0.ebuild
> > > 
> > > once ffmpeg 6.1 lands in tree I will be able to finish testing
> > > 
> > > also found some bugs in previous build version
> > 
> > I think two big problems come from
> >  - x265 library: I cannot find r12776 "version"
> >  - the libdovi library that isn't in the portage tree
> > 
> > Without the former I'm not able to build 1.7.x branch.
> > 
> > 
> > Iade
> 
> UPDATE
> 
> Even installing x265-9999 and disabling dolby use flag, I cannot build
> Handbrake 1.7.x due to some error related to x265 (I will post the error
> after my system will finish to rebuild all the installed packages).

UPDATE 2:

I just created an ebuild for libdovi. You can find it in my small overlay: https://github.com/iadegesso/howl-gentoo-overlay 

Anyway, even with HandBrake 1.7.3 the build process dies for a mismatching data structure in x265 code... I'm not able to find where I could get the x265 r12776 source code...
Comment 7 Iade Gesso 2024-03-02 15:24:01 UTC
Created attachment 886545 [details]
Latest (March 2024) 1.7.x proposed .ebuild
Comment 8 mehw 2024-03-05 15:20:08 UTC
(In reply to Iade Gesso from comment #6)
> (In reply to Iade Gesso from comment #5)
> > (In reply to Iade Gesso from comment #4)
> > > (In reply to Gino McCarty from comment #3)
> > > > Created attachment 875263 [details]
> > > > handbrake-1.7.0.ebuild
> > > > 
> > > > once ffmpeg 6.1 lands in tree I will be able to finish testing
> > > > 
> > > > also found some bugs in previous build version
> > > 
> > > I think two big problems come from
> > >  - x265 library: I cannot find r12776 "version"
> > >  - the libdovi library that isn't in the portage tree
> > > 
> > > Without the former I'm not able to build 1.7.x branch.
> > > 
> > > 
> > > Iade
> > 
> > UPDATE
> > 
> > Even installing x265-9999 and disabling dolby use flag, I cannot build
> > Handbrake 1.7.x due to some error related to x265 (I will post the error
> > after my system will finish to rebuild all the installed packages).
> 
> UPDATE 2:
> 
> I just created an ebuild for libdovi. You can find it in my small overlay:
> https://github.com/iadegesso/howl-gentoo-overlay 
> 
> Anyway, even with HandBrake 1.7.3 the build process dies for a mismatching
> data structure in x265 code... I'm not able to find where I could get the
> x265 r12776 source code...

You may need to apply HandBrake's own contrib patches to both media-libs/x265 and media-video/ffmepg (more about this below), and then rebuild x265 and ffmpeg before handbrake.  I rebuilt also media-libs/libheif (no custom patches needed, though).

NOTE: HandBrake 1.7.3 seems to be not ready yet to support GTK4 (aka 'gtk4' use flag).


=media-libs/x265-3.5-r3::gentoo + HandBrake's own contrib patches
=media-video/ffmpeg-6.1.1-r4::gentoo + HandBrake's own contrib patches

Gentoo's user patches wiki: https://wiki.gentoo.org/wiki//etc/portage/patches

https://github.com/HandBrake/HandBrake/releases/download/1.7.3/HandBrake-1.7.3-source.tar.bz2

Put
HandBrake-1.7.3/contrib/x265/A04-ambient-viewing-enviroment-sei.patch
in
/etc/portage/patches/media-libs/x265-3.5

The above patch requires to strip two elements, i.e. `patch -p2 < ...`.  You may need to edit the patch and change:
- all ' a/source/' in ' a/'
- all ' b/source/' in ' b/'

Put
HandBrake-1.7.3/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment-packet-side-.patch
HandBrake-1.7.3/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient-viewing-en.patch
in
/etc/portage/patches/media-video/ffmpeg-6.1.1

Rebuild both x265 and ffmpeg (I also rebuilt libheif).


handbrake-1.7.3.ebuild by Iade Gesso: https://bugs.gentoo.org/attachment.cgi?id=886545

# emerge -v --info handbrake
...
media-video/handbrake-1.7.3::localrepo was built with the following:
USE="fdk gstreamer gtk3 numa nvenc x265 -dolby -gtk4" ABI_X86="(64)
...


Compiling with the 'dolby' use flag enabled (aka media-libs/libdovi), I get 'undefined reference' errors:

=media-libs/libdovi-3.2.0: https://github.com/iadegesso/howl-gentoo-overlay/tree/master/media-libs/libdovi

/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: ./libhb/libhandbrake.a(rpu.o): in function `rpu_work':
rpu.c:(.text+0xea): undefined reference to `dovi_parse_unspec62_nalu'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x13d): undefined reference to `dovi_rpu_free'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x1e5): undefined reference to `dovi_write_unspec62_nalu'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x249): undefined reference to `dovi_data_free'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x25d): undefined reference to `dovi_rpu_get_vdr_dm_data'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x357): undefined reference to `dovi_rpu_set_active_area_offsets'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x36d): undefined reference to `dovi_rpu_free_vdr_dm_data'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x385): undefined reference to `dovi_rpu_get_header'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x39a): undefined reference to `dovi_rpu_free_header'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: rpu.c:(.text+0x40e): undefined reference to `dovi_convert_rpu_with_mode'


Thanks,
- mehw
Comment 9 Iade Gesso 2024-03-17 20:14:51 UTC
(In reply to mehw from comment #8)
> (In reply to Iade Gesso from comment #6)
> > (In reply to Iade Gesso from comment #5)
> > > (In reply to Iade Gesso from comment #4)
> > > > (In reply to Gino McCarty from comment #3)
> > > > > Created attachment 875263 [details]
> > > > > handbrake-1.7.0.ebuild
> > > > > 
> > > > > once ffmpeg 6.1 lands in tree I will be able to finish testing
> > > > > 
> > > > > also found some bugs in previous build version
> > > > 
> > > > I think two big problems come from
> > > >  - x265 library: I cannot find r12776 "version"
> > > >  - the libdovi library that isn't in the portage tree
> > > > 
> > > > Without the former I'm not able to build 1.7.x branch.
> > > > 
> > > > 
> > > > Iade
> > > 
> > > UPDATE
> > > 
> > > Even installing x265-9999 and disabling dolby use flag, I cannot build
> > > Handbrake 1.7.x due to some error related to x265 (I will post the error
> > > after my system will finish to rebuild all the installed packages).
> > 
> > UPDATE 2:
> > 
> > I just created an ebuild for libdovi. You can find it in my small overlay:
> > https://github.com/iadegesso/howl-gentoo-overlay 
> > 
> > Anyway, even with HandBrake 1.7.3 the build process dies for a mismatching
> > data structure in x265 code... I'm not able to find where I could get the
> > x265 r12776 source code...
> 
> You may need to apply HandBrake's own contrib patches to both
> media-libs/x265 and media-video/ffmepg (more about this below), and then
> rebuild x265 and ffmpeg before handbrake.  I rebuilt also media-libs/libheif
> (no custom patches needed, though).
> 
> NOTE: HandBrake 1.7.3 seems to be not ready yet to support GTK4 (aka 'gtk4'
> use flag).
> 
> 
> =media-libs/x265-3.5-r3::gentoo + HandBrake's own contrib patches
> =media-video/ffmpeg-6.1.1-r4::gentoo + HandBrake's own contrib patches
> 
> Gentoo's user patches wiki: https://wiki.gentoo.org/wiki//etc/portage/patches
> 
> https://github.com/HandBrake/HandBrake/releases/download/1.7.3/HandBrake-1.7.
> 3-source.tar.bz2
> 
> Put
> HandBrake-1.7.3/contrib/x265/A04-ambient-viewing-enviroment-sei.patch
> in
> /etc/portage/patches/media-libs/x265-3.5
> 
> The above patch requires to strip two elements, i.e. `patch -p2 < ...`.  You
> may need to edit the patch and change:
> - all ' a/source/' in ' a/'
> - all ' b/source/' in ' b/'
> 
> Put
> HandBrake-1.7.3/contrib/ffmpeg/A14-avcodec-add-ambient-viewing-environment-
> packet-side-.patch
> HandBrake-1.7.3/contrib/ffmpeg/A15-avformat-mov-add-support-for-amve-ambient-
> viewing-en.patch
> in
> /etc/portage/patches/media-video/ffmpeg-6.1.1
> 
> Rebuild both x265 and ffmpeg (I also rebuilt libheif).
> 
> 
> handbrake-1.7.3.ebuild by Iade Gesso:
> https://bugs.gentoo.org/attachment.cgi?id=886545
> 
> # emerge -v --info handbrake
> ...
> media-video/handbrake-1.7.3::localrepo was built with the following:
> USE="fdk gstreamer gtk3 numa nvenc x265 -dolby -gtk4" ABI_X86="(64)
> ...
> 
> 
> Compiling with the 'dolby' use flag enabled (aka media-libs/libdovi), I get
> 'undefined reference' errors:
> 
> =media-libs/libdovi-3.2.0:
> https://github.com/iadegesso/howl-gentoo-overlay/tree/master/media-libs/
> libdovi
> 
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> ./libhb/libhandbrake.a(rpu.o): in function `rpu_work':
> rpu.c:(.text+0xea): undefined reference to `dovi_parse_unspec62_nalu'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x13d): undefined reference to `dovi_rpu_free'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x1e5): undefined reference to `dovi_write_unspec62_nalu'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x249): undefined reference to `dovi_data_free'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x25d): undefined reference to `dovi_rpu_get_vdr_dm_data'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x357): undefined reference to
> `dovi_rpu_set_active_area_offsets'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x36d): undefined reference to `dovi_rpu_free_vdr_dm_data'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x385): undefined reference to `dovi_rpu_get_header'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x39a): undefined reference to `dovi_rpu_free_header'
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> rpu.c:(.text+0x40e): undefined reference to `dovi_convert_rpu_with_mode'
> 
> 
> Thanks,
> - mehw

Hi,
in my case, after patching x265 and ffmpeg (and rebuilt them correctly), I get the following error (full trace in the attachments):

 > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: ./libhb/libhandbrake.a(common.o): undefined reference to symbol 'x265_api_query'
 > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libx265.so.199: error adding symbols: DSO missing from command line
 > collect2: error: ld returned 1 exit status
 > make: *** [../test/module.rules:49: HandBrakeCLI] Error 1
 > make: Leaving directory '/tmp/portage/media-video/handbrake-1.7.3-r900/work/HandBrake-1.7.3/build'


Iade
Comment 10 Iade Gesso 2024-03-17 20:15:27 UTC
Created attachment 887851 [details]
Comment 9 error log
Comment 11 Iade Gesso 2024-03-17 20:18:03 UTC
Created attachment 887852 [details]
Comment 9: emerge --info =media-video/handbrake-1.7.3
Comment 12 mehw 2024-03-18 14:16:40 UTC
(In reply to Iade Gesso from comment #9)
> Hi,
> in my case, after patching x265 and ffmpeg (and rebuilt them correctly), I
> get the following error (full trace in the attachments):
> 
>  >
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> ./libhb/libhandbrake.a(common.o): undefined reference to symbol
> 'x265_api_query'
>  >
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> /usr/lib64/libx265.so.199: error adding symbols: DSO missing from command
> line
>  > collect2: error: ld returned 1 exit status
>  > make: *** [../test/module.rules:49: HandBrakeCLI] Error 1
>  > make: Leaving directory
> '/tmp/portage/media-video/handbrake-1.7.3-r900/work/HandBrake-1.7.3/build'
> 
> 
> Iade

Hi,

What .ebuild are you using?

Are you compiling with `ebuild handbrake-*.ebuild compile` or with `emerge -v --ask handbrake`?  If you are using the former, you might miss some dependencies, or not enforcing the right versions...

In your error.log there's no '-lx265', which is a requirement for 'x265_api_query', also the 'x265' use flag needs to be enabled along with 'numa' (.ebuild: REQUIRED_USE="numa? ( x265 )"):

/usr/bin/g++ -pipe -Wl,-S -Wl,-O1 -Wl,--as-needed -fmessage-length=0 -Wall -Wno-format-truncation -g0 -O3 -mfpmath=sse -msse2 -O2 -pipe -march=haswell -msse4 -msse4.1 -msse4.2 -mcx16 -fomit-frame-pointer -mfpmath=sse -fno-lto -msahf -f\
stack-protector-strong -D_FORTIFY_SOURCE=2 -I./libhb/ -Iinclude -I/usr/include/libxml2 -o HandBrakeCLI -Wl,--start-group test/parsecsv.o test/test.o ./libhb/libhandbrake.a -Llib -lass -lavformat -lavfilter -lavcodec -lavutil -lswresamp\
le -lpostproc -lmp3lame -ldvdnav -ldvdread -lfribidi -lswscale -lvpx -ltheoraenc -ltheoradec -lvorbis -lvorbisenc -logg -lx264 -lbluray -lfreetype -lxml2 -lbz2 -lz -ljansson -lharfbuzz -lopus -lspeex -llzma -ldav1d -lturbojpeg -lzimg -\
lSvtAv1Enc -lfontconfig -lpthread -ldl -lm -lnuma -Wl,--end-group

Could you please check the following:

$ equery depends x265
 * These packages depend on x265:
...
media-video/handbrake-1.7.3 (x265 ? >=media-libs/x265-3.5-r2[10bit,12bit,numa?])
...

$ scanelf -l -s x265_api_query | grep x265_api_query
ET_DYN x265_api_query /usr/lib64/libx265.so.199 
ET_DYN x265_api_query /usr/lib/libx265.so.199


Also, in your error.log I see:

/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libSvtAv1Enc.so.1, needed by /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libavcodec.so, may conflict with libSvtAv1Enc.so.2

Could you please also try these:

$ eix -Ic media-libs/svt-av1
[I] media-libs/svt-av1 (2.0.0-r100(0/2){tbz2}[1]@03/15/2024): Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder)
[1] "stefantalpalaru" /var/db/repos/stefantalpalaru

$ ls /usr/lib*/libSvtAv1*
/usr/lib64/libSvtAv1Dec.so
/usr/lib64/libSvtAv1Dec.so.0
/usr/lib64/libSvtAv1Dec.so.0.8.7
/usr/lib64/libSvtAv1Enc.so
/usr/lib64/libSvtAv1Enc.so.2
/usr/lib64/libSvtAv1Enc.so.2.0.0

PS: You might need to install >=media-libs/svt-av1-1.7 from the "stefantalpalaru" overlay.


Let us know, thanks.
Comment 13 mehw 2024-03-18 14:24:06 UTC
Created attachment 887875 [details]
media-video/handbrake-1.7.3.ebuild

Remember to apply HandBrake's contrib patches to media-video/ffmpeg and media-libs/x265 when compiling >=media-video/handbrake-1.7.0: https://bugs.gentoo.org/917591#c8
Comment 14 mehw 2024-03-18 14:35:25 UTC
Created attachment 887876 [details, diff]
media-video/handbrake-1.7.3: custom user's patch x265_api_query-libhb-fix.patch

Put custom user's patches in '/etc/portage/patches/media-video/handbrake-1.7.3' when using the attached media-video/handbrake-1.7.3.ebuild: https://bugs.gentoo.org/attachment.cgi?id=887875

Please, also read the comments inside all .patch files.
Comment 15 mehw 2024-03-18 14:37:23 UTC
Created attachment 887877 [details, diff]
media-video/handbrake-1.7.3: custom user's patch x265_api_query-test-fix.patch
Comment 16 mehw 2024-03-18 14:38:46 UTC
Created attachment 887878 [details, diff]
media-video/handbrake-1.7.3: custom user's patch build-contrib-include-directory-fix.patch
Comment 17 Iade Gesso 2024-03-19 20:30:13 UTC
(In reply to mehw from comment #12)
> (In reply to Iade Gesso from comment #9)
> > Hi,
> > in my case, after patching x265 and ffmpeg (and rebuilt them correctly), I
> > get the following error (full trace in the attachments):
> > 
> >  >
> > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> > ./libhb/libhandbrake.a(common.o): undefined reference to symbol
> > 'x265_api_query'
> >  >
> > /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> > /usr/lib64/libx265.so.199: error adding symbols: DSO missing from command
> > line
> >  > collect2: error: ld returned 1 exit status
> >  > make: *** [../test/module.rules:49: HandBrakeCLI] Error 1
> >  > make: Leaving directory
> > '/tmp/portage/media-video/handbrake-1.7.3-r900/work/HandBrake-1.7.3/build'
> > 
> > 
> > Iade
> 
> Hi,
> 
> What .ebuild are you using?
> 
> Are you compiling with `ebuild handbrake-*.ebuild compile` or with `emerge
> -v --ask handbrake`?  If you are using the former, you might miss some
> dependencies, or not enforcing the right versions...
> 
> In your error.log there's no '-lx265', which is a requirement for
> 'x265_api_query', also the 'x265' use flag needs to be enabled along with
> 'numa' (.ebuild: REQUIRED_USE="numa? ( x265 )"):
> 
> /usr/bin/g++ -pipe -Wl,-S -Wl,-O1 -Wl,--as-needed -fmessage-length=0 -Wall
> -Wno-format-truncation -g0 -O3 -mfpmath=sse -msse2 -O2 -pipe -march=haswell
> -msse4 -msse4.1 -msse4.2 -mcx16 -fomit-frame-pointer -mfpmath=sse -fno-lto
> -msahf -f\
> stack-protector-strong -D_FORTIFY_SOURCE=2 -I./libhb/ -Iinclude
> -I/usr/include/libxml2 -o HandBrakeCLI -Wl,--start-group test/parsecsv.o
> test/test.o ./libhb/libhandbrake.a -Llib -lass -lavformat -lavfilter
> -lavcodec -lavutil -lswresamp\
> le -lpostproc -lmp3lame -ldvdnav -ldvdread -lfribidi -lswscale -lvpx
> -ltheoraenc -ltheoradec -lvorbis -lvorbisenc -logg -lx264 -lbluray
> -lfreetype -lxml2 -lbz2 -lz -ljansson -lharfbuzz -lopus -lspeex -llzma
> -ldav1d -lturbojpeg -lzimg -\
> lSvtAv1Enc -lfontconfig -lpthread -ldl -lm -lnuma -Wl,--end-group
> 
> Could you please check the following:
> 
> $ equery depends x265
>  * These packages depend on x265:
> ...
> media-video/handbrake-1.7.3 (x265 ?
> >=media-libs/x265-3.5-r2[10bit,12bit,numa?])
> ...
> 
> $ scanelf -l -s x265_api_query | grep x265_api_query
> ET_DYN x265_api_query /usr/lib64/libx265.so.199 
> ET_DYN x265_api_query /usr/lib/libx265.so.199
> 
> 
> Also, in your error.log I see:
> 
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld:
> warning: libSvtAv1Enc.so.1, needed by
> /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../lib64/libavcodec.so, may
> conflict with libSvtAv1Enc.so.2
> 
> Could you please also try these:
> 
> $ eix -Ic media-libs/svt-av1
> [I] media-libs/svt-av1 (2.0.0-r100(0/2){tbz2}[1]@03/15/2024): Scalable Video
> Technology for AV1 (SVT-AV1 Encoder and Decoder)
> [1] "stefantalpalaru" /var/db/repos/stefantalpalaru
> 
> $ ls /usr/lib*/libSvtAv1*
> /usr/lib64/libSvtAv1Dec.so
> /usr/lib64/libSvtAv1Dec.so.0
> /usr/lib64/libSvtAv1Dec.so.0.8.7
> /usr/lib64/libSvtAv1Enc.so
> /usr/lib64/libSvtAv1Enc.so.2
> /usr/lib64/libSvtAv1Enc.so.2.0.0
> 
> PS: You might need to install >=media-libs/svt-av1-1.7 from the
> "stefantalpalaru" overlay.
> 
> 
> Let us know, thanks.

Hi,
I already patched both x265 and ffmpeg, and I have svt-av1-2.0.0 installed from xarblu-overlay.
I emerge the package using emerge -q handbrake, and the ebuild I use is your own for 1.7.0 version renamed into handbrake-1.7.3.ebuild

I will try your latest patches.


Iade
Comment 18 mehw 2024-03-19 22:10:25 UTC
(In reply to Iade Gesso from comment #17)

> Hi,
> I already patched both x265 and ffmpeg, and I have svt-av1-2.0.0 installed
> from xarblu-overlay.
> I emerge the package using emerge -q handbrake, and the ebuild I use is your
> own for 1.7.0 version renamed into handbrake-1.7.3.ebuild
> 
> I will try your latest patches.
> 
> 
> Iade

Your follow-up is much appreciated. Thank you.
Comment 19 Iade Gesso 2024-03-19 22:12:23 UTC
(In reply to mehw from comment #18)
> (In reply to Iade Gesso from comment #17)
> 
> > Hi,
> > I already patched both x265 and ffmpeg, and I have svt-av1-2.0.0 installed
> > from xarblu-overlay.
> > I emerge the package using emerge -q handbrake, and the ebuild I use is your
> > own for 1.7.0 version renamed into handbrake-1.7.3.ebuild
> > 
> > I will try your latest patches.
> > 
> > 
> > Iade
> 
> Your follow-up is much appreciated. Thank you.

Ok, now it builds, but only using gtk3 use flag (with gtk4 it builds but not installs) and disabling dolby use flag. I will test the dolby use flag soon.


Thanks,

Iade
Comment 20 mehw 2024-03-20 13:34:23 UTC
Created attachment 887993 [details, diff]
media-video/handbrake-1.7.3: custom user's patch libdovi-ld.patch

(In reply to Iade Gesso from comment #19)
> Ok, now it builds, but only using gtk3 use flag (with gtk4 it builds but not
> installs) and disabling dolby use flag. I will test the dolby use flag soon.
> 
> 
> Thanks,
> 
> Iade

About the 'dolby' use flag, you may need the attached libdovi-ld.patch, since '-ldovi' is required to compile properly.

Also, HandBrake v1.7.3 seems to be not ready yet to support GTK4.

make/configure.py:1414:
    # Option hidden as GUI is not currently buildable with GTK4                                                                                                                                                                             
    grp.add_argument( '--enable-gtk4', default=False, action='store_true', help=argparse.SUPPRESS )
Comment 21 Iade Gesso 2024-03-20 21:16:14 UTC
(In reply to mehw from comment #20)
> Created attachment 887993 [details, diff] [details, diff]
> media-video/handbrake-1.7.3: custom user's patch libdovi-ld.patch
> 
> (In reply to Iade Gesso from comment #19)
> > Ok, now it builds, but only using gtk3 use flag (with gtk4 it builds but not
> > installs) and disabling dolby use flag. I will test the dolby use flag soon.
> > 
> > 
> > Thanks,
> > 
> > Iade
> 
> About the 'dolby' use flag, you may need the attached libdovi-ld.patch,
> since '-ldovi' is required to compile properly.
> 
> Also, HandBrake v1.7.3 seems to be not ready yet to support GTK4.
> 
> make/configure.py:1414:
>     # Option hidden as GUI is not currently buildable with GTK4             
> 
>     grp.add_argument( '--enable-gtk4', default=False, action='store_true',
> help=argparse.SUPPRESS )

Ok, it works!

Thanks.

Iade
Comment 22 mehw 2024-03-21 00:55:03 UTC
(In reply to Iade Gesso from comment #21)

> Ok, it works!
> 
> Thanks.
> 
> Iade

You're welcome ;)
Comment 23 Eli Schwartz 2024-03-31 17:42:17 UTC
https://github.com/HandBrake/HandBrake/commit/ba6c1c1636329d74184dec9a71666a3be166d932 indicates this will need meson as well in order to build the gui.
Comment 24 Iade Gesso 2024-03-31 20:35:38 UTC
(In reply to Eli Schwartz from comment #23)
> https://github.com/HandBrake/HandBrake/commit/
> ba6c1c1636329d74184dec9a71666a3be166d932 indicates this will need meson as
> well in order to build the gui.

Ok, but the GUI issue is only if I try to build it using GTK4... otherwise, if I stay with GTK3 the GUI is build correctly.

Anyway, I will add the missing meson dependency to the experimental .ebuild file.


Iade
Comment 25 Iade Gesso 2024-03-31 21:33:20 UTC
Created attachment 889164 [details]
1.7.3 ebuild with meson dependency