Closed Bug 1901834 Opened 4 months ago Closed 4 months ago

Build with pixman < 0.40.0 fails with `error: unknown type name 'pixman_dither_t'`

Categories

(Core :: Graphics, defect)

Firefox 127
defect

Tracking

()

RESOLVED FIXED
129 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox127 --- fixed
firefox128 --- fixed
firefox129 --- fixed

People

(Reporter: pmenzel+bugzilla.mozilla.org, Assigned: jfkthame)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Steps to reproduce:

Build Firefox 127.0 on GNU/Linux with pixman 0.38.4 installed.

Actual results:

The build fails with:

[…]
15:25.42 In file included from Unified_c_gfx_cairo_cairo_src2.c:20: 
15:25.43 /dev/shm/bee-pmenzel/firefox/firefox-127.0-0/source/gfx/cairo/cairo/src/cairo-image-surface.c:954:5: error: unknown type name 'pixman_dither_t'; did you mean 'pixman_f
ilter_t'?
15:25.44     pixman_dither_t pixman_dither = _cairo_dither_to_pixman_dither (source->dither);
15:25.44     ^~~~~~~~~~~~~~~
15:25.44     pixman_filter_t
15:25.44 /usr/include/pixman-1/pixman.h:317:3: note: 'pixman_filter_t' declared here
15:25.44 } pixman_filter_t;
15:25.44   ^
15:25.44 In file included from Unified_c_gfx_cairo_cairo_src2.c:20: 
15:25.45 /dev/shm/bee-pmenzel/firefox/firefox-127.0-0/source/gfx/cairo/cairo/src/cairo-image-surface.c:954:37: error: implicit declaration of function '_cairo_dither_to_pixman_
dither' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
15:25.45     pixman_dither_t pixman_dither = _cairo_dither_to_pixman_dither (source->dither);
15:25.45                                     ^
15:25.45 /dev/shm/bee-pmenzel/firefox/firefox-127.0-0/source/gfx/cairo/cairo/src/cairo-image-surface.c:955:5: error: implicit declaration of function 'pixman_image_set_dither' 
is invalid in C99 [-Werror,-Wimplicit-function-declaration]
15:25.45     pixman_image_set_dither (surface->pixman_image, pixman_dither);
15:25.46     ^
15:25.46 /dev/shm/bee-pmenzel/firefox/firefox-127.0-0/source/gfx/cairo/cairo/src/cairo-image-surface.c:955:5: note: did you mean 'pixman_image_set_filter'?
15:25.46 /usr/include/pixman-1/pixman.h:829:17: note: 'pixman_image_set_filter' declared here
15:25.46 pixman_bool_t   pixman_image_set_filter              (pixman_image_t               *image,
15:25.46                 ^
15:26.77 image/encoders/bmp
15:27.13 3 errors generated.
15:27.13 make[4]: *** [/dev/shm/bee-pmenzel/firefox/firefox-127.0-0/source/config/rules.mk:600: Unified_c_gfx_cairo_cairo_src2.o] Error 1
15:27.14 make[4]: *** Waiting for unfinished jobs....
15:27.16 image/encoders/ico
15:28.07 image/encoders/jpeg
15:32.08 image/encoders/png
15:37.63 image/encoders/webp
15:41.07 make[3]: *** [/dev/shm/bee-pmenzel/firefox/firefox-127.0-0/source/config/recurse.mk:72: gfx/cairo/cairo/src/target-objects] Error 2
15:41.07 make[3]: *** Waiting for unfinished jobs....

Expected results:

The build should succeed or configure check, that required pixman version is installed.

Quickly looking through pixman, commit ddcc41b99956 (Implement basic dithering for the wide pipeline, v3), present since version 0.40.0 seems to have added it.

The configure script output is:

 0:18.51 checking for pixman-1 >= 0.36.0... yes
 0:18.51 checking MOZ_PIXMAN_CFLAGS... -I/usr/include/pixman-1
 0:18.51 checking MOZ_PIXMAN_LIBS... -lpixman-1

which should be updated.

The Bugbug bot thinks this bug should belong to the 'Core::Graphics' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Graphics
Product: Firefox → Core
Assignee: nobody → jfkthame
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Severity: -- → S4
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/746a29573d39 Update pixman version requirement. r=gfx-reviewers,aosmond
Keywords: regression
Regressed by: 1892913

Set release status flags based on info from the regressing bug 1892913

Thank you for the patch. I’d be more specific in the commit message title: Update pixman version requirement from 0.36. to 0.40.0.

Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 129 Branch

The patch landed in nightly and beta is affected.
:jfkthame, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox128 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(jfkthame)

This only affects people building with a system-installed pixman, rather than our in-tree version, but for their benefit I think it'd be worth uplifting (we should have done this as part of landing the cairo update).

Flags: needinfo?(jfkthame)
Attachment #9407203 - Flags: approval-mozilla-beta?

beta Uplift Approval Request

  • User impact if declined: possible build failure with --enable-system-pixman
  • Code covered by automated testing: no
  • Fix verified in Nightly: no
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing: n/a
  • Risk associated with taking this patch: minimal
  • Explanation of risk level: just updating a configure check
  • String changes made/needed: none
  • Is Android affected?: no
Attachment #9407211 - Flags: approval-mozilla-release?

release Uplift Approval Request

  • User impact if declined: possible build failure using --enable-system-pixman
  • Code covered by automated testing: no
  • Fix verified in Nightly: no
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing: n/a
  • Risk associated with taking this patch: minimal
  • Explanation of risk level: just update configure check
  • String changes made/needed: none
  • Is Android affected?: no
Attachment #9407203 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9407211 - Flags: approval-mozilla-release? → approval-mozilla-release+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: