Properly configuring GNU build tools on Windows

I'm trying to install the Rust GNU toolchain for windows. I've installed MinGW-w64 with win-builds ((Free) Software Building and Packaging For Windows [Win-builds]), and I've installed CMake for windows from their website. However, when I'm trying to build harfbuzz-sys (which invokes CMake in the build script), I get this error:

error: failed to run custom build command for `harfbuzz-sys v0.1.15`
process didn't exit successfully: `D:\programming\git\derin\target\debug\build\harfbuzz-sys-d6fc439b7abe6289\build-script-build` (exit code: 101)
--- stdout
running: "cmake" "C:\\Users\\ossi\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\harfbuzz-sys-0.1.15\\harfbuzz" "-G" "MSYS Makefiles" "-DCMAKE_INSTALL_PREFIX=D:\\programming\\git\\derin\\target\\debug\\build\\harfbuzz-sys-a5f7dd06f7f96198\\out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -m64" "-DCMAKE_BUILD_TYPE=Debug"
-- Configuring incomplete, errors occurred!
 
--- stderr
CMake Error: CMake was unable to find a build program corresponding to "MSYS Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMake was unable to find a build program corresponding to "MSYS Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_AR was not found, please set to archive program.
thread 'main' panicked at '
command did not execute successfully, got: exit code: 1
 
build script failed, must exit now', C:\Users\ossi\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.30\src\lib.rs:643:5
stack backtrace:
   0: std::sys::windows::backtrace::unwind_backtrace
             at libstd\sys\windows\backtrace/mod.rs:104
             at libstd\sys\windows\backtrace/mod.rs:91
   1: std::sys_common::backtrace::print
             at libstd\sys_common/backtrace.rs:71
             at libstd\sys_common/backtrace.rs:59
   2: std::panicking::default_hook::{{closure}}
             at libstd/panicking.rs:211
   3: std::panicking::default_hook
             at libstd/panicking.rs:227
   4: std::panicking::rust_panic_with_hook
             at libstd/panicking.rs:475
   5: std::panicking::continue_panic_fmt
             at libstd/panicking.rs:390
   6: std::panicking::begin_panic_fmt
             at libstd/panicking.rs:345
   7: cmake::fail
             at C:\Users\ossi\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.30\src/lib.rs:643
   8: cmake::run
             at C:\Users\ossi\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.30\src/lib.rs:624
   9: cmake::Config::build
             at C:\Users\ossi\.cargo\registry\src\github.com-1ecc6299db9ec823\cmake-0.1.30\src/lib.rs:485
  10: build_script_build::main
             at .\build.rs:20
  11: std::rt::lang_start::{{closure}}
             at C:\projects\rust\src\libstd/rt.rs:74
  12: std::panicking::try::do_call
             at libstd/rt.rs:59
             at libstd/panicking.rs:310
  13: _rust_maybe_catch_panic
             at libpanic_unwind/lib.rs:105
  14: std::panic::catch_unwind
             at libstd/panicking.rs:289
             at libstd/panic.rs:392
  15: std::rt::lang_start_internal
             at libstd/rt.rs:58
  16: std::rt::lang_start
             at C:\projects\rust\src\libstd/rt.rs:74
  17: main
  18: _tmainCRTStartup
  19: mainCRTStartup
  20: unit_addrs_search
  21: unit_addrs_search
 
warning: build failed, waiting for other jobs to finish...
error: build failed

The issue seems to be with the "MSYS Makefiles" build program - how would you go about configuring that?

Update: It looks like this was an issue with the cmake crate. I've submitted a PR to fix it here: https://github.com/alexcrichton/cmake-rs/pull/46.

That, however, leads to another issue later in the build process. When I try to build an executable that links in harfbuzz (https://github.com/osspial/glyphydog, with cargo r --example layout_text), I get this mess of an error:

  = note: "gcc" "-Wl,--enable-long-section-names" "-fno-use-linker-plugin" "-Wl,--nxcompat" "-nostdlib" "-m64" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\crt2.o" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "-L" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.10ygozpgsu0ud2lu.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.15kq92zzbmxot4k9.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.16hoztn7exdq4n80.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.16u6js6g0l3k1ic6.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.17erb31xn70viq4b.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.181cuta0v63atwcm.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.1dqvxks6k2bzkxe.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.1im38lueib99jsk0.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.1jnlhyxj59jycbjv.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.1kduva7sc7em934m.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.1o6b1la7g4jnv39b.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.1vhhhzhhc3z04uiv.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.1y16o1qfye96o7m0.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.1y9hpko8yeuegigz.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.20nzgk799hczdor9.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.21ddwkul7jro4j58.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.230exv99gxfkzms6.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.23tqyymcb18u96mb.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.285ux0t7vjsmmzc2.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.28m6b5dkfoixx5aa.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2900si7wufyckkhy.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2ez1oza9im4crze7.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2imnh2vhxcqrizhm.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2jqywn86b2gsqohu.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2lyh15q6cjwzy18c.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2q5257pdh5222n7q.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2qhkzqx5zqexj20y.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2sj6vr4n1xbngeg9.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.2y2jsy47yz6afisf.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.352e56ws4kwq1961.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.35dif2yfqvun9jag.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.36ad6ygiiror6p73.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.38ps4pa181wsnsy9.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.3ayaeypdcro9d6yk.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.3k38y1snhy5ixasz.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.3ldk0i2zxftngav8.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.3mmfx86f2tbixmc7.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.3rngp6bm2u2q5z0y.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.413jdks4e12oxna0.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.436dotimmrgzkwfa.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.43v6g0y2xsxoggnt.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.45o9imcqm8qfgswm.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.48721dc4k5qxei0u.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.49a7n47po4ttqjl7.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.49lx1q7cxvpykyv0.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.4b9lkgldu9udpriy.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.4oc10dk278mpk1vy.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.4t8y84fdjo9ew81c.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.4whhon35ncewoqwq.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.4xq48u46a1pwiqn7.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.4yh8x2b62dcih00t.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.4ypvbwho0bu5tnww.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.50dc81y5j96m6d8q.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.7p53qlves2rwxx0.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.8xzrsc1ux72v29j.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.98g0d9x8aw3akpe.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.9elsx31vb4it187.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.c6lbtaiefvx3wya.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.mz7vgmcf23rofcc.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.nx0viwm6tf3dhgn.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.pwoyhldid8s7l5p.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.sfn4mnsu123bipp.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.sjcqfz2ncn1dupz.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.waq2ee99fsjcgh4.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.y08g5q2x813c4wx.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.yqny6mnxhhiy1cr.rcgu.o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.z9ox7biyn1otfln.rcgu.o" "-o" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.exe" "D:\\programming\\git\\glyphydog\\target\\debug\\examples\\layout_text-f306b5197cff8a5a.crate.allocator.rcgu.o" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "D:\\programming\\git\\glyphydog\\target\\debug\\deps" "-L" "C:\\Users\\ossi\\.cargo\\registry\\src\\github.com-1ecc6299db9ec823\\winapi-x86_64-pc-windows-gnu-0.4.0\\lib" "-L" "D:\\programming\\git\\glyphydog\\target\\debug\\build\\servo-freetype-sys-30f89018ee04935c\\out/lib" "-L" "D:\\programming\\git\\glyphydog\\target\\debug\\build\\harfbuzz-sys-d348507c991d1425\\out/lib" "-L" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-Wl,-Bstatic" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libpng-b270ecdc4633e99a.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libdeflate-16d7cf6d8a450041.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libbyteorder-be256f761339040f.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libinflate-0929f24e72988ca3.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libadler32-fa2157dcd59c7642.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libnum_iter-18fe38c7bbe72711.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libnum_integer-2e1a8a2cb2d6a697.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libglyphydog-97c8abd95334cd93.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libcgmath_geometry-fb57ed588fcc4980.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libcgmath-6b40fa5e2e499da6.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libnum_traits-95dc73f039f176e8.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libnum_traits-a020a76e88843212.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\librand-2d0c32868dc28d75.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libwinapi-3621677559667c58.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libapprox-769cf6f984b0ad6b.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libxi_unicode-2768116c3b3d8e4c.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libstable_deref_trait-8df028a108cbd39d.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\liblazy_static-8a03de1478438547.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libbitflags-2f389d76e6970d16.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libfreetype-41bb8455cbfecc9f.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\liblibc-24a8a45c291781ff.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libfreetype_sys-aa5e1a9934cc2f00.rlib" "D:\\programming\\git\\glyphydog\\target\\debug\\deps\\libharfbuzz_sys-ad70ae6dbccfafee.rlib" "-Wl,--start-group" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd-0abd00b44689acc8.rlib" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libpanic_unwind-9a51f2419aa8b101.rlib" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libunwind-cfd9629426aba080.rlib" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liblibc-3af6d76879c00504.rlib" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liballoc_system-ba19a01c56a40303.rlib" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liballoc-f5e7f9228dfef7f7.rlib" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcore-0c31cf2607062184.rlib" "-Wl,--end-group" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcompiler_builtins-8a495b80ed6da5ec.rlib" "-Wl,-Bdynamic" "-l" "winapi_advapi32" "-l" "winapi_credui" "-l" "winapi_kernel32" "-l" "winapi_secur32" "-l" "advapi32" "-l" "ws2_32" "-l" "userenv" "-l" "shell32" "-Wl,-Bstatic" "-l" "gcc_eh" "-l" "pthread" "-Wl,-Bdynamic" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-lmsvcrt" "-luser32" "-lkernel32" "C:\\Users\\ossi\\.rustup\\toolchains\\nightly-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsend.o"
  = note: D:\programming\git\glyphydog\target\debug\deps\libharfbuzz_sys-ad70ae6dbccfafee.rlib(hb-ot-shape.cc.obj):hb-ot-shape.cc:(.xdata$_hb_ot_shaper_shape_plan_data_create+0x10): undefined reference to `__gxx_personality_seh0'
          D:\programming\git\glyphydog\target\debug\deps\libharfbuzz_sys-ad70ae6dbccfafee.rlib(hb-ot-layout.cc.obj):hb-ot-layout.cc:(.xdata$_ZNK2OT17CaretValueFormat315get_caret_valueEP9hb_font_t14hb_direction_tRKNS_14VariationStoreE+0xc): undefined reference to `__gxx_personality_seh0'
          D:\programming\git\glyphydog\target\debug\deps\libharfbuzz_sys-ad70ae6dbccfafee.rlib(hb-ot-layout.cc.obj):hb-ot-layout.cc:(.xdata$_ZN2OT27hb_collect_glyphs_context_tD1Ev+0xc): undefined reference to `__gxx_personality_seh0'
          D:\programming\git\glyphydog\target\debug\deps\libharfbuzz_sys-ad70ae6dbccfafee.rlib(hb-ot-layout.cc.obj):hb-ot-layout.cc:(.xdata$_ZNK2OT18SingleSubstFormat111would_applyEPNS_24hb_would_apply_context_tE+0xc): undefined reference to `__gxx_personality_seh0'
          D:\programming\git\glyphydog\target\debug\deps\libharfbuzz_sys-ad70ae6dbccfafee.rlib(hb-ot-layout.cc.obj):hb-ot-layout.cc:(.xdata$_ZNK2OT18SingleSubstFormat211would_applyEPNS_24hb_would_apply_context_tE+0xc): undefined reference to `__gxx_personality_seh0'
          D:\programming\git\glyphydog\target\debug\deps\libharfbuzz_sys-ad70ae6dbccfafee.rlib(hb-ot-layout.cc.obj):hb-ot-layout.cc:(.xdata$_ZNK2OT20MultipleSubstFormat111would_applyEPNS_24hb_would_apply_context_tE+0xc): more undefined references to `__gxx_personality_seh0' follow


error: aborting due to previous error

error: Could not compile `glyphydog`.

What's this an issue with? The resources I've found suggest a mixup of gcc and g++, which I found by searching along the lines of undefined reference to '__gxx_personality_seh0' but that would be an issue with CMake. Is this something that can be resolved with my own configuration, or is this a harfbuzz problem?

EDIT: Looks like that was another upstream issue, this time in harfbuzz-rust, where it wasn't linking in stdc++. I've submitted a PR to fix that.