Opened 6 years ago

Closed 6 years ago

#47920 closed defect (fixed)

gd2: build fails with libvpx 1.4.0 due to removal of deprecated API.

Reported by: dbevans (David B. Evans) Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: haspatch Cc:
Port: gd2

Description

gd2 still uses the long deprecated libvpx API items IMG_FMT_* PLANE_*. The preferred replacements are VPX_IMG_FMT_* and VPX_PLANE_*.

The preferred replacements are available in both the current libvpx 1.3.0 and forthcoming libvpx 1.4.0 (#47907) but the deprecated versions have finally been removed in libvpx 1.4.0 causing the build of gd2 with libvpx 1.4.0 to fail. See attached build log.

The attached patch makes the appropriate replacements providing compatibility with both libvpx 1.3.0 and 1.4.0. When building gd2 with libvpx 1.3.0, no installed files are changed in gd2.

I'm suggesting that this change be committed now so that when libvpx 1.4.0 is committed only a revbump of gd2 will be necessary.

Attachments (2)

build-failure-with-libvpx-4.0.log (117.7 KB) - added by dbevans (David B. Evans) 6 years ago.
Build log showing failure when building with libvpx 1.4.0.
patch-gd2-libvpx-1.4.0.diff (1.7 KB) - added by dbevans (David B. Evans) 6 years ago.
Proposed patch to provide both libvpx 1.3.0 and 1.4.0 compatibility.

Download all attachments as: .zip

Change History (6)

Changed 6 years ago by dbevans (David B. Evans)

Build log showing failure when building with libvpx 1.4.0.

Changed 6 years ago by dbevans (David B. Evans)

Attachment: patch-gd2-libvpx-1.4.0.diff added

Proposed patch to provide both libvpx 1.3.0 and 1.4.0 compatibility.

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

Thanks for finding this before committing libvpx 1.4.0!

If you have a working update to 1.4.0 for libvpx, could you attach it to #47907 so I can try it too?

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

Here's the corresponding upstream commit of this change.

comment:3 in reply to:  1 Changed 6 years ago by dbevans (David B. Evans)

Replying to ryandesign@…:

Thanks for finding this before committing libvpx 1.4.0!

If you have a working update to 1.4.0 for libvpx, could you attach it to #47907 so I can try it too?

Will do if you promise to be gentle in your criticism :-). My current working port is very rough and doesn't work for the +universal case (yet). I just did the minimum to get the port to build in a non-universal case dispensing with the patches and configuration that currently disable the port's own platform specific configuration targets which essentially treat all platforms like a generic x86 build.

I'm hoping that letting the port use its own configuration targts will result in more reasonable results on PPC platforms.

I'll clean it up a bit and attach as requested. Stand by.

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

Keywords: haspatch added
Resolution: fixed
Status: newclosed

I know you did this already, but just to confirm: On Yosemite, I verified

  • that gd2 2.1.1 builds with or without the patch with libvpx 1.3.0,
  • that gd2 2.1.1 has an error without the patch with libvpx 1.4.0, and
  • that gd2 2.1.1 builds with the patch with libvpx 1.4.0

Committed in r137007. Thanks!

Note: See TracTickets for help on using tickets.