On Fri, Nov 25, 2016 at 05:12:03PM +0100, Michael Stahl wrote: > On 24.11.2016 22:04, Khaled Hosny wrote: > > I’m getting linking after removing the old Graphite integration: > > https://gerrit.libreoffice.org/#/c/31143/ > > > > But I’m getting unexpected linking errors, complaining about almost all > > Graphite symbol used by HarfBuzz: > > libharfbuzz.lib(libharfbuzz_la-hb-graphite2.obj) : error LNK2019: > > unresolved external symbol __imp__gr_make_face referenced in function > > __hb_graphite2_shaper_face_data_create > > > > Full build: > > http://ci.libreoffice.org/job/lo_gerrit/3105/Config=linux_clang_dbgutil_64/console > > > > My experience with of Windows toolchain is rather primitive, so I’m lost > > here. I’m guessing that because Graphite is statically linked, after > > removing the old code the linker does not see the use of these symbols > > and drops them or something like that. But I’m not sure if I’m guessing > > right or how to fix this. > > i suspect it's because you remove this file: > > https://gerrit.libreoffice.org/#/c/31143/4/vcl/inc/graphite_static.hxx > > presumably it was included before graphite headers previously, and would > suppress a __declspec(dllimport) from the graphite headers, so now you > get unresolved dllimport symbols like "__imp__gr_make_face referenced" > > ... actually no, this is implausible since the unresolved symbols aren't > in vcl objects but in the harfbuzz static library. > > ... figured it out now, should be fixed with commit > 086631af59636cd9a6a45b747a1bc59b4b547794, no idea why this doesn't fail > on current master already.
Thanks, this fixed the build indeed. I guess since HarfBuzz is statically linked and the symbols were available because of the old code was including graphite_static.hxx things just worked by accident since the linking happens in vcl not harfbuzz module (not that I know anything about how linkers work), I guess it would have been broken if one tried to build with --disable-graphite. Regards, Khaled _______________________________________________ LibreOffice mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice
