harfbuzz icon indicating copy to clipboard operation
harfbuzz copied to clipboard

[meson] Update Cairo subproject to 1.17.6

Open khaledhosny opened this issue 3 years ago • 9 comments

khaledhosny avatar Mar 23 '22 04:03 khaledhosny

https://github.com/msys2/MINGW-packages/issues/11053

behdad avatar Mar 25 '22 17:03 behdad

msys2/MINGW-packages#11053

Humm. But that's for ARM. No idea why our bots are failing.

behdad avatar Mar 25 '22 17:03 behdad

Yes, and it doesn’t fail the msys2 build which uses mingw64 as well. We probably should move building the Windows binaries to the msys2 jobs and keep the cross-compiling ones to the bare minimum (i.e. testing HarfBuzz itself).

khaledhosny avatar Mar 25 '22 17:03 khaledhosny

We are not actually building Cairo on msys2.

khaledhosny avatar Mar 25 '22 17:03 khaledhosny

The mingw-w64 compat commit fixing this was https://github.com/mingw-w64/mingw-w64/commit/a3f6d363d534e9d5563a0b7c677889101e6bbd42

One could look into if https://gitlab.freedesktop.org/cairo/cairo/-/blob/521a3a7bdb9299d511dcb1e4f243670141e53847/src/win32/cairo-dwrite-font.cpp#L731 is actually needed. It seems to be a i686 only thing, and setting it to the default alone seems weird. But I don't know anything about it.

Or ifdef it since according to the docs -> " (Not supported on ARM or x64 platforms.)"

(or teach cairo a new build option to skip the new/old dwrite backend)

not sure of that helps you in any way, but maybe gives some context :)

lazka avatar Mar 30 '22 20:03 lazka

Arch has updated their mingw-w64 package, so this could be re-tried.

lazka avatar May 17 '22 06:05 lazka

Now we can’t even get past glib build!

khaledhosny avatar May 17 '22 07:05 khaledhosny

Now, we are back to Cairo failure, same place, different error:

FAILED: subprojects/cairo/src/libcairo-2.dll.p/win32_cairo-dwrite-font.cpp.obj 
i686-w64-mingw32-g++ -Isubprojects/cairo/src/libcairo-2.dll.p -Isubprojects/cairo/src -I../subprojects/cairo/src -Isubprojects/cairo -I../subprojects/cairo -Isubprojects/zlib-1.2.11 -I../subprojects/zlib-1.2.11 -Isubprojects/libpng-1.6.37 -I../subprojects/libpng-1.6.37 -Isubprojects/fontconfig -I../subprojects/fontconfig -I../subprojects/freetype/include -I../subprojects/expat-2.2.9/lib -Isubprojects/pixman/pixman -I../subprojects/pixman/pixman -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++11 -fno-rtti -O0 -g -Wno-attributes -Wno-unused-but-set-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-long-long -D_REENTRANT -MD -MQ subprojects/cairo/src/libcairo-2.dll.p/win32_cairo-dwrite-font.cpp.obj -MF subprojects/cairo/src/libcairo-2.dll.p/win32_cairo-dwrite-font.cpp.obj.d -o subprojects/cairo/src/libcairo-2.dll.p/win32_cairo-dwrite-font.cpp.obj -c ../subprojects/cairo/src/win32/cairo-dwrite-font.cpp
../subprojects/cairo/src/win32/cairo-dwrite-font.cpp: In member function ‘cairo_fixed_t GeometryRecorder::GetFixedX(const D2D1_POINT_2F&)’:
../subprojects/cairo/src/win32/cairo-dwrite-font.cpp:722:50: error: ‘MCW_PC’ was not declared in this scope
  722 |         _controlfp_s(&control_word, _CW_DEFAULT, MCW_PC);
      |                                                  ^~~~~~
../subprojects/cairo/src/win32/cairo-dwrite-font.cpp: In member function ‘cairo_fixed_t GeometryRecorder::GetFixedY(const D2D1_POINT_2F&)’:
../subprojects/cairo/src/win32/cairo-dwrite-font.cpp:729:50: error: ‘MCW_PC’ was not declared in this scope
  729 |         _controlfp_s(&control_word, _CW_DEFAULT, MCW_PC);
      |                                                  ^~~~~~

Exited with code exit status 1

khaledhosny avatar May 17 '22 13:05 khaledhosny

Sorry for the wild-goose chase :( No idea why it fails this way.

lazka avatar May 17 '22 19:05 lazka