Opened 3 years ago

Closed 3 years ago

Last modified 19 months ago

#62614 closed defect (fixed)

Unable to Upgrade "libheif" on Lion -- Needs "rust" Which Only Builds on Yosemite or Later!

Reported by: RobK88 Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: tiger leopard snowleopard lion mountainlion mavericks Cc: herbygillot (Herby Gillot)
Port: libheif rust


I am trying to upgrade libheif on an old Mac running Lion. But the upgrade fails since rust is NOW needed and rust can only be built on Macs running Yosemite or later.

$port outdated
The following installed ports are outdated:
libheif                        1.11.0_0 < 1.11.0_2 

$ sudo port upgrade outdated
--->  Computing dependencies for rust
--->  Fetching distfiles for rust
Error: rust is only supported on macOS 10.10 or later.
Error: Failed to fetch rust: unsupported platform version
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_rust/rust/main.log for details.
Error: Problem while installing rust
Error: Follow to report a bug.

Change History (9)

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

Cc: herbygillot added; mcalhoun@… herby.gillot@… removed
Keywords: tiger leopard snowleopard lion mountainlion mavericks added; Lion removed
Owner: set to MarcusCalhoun-Lopez
Status: newassigned

Probably we should remove whatever's depending on rust from libheif's dependencies on 10.9 and earlier.

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

marcus added a bunch of deps here [70e4ce26e111e264197f037ad8f64297ac8de986/macports-ports] and I had to disable all of them to get builds on older systems working again.

I haven't worked through yet which can be fixed and which can't.

comment:3 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

There is a pull request that attempts to fix this problem.
This seemed to work for me, but if Ken would like more time to see if other changes need to be made, I would be happy to wait.

comment:4 Changed 3 years ago by RobK88

I can confirm that Marcus' fix works on my old Mac running Lion. I was able to upgrade libheif after applying the fix.

port installed libheif
The following ports are currently installed:
  libheif @1.11.0_0
  libheif @1.11.0_2 (active)
Version 0, edited 3 years ago by RobK88 (next)

comment:5 Changed 3 years ago by imgx64

I'm not very familiar with libheif, but its README suggests that dav1d and rav1e are optional:

For AVIF, libaom, dav1d, or rav1e are used as codecs.

(emphasis mine)

Would it be better to use variants to include/exclude them instead of only excluding them for older macOS? I've been waiting for rust to compile for the past 45 minutes and I'd rather exclude it in the future.

comment:6 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

If there is a reason why someone would want to disable the use of these optional codecs, then there should be variants. I know of no such reason, in which case there should not be variants for the sake of simplicity.

comment:7 Changed 3 years ago by jmroot (Joshua Root)

Well they all handle AV1, which does seem a bit redundant. Although, rav1e is only an encoder and dav1d is only a decoder. Looks like aom is both.

comment:8 Changed 3 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: assignedclosed

In aebe51e3cd62e27205f1a41df8ab0668395cf73b/macports-ports (master):

libheif: allow build on older systems

Remove feature that depends on rust.
Rust does not build on older systems.

Fixes #62614

comment:9 Changed 19 months ago by Christopher Nielsen <mascguy@…>

In 5919c5f984db126387391c2164adba4c3057d880/macports-ports (master):

libheif: enable rav1e for 10.7 and later

  • Now supported on older macOS releases; presently blocked on 10.6 though

See: #62614
See: #65434

Note: See TracTickets for help on using tickets.