Bug 111290 - undefined symbol _dri2_get_mapping_by_fourcc
Summary: undefined symbol _dri2_get_mapping_by_fourcc
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Mac OS X (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
Keywords: bisected, regression
Depends on:
Reported: 2019-08-03 02:38 UTC by Vinson Lee
Modified: 2019-09-14 06:57 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Description Vinson Lee 2019-08-03 02:38:31 UTC
macOS build error

Undefined symbols for architecture x86_64:
  "_dri2_get_mapping_by_fourcc", referenced from:
      _dri_get_egl_image in libdri.a(dri_screen.c.o)
Comment 1 Vinson Lee 2019-08-03 03:04:13 UTC
8af1990ad7703dd6805af9beb3a32ca7170c10c2 is the first bad commit
commit 8af1990ad7703dd6805af9beb3a32ca7170c10c2
Author: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Date:   Thu Jun 6 19:47:23 2019 -0400

    st/dri: simplify dri_get_egl_image by reusing dri2_format_table
    this makes dri2_get_mapping_by_fourcc accessible from dri_helpers.h
    and does a direct lookup on the fourcc id to match the pipe format
    v2 (Ken): Allow map to be NULL, use img->texture->format.
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Eric Anholt <eric@anholt.net>
Comment 2 Eric Engestrom 2019-08-03 16:14:50 UTC
Issue known, fix here:

And already tested to fix the build on MacOS :)
Comment 3 Vinson Lee 2019-09-14 06:57:31 UTC
commit 84fae8e649b5f9e22c7305f72fba01352e0ea2b2
Author: Jon Turney <jon.turney@dronecode.org.uk>
Date:   Fri Aug 2 13:42:48 2019 +0100

    st/dri: Move dri2_format_mapping table and it's accessors from dri2.c to dri_helpers.c
    8af1990a exposed dri2_get_mapping_by_fourcc() in dri_helpers.h, so it
    could be used by dri_get_egl_image(), but didn't move it.  This breaks
    the build in the with_dri=false case (e.g. when building for a target
    which doesn't have libdrm, so swrast is only dri driver built)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.