Linking error with NDK r17c
Opened this issue · 3 comments
david-hoze commented
Hi, great work!
I'm trying to build your repo and getting an error.
I'm using NDK r17c (17.2.4988734, you can find it here)
I'm on Ubuntu 18.04
*** Warning: Linking the shared library libicu-le-hb.la against the
*** static library /home/david/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a is not portable!
libtool: link: /home/david/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -shared -nostdlib crtbegin_so.o .libs/libicu_le_hb_la-LayoutEngine.o .libs/libicu_le_hb_la-LEFontInstance.o .libs/libicu_le_hb_la-LEGlyphStorage.o .libs/libicu_le_hb_la-LEInsertionList.o .libs/libicu_le_hb_la-loengine.o .libs/libicu_le_hb_la-ScriptAndLanguageTags.o -L/home/david/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86_64 -landroid -llog -latomic /home/david/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a /home/david/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a -L/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/lib /home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/harfbuzz-1.4.6/../lib/libharfbuzz.so -L/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64 -L/home/david/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/lib/linux/x86_64 -L/home/david/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x -L/home/david/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/lib/../lib64 -L/home/david/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/lib -L/home/david/Android/Sdk/ndk-bundle/sysroot/usr/lib -lstdc++ -lm -lc -lgcc -ldl crtend_so.o --sysroot=/home/david/Android/Sdk/ndk-bundle/sysroot -O2 --sysroot=/home/david/Android/Sdk/ndk-bundle/sysroot -O2 -Wl,--exclude-libs -Wl,libgcc.a -Wl,--exclude-libs -Wl,libatomic.a --sysroot /home/david/Android/Sdk/ndk-bundle/platforms/android-21/arch-x86_64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z -Wl,noexecstack -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/libicu-le-hb.so.0.0.0
.libs/libicu_le_hb_la-LayoutEngine.o: In function `LayoutEngine':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:206: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LayoutEngine.o: In function `icu_62::LayoutEngine::~LayoutEngine()':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:213: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:213: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:213: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:213: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LayoutEngine.o:(.data.rel.ro+0x40): undefined reference to `typeinfo for icu_62::UObject'
.libs/libicu_le_hb_la-LEFontInstance.o: In function `~LEFontInstance':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEFontInstance.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LEFontInstance.o:(.data.rel.ro+0x140): undefined reference to `typeinfo for icu_62::UObject'
.libs/libicu_le_hb_la-LEGlyphStorage.o: In function `icu_62::LEGlyphStorage::~LEGlyphStorage()':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEGlyphStorage.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEGlyphStorage.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEGlyphStorage.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEGlyphStorage.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LEGlyphStorage.o:(.data.rel.ro+0xa8): undefined reference to `typeinfo for icu_62::UObject'
.libs/libicu_le_hb_la-LEInsertionList.o: In function `icu_62::LEInsertionList::~LEInsertionList()':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEInsertionList.cpp:34: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEInsertionList.cpp:34: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LEInsertionList.o:(.data.rel.ro+0x40): undefined reference to `typeinfo for icu_62::UObject'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:455: recipe for target 'libicu-le-hb.la' failed
make[1]: *** [libicu-le-hb.la] Error 1
make[1]: Leaving directory '/home/david/dev/android/AppAndroid/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src'
Makefile:446: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
I'm also getting:
clang++: error: no such file or directory: './.libs/libharfbuzz.so'
Would appreciate your help.
pelya commented
You might wish to check older revision with git log, current master branch
was only tested on NDK r18
…On Wed, Jan 23, 2019, 14:29 David Hoze ***@***.*** wrote:
Hi, great work!
I'm trying to build your repo and getting an error.
I'm using NDK r17c (17.2.4988734, you can find it here
<https://developer.android.com/ndk/downloads/older_releases>)
I'm on Ubuntu 18.04
*** Warning: Linking the shared library libicu-le-hb.la against the
*** static library /home/david/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a is not portable!
libtool: link: /home/david/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -shared -nostdlib crtbegin_so.o .libs/libicu_le_hb_la-LayoutEngine.o .libs/libicu_le_hb_la-LEFontInstance.o .libs/libicu_le_hb_la-LEGlyphStorage.o .libs/libicu_le_hb_la-LEInsertionList.o .libs/libicu_le_hb_la-loengine.o .libs/libicu_le_hb_la-ScriptAndLanguageTags.o -L/home/david/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86_64 -landroid -llog -latomic /home/david/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++_static.a /home/david/Android/Sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86_64/libc++abi.a -L/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/lib /home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/harfbuzz-1.4.6/../lib/libharfbuzz.so -L/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64 -L/home/david/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/6.0.2/lib/linux/x86_64 -L/home/david/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x -L/home/david/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/lib/../lib64 -L/home/david/Android/Sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/linux-x86_64/lib/gcc/x86_64-linux-android/4.9.x/../../../../x86_64-linux-android/lib -L/home/david/Android/Sdk/ndk-bundle/sysroot/usr/lib -lstdc++ -lm -lc -lgcc -ldl crtend_so.o --sysroot=/home/david/Android/Sdk/ndk-bundle/sysroot -O2 --sysroot=/home/david/Android/Sdk/ndk-bundle/sysroot -O2 -Wl,--exclude-libs -Wl,libgcc.a -Wl,--exclude-libs -Wl,libatomic.a --sysroot /home/david/Android/Sdk/ndk-bundle/platforms/android-21/arch-x86_64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z -Wl,noexecstack -Wl,-z -Wl,relro -Wl,-z -Wl,now -o .libs/libicu-le-hb.so.0.0.0
.libs/libicu_le_hb_la-LayoutEngine.o: In function `LayoutEngine':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:206: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LayoutEngine.o: In function `icu_62::LayoutEngine::~LayoutEngine()':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:213: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:213: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:213: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LayoutEngine.cpp:213: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LayoutEngine.o:(.data.rel.ro+0x40): undefined reference to `typeinfo for icu_62::UObject'
.libs/libicu_le_hb_la-LEFontInstance.o: In function `~LEFontInstance':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEFontInstance.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LEFontInstance.o:(.data.rel.ro+0x140): undefined reference to `typeinfo for icu_62::UObject'
.libs/libicu_le_hb_la-LEGlyphStorage.o: In function `icu_62::LEGlyphStorage::~LEGlyphStorage()':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEGlyphStorage.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEGlyphStorage.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEGlyphStorage.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEGlyphStorage.cpp:31: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LEGlyphStorage.o:(.data.rel.ro+0xa8): undefined reference to `typeinfo for icu_62::UObject'
.libs/libicu_le_hb_la-LEInsertionList.o: In function `icu_62::LEInsertionList::~LEInsertionList()':
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEInsertionList.cpp:34: undefined reference to `icu_62::UObject::~UObject()'
/home/david/app/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src/LEInsertionList.cpp:34: undefined reference to `icu_62::UObject::~UObject()'
.libs/libicu_le_hb_la-LEInsertionList.o:(.data.rel.ro+0x40): undefined reference to `typeinfo for icu_62::UObject'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Makefile:455: recipe for target 'libicu-le-hb.la' failed
make[1]: *** [libicu-le-hb.la] Error 1
make[1]: Leaving directory '/home/david/dev/android/AppAndroid/Boost-for-Android/libiconv-libicu-android/x86_64/icu-le-hb-1.0.3/src'
Makefile:446: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
I'm also getting:
clang++: error: no such file or directory: './.libs/libharfbuzz.so'
Would appreciate your help.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#10>, or mute the
thread
<https://github.com/notifications/unsubscribe-auth/AAJewNsxXtso4f2QGpnpkB2vR5rj91wRks5vGFXCgaJpZM4aOroS>
.
david-hoze commented
Hi, I tried all of the repository's revisions both with NDK r17 and NDK r18. None of them worked :(
The last revision with ndk r18 also gives the two errors I listed above (possibly also more, those are the ones I spotted. Exact version is 18.1.5063045.
Will appreciate your help in the matter, our code is heavily dependent on cryptopp.
david-hoze commented
It's solved in dec1/Boost-for-Android#15, thanks a lot.