no symbols in libHarfBuzzSharp.so #2116
Unanswered
TruckDynasty
asked this question in
Q&A
Replies: 1 comment
-
As part of my build I make all things private and expose the ones I want using a version script https://github.com/mono/SkiaSharp/blob/main/native/linux/build.cake#L80 https://github.com/mono/SkiaSharp/blob/main/native/linux/libHarfBuzzSharp/libHarfBuzzSharp.map |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Trying to build a libHarfBuzzSharp using the ninja build system. I've had good success building libSkiaSharp (I still need to report a few bugs with the build script). The platform is a raspberry pi 3b+ running the latest 64 bit raspberry pi os.
The exact commands I ran from the mono/skia directory were:
run the gn build script generator:
./bin/gn gen 'out/linux/arm64' --args='is_official_build=true
skia_enable_tools=false
target_os="linux"
target_cpu="arm64"
skia_use_icu=true
skia_use_system_icu=true
skia_use_harfbuzz=true
skia_use_system_harfbuzz=true
skia_pdf_subset_harfbuzz=false
skia_use_sfntly=false
skia_use_piex=true
skia_use_system_expat=false
skia_use_system_freetype2=true
skia_use_system_libjpeg_turbo=true
skia_use_system_libpng=true
skia_use_system_libwebp=true
skia_use_system_zlib=true
skia_enable_gpu=true
extra_cflags=[ "-DSKIA_C_DLL", "-DHAVE_PTHREAD", "-DHB_EXTERN=extern", "-I/usr/local/lib/aarch64-linux-gnu/harfbuzz/include/", "-I/usr/include/freetype2/" ]'
--cflags='[ "-DSKIA_C_DLL", "-DHAVE_PTHREAD", "-DHB_EXTERN=extern", "-I/usr/local/lib/aarch64-linux-gnu/harfbuzz/include/", "-I/usr/include/freetype2/" ]'
build libSkiaSharp (no issues here, the build and generated library are a success)
ninja 'SkiaSharp' -C '/out/linux/arm64'
build libHarfBuzzSharp (builds fine, issues occur later...)
ninja 'HarfBuzzSharp' -C '/out/linux/arm64'
copy the built libSkiaSharp.so and libHarfBuzzSharp.so files to the project that needs them (UVTools), then run
LD_DEBUG=libs dotnet UVTools.dll
get a bunch of output text, then the issue occurs as:
..... libHarfBuzzSharp.so: error: symbol lookup error: undefined symbol: hb_face_create_for_tables (fatal)
running 'readelf -Ws --dyn-syms libHarfBuzzSharp.so' gives a very short list of symbols, none of which seem to have anything to do with harfbuzz
_ITM_deregisterTMCloneTable
__cxa_finalize@GLIBC_2.17 (2)
gmon_start
__getauxval@GLIBC_2.17 (2)
_ITM_registerTMCloneTable
I've also built SkiaSharp and HarfBuzzSharp using almost all of the third_party options (non skia_use_system_... build), and get the same result. (I've probably built the pair 10 times in the last couple of weeks, each time trying something slightly different).
At this point one thing is obvious: I'm doing something wrong. Any chance anyone can help me out?
Beta Was this translation helpful? Give feedback.
All reactions