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
-
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