Can't Compile: hb-ot.h not found #18597
Unanswered
henrijaeger
asked this question in
Q&A
Replies: 2 comments 6 replies
-
|
We use android-ndk-23 to compile, probably it's time to upgrade to android-ndk-26... |
Beta Was this translation helpful? Give feedback.
2 replies
-
|
I had the same issue and fixed it by modifying build-common.gradle like this: It seems like old-ndk-build.sh brings some incompatibilities... Hope that helps. |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment


Uh oh!
There was an error while loading. Please reload this page.
-
Hi all, I am trying to build OsmAnd from source. However, compiling the project always results in a build failure due to a missing header file called "hb-ot.h".
I already installed harfbuzz (tried both from source as well as using homebrew). I followed the steps on the support page: https://osmand.net/docs/technical/build-osmand/how-to-compile-the-android-version/
Does somebody have a solution for that?
Thanks a lot in advance!
fcntl(): Bad file descriptor
Android NDK: WARNING: APP_PLATFORM android-21 is higher than android:minSdkVersion 1 in ./AndroidManifest.xml. NDK binaries will not be compatible with devices older than android-21. See https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md for more information.
OsmAnd root: jni/../../..
OsmAnd makefiles: jni/../../../core-legacy/targets/android/OsmAndCore/Android.mk jni/../../../core-legacy/targets/android/expat/Android.mk jni/../../../core-legacy/targets/android/freetype/Android.mk jni/../../../core-legacy/targets/android/giflib/Android.mk jni/../../../core-legacy/targets/android/harfbuzz/Android.mk jni/../../../core-legacy/targets/android/jpeg/Android.mk jni/../../../core-legacy/targets/android/libpng/Android.mk jni/../../../core-legacy/targets/android/lua/Android.mk jni/../../../core-legacy/targets/android/protobuf/Android.mk jni/../../../core-legacy/targets/android/skia/Android.mk
OsmAnd root: jni/../../..
OsmAnd makefiles: jni/../../../core-legacy/targets/android/OsmAndCore/Android.mk jni/../../../core-legacy/targets/android/expat/Android.mk jni/../../../core-legacy/targets/android/freetype/Android.mk jni/../../../core-legacy/targets/android/giflib/Android.mk jni/../../../core-legacy/targets/android/harfbuzz/Android.mk jni/../../../core-legacy/targets/android/jpeg/Android.mk jni/../../../core-legacy/targets/android/libpng/Android.mk jni/../../../core-legacy/targets/android/lua/Android.mk jni/../../../core-legacy/targets/android/protobuf/Android.mk jni/../../../core-legacy/targets/android/skia/Android.mk
OsmAnd root: jni/../../..
OsmAnd makefiles: jni/../../../core-legacy/targets/android/OsmAndCore/Android.mk jni/../../../core-legacy/targets/android/expat/Android.mk jni/../../../core-legacy/targets/android/freetype/Android.mk jni/../../../core-legacy/targets/android/giflib/Android.mk jni/../../../core-legacy/targets/android/harfbuzz/Android.mk jni/../../../core-legacy/targets/android/jpeg/Android.mk jni/../../../core-legacy/targets/android/libpng/Android.mk jni/../../../core-legacy/targets/android/lua/Android.mk jni/../../../core-legacy/targets/android/protobuf/Android.mk jni/../../../core-legacy/targets/android/skia/Android.mk
OsmAnd root: jni/../../..
OsmAnd makefiles: jni/../../../core-legacy/targets/android/OsmAndCore/Android.mk jni/../../../core-legacy/targets/android/expat/Android.mk jni/../../../core-legacy/targets/android/freetype/Android.mk jni/../../../core-legacy/targets/android/giflib/Android.mk jni/../../../core-legacy/targets/android/harfbuzz/Android.mk jni/../../../core-legacy/targets/android/jpeg/Android.mk jni/../../../core-legacy/targets/android/libpng/Android.mk jni/../../../core-legacy/targets/android/lua/Android.mk jni/../../../core-legacy/targets/android/protobuf/Android.mk jni/../../../core-legacy/targets/android/skia/Android.mk
fcntl(): Bad file descriptor
[x86] Compile++ : osmand <= commonRendering.cpp
In file included from jni/../../../core-legacy/targets/android/OsmAndCore/../../../native/src/commonRendering.cpp:1:
jni/../../../core-legacy/targets/android/OsmAndCore/../../../native/src/commonRendering.h:10:10: fatal error: 'hb-ot.h' file not found
#include <hb-ot.h>
^~~~~~~~~
1 error generated.
make: *** [/Users/henrijager/Library/Android/sdk/ndk/23.0.7599858/build/core/build-binary.mk:478: obj/local/x86/objs/osmand////native/src/commonRendering.o] Error 1
make: *** Waiting for unfinished jobs....
fcntl(): Bad file descriptor
[x86] Compile++ : osmand <= renderRules.cpp
In file included from jni/../../../core-legacy/targets/android/OsmAndCore/../../../native/src/renderRules.cpp:1:
In file included from jni/../../../core-legacy/targets/android/OsmAndCore/../../../native/src/renderRules.h:18:
jni/../../../core-legacy/targets/android/OsmAndCore/../../../native/src/commonRendering.h:10:10: fatal error: 'hb-ot.h' file not found
#include <hb-ot.h>
^~~~~~~~~
1 error generated.
make: *** [/Users/henrijager/Library/Android/sdk/ndk/23.0.7599858/build/core/build-binary.mk:478: obj/local/x86/objs/osmand////native/src/renderRules.o] Error 1
FAILURE: Build completed with 2 failures.
1: Task failed with an exception.
Execution failed for task ':OsmAnd:buildOsmAndCore'.
2: Task failed with an exception.
java.lang.StackOverflowError (no error message)
Beta Was this translation helpful? Give feedback.
All reactions