Android x86 with NDK20 compile error

LO
Lars Olsson
Thu, Aug 15, 2019 10:31 AM

In file included from
../../webrtc/src/webrtc//system_wrappers/source/cpu_features.cc:13:

*../../webrtc/src/webrtc/system_wrappers/interface/cpu_features_wrapper.h:45:8:
**error: *unknown type name 'uint64_t'

extern uint64_t WebRtc_GetCPUFeaturesARM(void);

Steps to reproduce:

export ANDROID_NDK_ROOT=/<path_to_ndks>/android-ndk-r20/

TARGET_ABI=x86 ./configure-android --use-ndk-cflags

make dep && make clean && make

/ Lars

In file included from ../../webrtc/src/webrtc//system_wrappers/source/cpu_features.cc:13: *../../webrtc/src/webrtc/system_wrappers/interface/cpu_features_wrapper.h:45:8: **error: **unknown type name 'uint64_t'* extern uint64_t WebRtc_GetCPUFeaturesARM(void); Steps to reproduce: export ANDROID_NDK_ROOT=/<path_to_ndks>/android-ndk-r20/ TARGET_ABI=x86 ./configure-android --use-ndk-cflags make dep && make clean && make / Lars
NI
Nanang Izzuddin
Fri, Sep 6, 2019 8:36 AM

Hi Lars,

This has been reported before by a customer, and the workaround has just
been checked in to SVN trunk: https://trac.pjsip.org/repos/changeset/6066.

Just FYI, this was our investigation result:
The NDK r20 seems to modify one of its C++ include dir contents so the
compiler cannot find the correct "stdint.h" file, i.e: it finds and uses
only the C++ version headers (twice, two similar stdint.h files in
different dirs), while uint64_t definition is only defined in the C version
header. Not sure if the fix should be done in the PJSIP (build config) as
it sounds like the NDK bug.

BR,
nanang

On Thu, Aug 15, 2019 at 5:32 PM Lars Olsson lars.olsson76@gmail.com wrote:

In file included from
../../webrtc/src/webrtc//system_wrappers/source/cpu_features.cc:13:

*../../webrtc/src/webrtc/system_wrappers/interface/cpu_features_wrapper.h:45:8:
**error: *unknown type name 'uint64_t'

extern uint64_t WebRtc_GetCPUFeaturesARM(void);

Steps to reproduce:

export ANDROID_NDK_ROOT=/<path_to_ndks>/android-ndk-r20/

TARGET_ABI=x86 ./configure-android --use-ndk-cflags

make dep && make clean && make

/ Lars


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Lars, This has been reported before by a customer, and the workaround has just been checked in to SVN trunk: https://trac.pjsip.org/repos/changeset/6066. Just FYI, this was our investigation result: The NDK r20 seems to modify one of its C++ include dir contents so the compiler cannot find the correct "stdint.h" file, i.e: it finds and uses only the C++ version headers (twice, two similar stdint.h files in different dirs), while uint64_t definition is only defined in the C version header. Not sure if the fix should be done in the PJSIP (build config) as it sounds like the NDK bug. BR, nanang On Thu, Aug 15, 2019 at 5:32 PM Lars Olsson <lars.olsson76@gmail.com> wrote: > > In file included from > ../../webrtc/src/webrtc//system_wrappers/source/cpu_features.cc:13: > > *../../webrtc/src/webrtc/system_wrappers/interface/cpu_features_wrapper.h:45:8: > **error: **unknown type name 'uint64_t'* > > extern uint64_t WebRtc_GetCPUFeaturesARM(void); > > > > Steps to reproduce: > > > export ANDROID_NDK_ROOT=/<path_to_ndks>/android-ndk-r20/ > > TARGET_ABI=x86 ./configure-android --use-ndk-cflags > > make dep && make clean && make > > > / Lars > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >