Opened 4 years ago

Closed 4 years ago

#60947 closed defect (fixed)

ffmpeg: can't build +universal since dependency on dav1d was added and has no universal variant

Reported by: kencu (Ken) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: ctreleaven (Craig Treleaven), iEFdev
Port: ffmpeg

Description

We are going to need a new plan for this:

--->  Computing dependencies for ffmpeg.
Error: Cannot install ffmpeg for the archs 'i386 x86_64' because
Error: its dependency dav1d does not build for the required archs by default
Error: and does not have a universal variant.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

Change History (18)

comment:1 in reply to:  description Changed 4 years ago by iEFdev

Replying to kencu:

We are going to need a new plan for this:

Would this approach be better?

# Dav1d does not have a universal variant
if {![variant_isset universal]} {
    depends_lib-append     port:dav1d
    configure.args-append --enable-libdav1d
}
Last edited 4 years ago by iEFdev (previous) (diff)

comment:2 Changed 4 years ago by iEFdev

Cc: iEFdev added

comment:3 Changed 4 years ago by kencu (Ken)

that looks like it would do the trick.

I wonder what would be involved to make davld build universal?

comment:4 Changed 4 years ago by kencu (Ken)

Summary: ffmpeg: can't build +universal since dependency on dav1d was added and has no universal variantffmpeg: can't build +universal since dependency on davld was added and has no universal variant

comment:5 in reply to:  3 ; Changed 4 years ago by iEFdev

Replying to kencu:

that looks like it would do the trick.

I've made the change and will push it now.

I wonder what would be involved to make davld build universal?

Portfile only says:

# fails attempting to build for i386 due to sse2 code
universal_variant   no

comment:6 Changed 4 years ago by kencu (Ken)

Summary: ffmpeg: can't build +universal since dependency on davld was added and has no universal variantffmpeg: can't build +universal since dependency on dav1d was added and has no universal variant

comment:7 Changed 4 years ago by kencu (Ken)

I think you are right that we don't need another revbump -- anybody trying to build universal just failed. And it takes so d*mn long to build this port .. :>

comment:8 in reply to:  5 Changed 4 years ago by ctreleaven (Craig Treleaven)

Replying to iEFdev:

Replying to kencu:

that looks like it would do the trick.

I've made the change and will push it now.

I wonder what would be involved to make davld build universal?

Portfile only says:

# fails attempting to build for i386 due to sse2 code
universal_variant   no

When I was working on the dav1d port, I didn't spend a lot of time on whether it would build universal. However, the log where it failed on the 10.6_i386 builder is still online at:

https://build.macports.org/builders/ports-10.6_i386-builder/builds/14433/steps/install-port/logs/stdio

In case it gets purged, the last bit of the log says:

[96/98] /opt/local/bin/clang-mp-9.0  -o src/libdav1d.4.dylib 'src/25a6634@@dav1d@sha/cpuid.obj' 'src/25a6634@@dav1d@sha/msac.obj' 'src/25a6634@@dav1d@sha/cdef_avx512.obj' 'src/25a6634@@dav1d@sha/cdef_avx2.obj' 'src/25a6634@@dav1d@sha/film_grain.obj' 'src/25a6634@@dav1d@sha/ipred.obj' 'src/25a6634@@dav1d@sha/itx.obj' 'src/25a6634@@dav1d@sha/loopfilter.obj' 'src/25a6634@@dav1d@sha/looprestoration.obj' 'src/25a6634@@dav1d@sha/mc.obj' 'src/25a6634@@dav1d@sha/cdef_sse.obj' 'src/25a6634@@dav1d@sha/film_grain_ssse3.obj' 'src/25a6634@@dav1d@sha/ipred_ssse3.obj' 'src/25a6634@@dav1d@sha/itx_ssse3.obj' 'src/25a6634@@dav1d@sha/loopfilter_ssse3.obj' 'src/25a6634@@dav1d@sha/looprestoration_ssse3.obj' 'src/25a6634@@dav1d@sha/mc_sse.obj' 'src/25a6634@@dav1d@sha/cdf.c.o' 'src/25a6634@@dav1d@sha/cpu.c.o' 'src/25a6634@@dav1d@sha/data.c.o' 'src/25a6634@@dav1d@sha/decode.c.o' 'src/25a6634@@dav1d@sha/dequant_tables.c.o' 'src/25a6634@@dav1d@sha/getbits.c.o' 'src/25a6634@@dav1d@sha/intra_edge.c.o' 'src/25a6634@@dav1d@sha/itx_1d.c.o' 'src/25a6634@@dav1d@sha/lf_mask.c.o' 'src/25a6634@@dav1d@sha/log.c.o' 'src/25a6634@@dav1d@sha/msac.c.o' 'src/25a6634@@dav1d@sha/obu.c.o' 'src/25a6634@@dav1d@sha/picture.c.o' 'src/25a6634@@dav1d@sha/qm.c.o' 'src/25a6634@@dav1d@sha/ref.c.o' 'src/25a6634@@dav1d@sha/refmvs.c.o' 'src/25a6634@@dav1d@sha/scan.c.o' 'src/25a6634@@dav1d@sha/tables.c.o' 'src/25a6634@@dav1d@sha/warpmv.c.o' 'src/25a6634@@dav1d@sha/wedge.c.o' 'src/25a6634@@dav1d@sha/x86_cpu.c.o' 'src/25a6634@@dav1d@sha/x86_msac_init.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/cdef_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/cdef_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/fg_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/film_grain_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/ipred_prepare_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/ipred_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/itx_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/lf_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/loopfilter_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/looprestoration_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/lr_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/mc_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/recon_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_cdef_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_film_grain_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_ipred_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_itx_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_loopfilter_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_looprestoration_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_mc_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/cdef_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/cdef_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/fg_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/film_grain_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/ipred_prepare_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/ipred_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/itx_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/lf_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/loopfilter_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/looprestoration_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/lr_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/mc_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/recon_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_cdef_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_film_grain_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_ipred_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_itx_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_loopfilter_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_looprestoration_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_mc_init_tmpl.c.o' 'src/25a6634@@dav1d_entrypoint@sta/lib.c.o' 'src/25a6634@@dav1d_entrypoint@sta/thread_task.c.o' -L/opt/local/lib -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -shared -install_name @rpath/libdav1d.4.dylib -compatibility_version 4 -current_version 4 -pipe -Os -arch i386 -Wl,-headerpad_max_install_names -arch i386
FAILED: src/libdav1d.4.dylib 
/opt/local/bin/clang-mp-9.0  -o src/libdav1d.4.dylib 'src/25a6634@@dav1d@sha/cpuid.obj' 'src/25a6634@@dav1d@sha/msac.obj' 'src/25a6634@@dav1d@sha/cdef_avx512.obj' 'src/25a6634@@dav1d@sha/cdef_avx2.obj' 'src/25a6634@@dav1d@sha/film_grain.obj' 'src/25a6634@@dav1d@sha/ipred.obj' 'src/25a6634@@dav1d@sha/itx.obj' 'src/25a6634@@dav1d@sha/loopfilter.obj' 'src/25a6634@@dav1d@sha/looprestoration.obj' 'src/25a6634@@dav1d@sha/mc.obj' 'src/25a6634@@dav1d@sha/cdef_sse.obj' 'src/25a6634@@dav1d@sha/film_grain_ssse3.obj' 'src/25a6634@@dav1d@sha/ipred_ssse3.obj' 'src/25a6634@@dav1d@sha/itx_ssse3.obj' 'src/25a6634@@dav1d@sha/loopfilter_ssse3.obj' 'src/25a6634@@dav1d@sha/looprestoration_ssse3.obj' 'src/25a6634@@dav1d@sha/mc_sse.obj' 'src/25a6634@@dav1d@sha/cdf.c.o' 'src/25a6634@@dav1d@sha/cpu.c.o' 'src/25a6634@@dav1d@sha/data.c.o' 'src/25a6634@@dav1d@sha/decode.c.o' 'src/25a6634@@dav1d@sha/dequant_tables.c.o' 'src/25a6634@@dav1d@sha/getbits.c.o' 'src/25a6634@@dav1d@sha/intra_edge.c.o' 'src/25a6634@@dav1d@sha/itx_1d.c.o' 'src/25a6634@@dav1d@sha/lf_mask.c.o' 'src/25a6634@@dav1d@sha/log.c.o' 'src/25a6634@@dav1d@sha/msac.c.o' 'src/25a6634@@dav1d@sha/obu.c.o' 'src/25a6634@@dav1d@sha/picture.c.o' 'src/25a6634@@dav1d@sha/qm.c.o' 'src/25a6634@@dav1d@sha/ref.c.o' 'src/25a6634@@dav1d@sha/refmvs.c.o' 'src/25a6634@@dav1d@sha/scan.c.o' 'src/25a6634@@dav1d@sha/tables.c.o' 'src/25a6634@@dav1d@sha/warpmv.c.o' 'src/25a6634@@dav1d@sha/wedge.c.o' 'src/25a6634@@dav1d@sha/x86_cpu.c.o' 'src/25a6634@@dav1d@sha/x86_msac_init.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/cdef_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/cdef_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/fg_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/film_grain_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/ipred_prepare_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/ipred_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/itx_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/lf_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/loopfilter_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/looprestoration_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/lr_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/mc_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/recon_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_cdef_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_film_grain_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_ipred_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_itx_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_loopfilter_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_looprestoration_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_8@sta/x86_mc_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/cdef_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/cdef_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/fg_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/film_grain_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/ipred_prepare_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/ipred_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/itx_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/lf_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/loopfilter_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/looprestoration_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/lr_apply_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/mc_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/recon_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_cdef_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_film_grain_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_ipred_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_itx_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_loopfilter_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_looprestoration_init_tmpl.c.o' 'src/25a6634@@dav1d_bitdepth_16@sta/x86_mc_init_tmpl.c.o' 'src/25a6634@@dav1d_entrypoint@sta/lib.c.o' 'src/25a6634@@dav1d_entrypoint@sta/thread_task.c.o' -L/opt/local/lib -Wl,-dead_strip_dylibs -Wl,-headerpad_max_install_names -Wl,-undefined,error -shared -install_name @rpath/libdav1d.4.dylib -compatibility_version 4 -current_version 4 -pipe -Os -arch i386 -Wl,-headerpad_max_install_names -arch i386
ld: warning: could not create compact unwind for _dav1d_create_lf_mask_inter: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _dav1d_init_wedge_masks: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _dav1d_apply_grain_8bpc: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _inv_txfm_add_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _wiener_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _selfguided_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _selfguided_filter: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _lr_sbrow: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _put_bilin_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _put_bilin_scaled_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _prep_bilin_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _prep_bilin_scaled_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _put_8tap_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _put_8tap_scaled_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _prep_8tap_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _prep_8tap_scaled_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _wiener_filter_sse2: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _wiener_filter_ssse3: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _sgr_filter_ssse3: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _dav1d_sgr_filter1_ssse3: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _dav1d_sgr_filter2_ssse3: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _dav1d_apply_grain_16bpc: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _inv_txfm_add_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _wiener_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _selfguided_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _selfguided_filter: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _lr_sbrow: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _put_bilin_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _put_bilin_scaled_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _prep_bilin_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _prep_bilin_scaled_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _put_8tap_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _put_8tap_scaled_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _prep_8tap_c: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _prep_8tap_scaled_c: stack subq instruction is too different from dwarf stack size
ld: illegal text-relocation to pw_8 in src/25a6634@@dav1d@sha/mc_sse.obj from _dav1d_prep_bilin_sse2.hv_w4_loop in src/25a6634@@dav1d@sha/mc_sse.obj for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
Command failed:  cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_multimedia_dav1d/dav1d/work/build" && /opt/local/bin/ninja -j4 -v 
Exit code: 1
Error: Failed to build dav1d: command execution failed
DEBUG: Error code: CHILDSTATUS 85526 1
DEBUG: Backtrace: command execution failed
    while executing
"system {*}$notty {*}$nice $fullcmdstring"
    invoked from within
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
Error: See /opt/local/var/macports/logs/_opt_bblocal_var_buildworker_ports_build_ports_multimedia_dav1d/dav1d/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port dav1d failed
Build of 'dav1d' failed.
./mpbb/mpbb: error: `install-port' failed to run successfully
program finished with exit code 1
elapsedTime=63.419081

I did not try to debug the problem. Perhaps I missed something that is obvious to others. My intention was to see what happens when Apple Silicon Macs start to appear.

comment:9 in reply to:  7 Changed 4 years ago by iEFdev

Replying to kencu:

I think you are right that we don't need another revbump -- anybody trying to build universal just failed. And it takes so d*mn long to build this port .. :>

Thanks. Yes, that was what I was thinking to. I removed it for now and re-pushed, and they can just ask to add it again if needed.

comment:10 Changed 4 years ago by kencu (Ken)

In 992a98b43e33b8f780f1abfe0df2316fb1b490e5/macports-ports (master):

dav1d: enable universal build

see: #60947

comment:11 Changed 4 years ago by SerpentChris (Chris Calderon)

Hello, was just trying to build ffmpeg on a Power Mac G5 running 10.5.8 when I ran into this. dav1d doesn't seem to build on Leopard and it looks like it is because the compiler doesn't support atomics. I'm not sure if I should make separate ticket. Here is the output:

The Meson build system
Version: 0.55.0
Source dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_dav1d/dav1d/work/dav1d-0.7.1-e9df70c4348a3f9ba7269feacd17cfb57bf23852
Build dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_dav1d/dav1d/work/build
Build type: native build
Project name: dav1d
Project version: 0.7.1
Using 'CC' from environment with value: '/usr/bin/gcc-4.2'
Using 'CFLAGS' from environment with value: '-pipe -Os -arch ppc'
Using 'LDFLAGS' from environment with value: '-L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc'
Using 'CPPFLAGS' from environment with value: '-I/opt/local/include'
WARNING: Unknown CPU family 'power macintosh', please report this at https://github.com/mesonbuild/meson/issues/new with the output of `uname -a` and `cat /proc/cpuinfo`
Using 'CC' from environment with value: '/usr/bin/gcc-4.2'
Using 'CFLAGS' from environment with value: '-pipe -Os -arch ppc'
Using 'LDFLAGS' from environment with value: '-L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc'
Using 'CPPFLAGS' from environment with value: '-I/opt/local/include'
C compiler for the host machine: /usr/bin/gcc-4.2 (gcc 4.2.1 "powerpc-apple-darwin9-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5577)")
C linker for the host machine: /usr/bin/gcc-4.2 ld64 85.2.1
WARNING: Unknown CPU family 'power macintosh', please report this at https://github.com/mesonbuild/meson/issues/new with the output of `uname -a` and `cat /proc/cpuinfo`
WARNING: Unknown CPU family 'power macintosh', please report this at https://github.com/mesonbuild/meson/issues/new with the output of `uname -a` and `cat /proc/cpuinfo`
Host machine cpu family: power macintosh
Host machine cpu: power macintosh
Run-time dependency threads found: YES
Checking for function "clock_gettime" : NO
Check usable header "stdatomic.h" : NO
Checking if "GCC-style atomics" compiles: NO

meson.build:175:8: ERROR: Problem encountered: Atomics not supported

comment:12 Changed 4 years ago by kencu (Ken)

Even after I fixed the atomics issue, I then ran into new issues with other reasons that dav1d wouldn't build.

Just delete it from the ffmpeg build manually for now -- there is a PR that Dave is looking over that will do that once he commits it.

comment:13 in reply to:  11 Changed 4 years ago by TzunamiOSX

Replying to SerpentChris:

Hello, was just trying to build ffmpeg on a Power Mac G5 running 10.5.8 when I ran into this. dav1d doesn't seem to build on Leopard and it looks like it is because the compiler doesn't support atomics. I'm not sure if I should make separate ticket. Here is the output:

The Meson build system
Version: 0.55.0
Source dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_dav1d/dav1d/work/dav1d-0.7.1-e9df70c4348a3f9ba7269feacd17cfb57bf23852
Build dir: /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_dav1d/dav1d/work/build
Build type: native build
Project name: dav1d
Project version: 0.7.1
Using 'CC' from environment with value: '/usr/bin/gcc-4.2'
Using 'CFLAGS' from environment with value: '-pipe -Os -arch ppc'
Using 'LDFLAGS' from environment with value: '-L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc'
Using 'CPPFLAGS' from environment with value: '-I/opt/local/include'
WARNING: Unknown CPU family 'power macintosh', please report this at https://github.com/mesonbuild/meson/issues/new with the output of `uname -a` and `cat /proc/cpuinfo`
Using 'CC' from environment with value: '/usr/bin/gcc-4.2'
Using 'CFLAGS' from environment with value: '-pipe -Os -arch ppc'
Using 'LDFLAGS' from environment with value: '-L/opt/local/lib -Wl,-headerpad_max_install_names -arch ppc'
Using 'CPPFLAGS' from environment with value: '-I/opt/local/include'
C compiler for the host machine: /usr/bin/gcc-4.2 (gcc 4.2.1 "powerpc-apple-darwin9-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5577)")
C linker for the host machine: /usr/bin/gcc-4.2 ld64 85.2.1
WARNING: Unknown CPU family 'power macintosh', please report this at https://github.com/mesonbuild/meson/issues/new with the output of `uname -a` and `cat /proc/cpuinfo`
WARNING: Unknown CPU family 'power macintosh', please report this at https://github.com/mesonbuild/meson/issues/new with the output of `uname -a` and `cat /proc/cpuinfo`
Host machine cpu family: power macintosh
Host machine cpu: power macintosh
Run-time dependency threads found: YES
Checking for function "clock_gettime" : NO
Check usable header "stdatomic.h" : NO
Checking if "GCC-style atomics" compiles: NO

meson.build:175:8: ERROR: Problem encountered: Atomics not supported

Same Problem here on G5 under 10.5.8

comment:14 Changed 4 years ago by TzunamiOSX

How can i remove dav1d from the ffmpeg build manually? This is my first rodeo, step by step please ;)

comment:15 Changed 4 years ago by kencu (Ken)

Yes, it won't be fixed until this PR is committed <https://github.com/macports/macports-ports/pull/7930>.

If you can just hold off on updating until that is pushed, you'll be OK.

Otherwise you'd have to edit the ffmpeg portfile yourself bbedit `port file ffmpeg` and remove the dav1d references.

comment:16 Changed 4 years ago by kencu (Ken)

so, exactly, do this:

bbedit `port file ffmpeg`

and make these changes

diff --git a/multimedia/ffmpeg/Portfile b/multimedia/ffmpeg/Portfile
index 80750e89cae..dab5a78c3bb 100644
--- a/multimedia/ffmpeg/Portfile
+++ b/multimedia/ffmpeg/Portfile
@@ -65,8 +65,7 @@ depends_build       port:pkgconfig \
                     port:ld64 \
                     port:texinfo
 
-depends_lib         port:dav1d \
-                    port:lame \
+depends_lib         port:lame \
                     port:libiconv \
                     port:libvorbis \
                     port:libopus \
@@ -118,7 +117,6 @@ configure.cflags-append -DHAVE_LRINTF ${configure.cppflags}
 configure.args      --enable-swscale \
                     --enable-avfilter \
                     --enable-avresample \
-                    --enable-libdav1d \
                     --enable-libmp3lame \
                     --enable-libvorbis \
                     --enable-libopus \

then save the file, and install ffmpeg and you are in business.

comment:17 Changed 4 years ago by TzunamiOSX

Thanks for the fast answer

upgrade is running :)

comment:18 Changed 4 years ago by iEFdev

Resolution: fixed
Status: assignedclosed

In 5320655dbb1f9348f4e10476cbbb54667c6eedbb/macports-ports (master):

ffmpeg: fix for no universal variant in dav1d

Dav1d does have a universal variant now, but does
not build on 'arm' or 'powerpc'.

Closes: #60947

Note: See TracTickets for help on using tickets.