-
Ivan Matkov authored
In 0.9.36, there was a missing symbol that caused ``` libskiko-linux-x64.so: undefined symbol: _ZNSt19_Sp_make_shared_tag5_S_eqERKSt9type_info ``` It's because the build attempts to statically link the C++ standard library, but: - Skia's object files reference newer libstdc++ symbols - GCC 7.3's `libstdc++` doesn't contain these symbols - The static linking fails to resolve these symbols GCC was downgraded from 9 to 7 in #1130 during the switch to AL2 to provide better GLIBC compatibility. Since AL2 [provides](https://docs.aws.amazon.com/linux/al2/ug/c-cplusplus.html) only GCC 7.3 by default and GCC 10, installing GCC 9 is problematic there, so it's bumped to 10 However, GCC 10 introduces outline atomics as default for new ARM chips, the build might fail due to missing symbols like ``` org_jetbrains_skia_FontMgrWithFallback__1nDefaultWithFallbackFontProvider: error: undefined reference to '__aarch64_ldadd4_relax' org_jetbrains_skia_FontMgrWithFallback__1nDefaultWithFallbackFontProvider: error: undefined reference to '__aarch64_ldadd4_acq_rel' ``` so, to keep things compatible with the previous GCC version, `-mno-outline-atomics` option was added to disable this new behavior.
| Name |
Last commit
|
Last update |
|---|---|---|
| .github | ||
| .run | ||
| gradle/wrapper | ||
| samples | ||
| skiko | ||
| .gitignore | ||
| DEVELOPMENT.md | ||
| LICENSE | ||
| NOTICE | ||
| README.md | ||
| dependencies.toml | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| settings.gradle.kts |