Hi Li Bing
you might wanna try using android-ndk-r13b instead of android-ndk-r19c and
it will probably work out alright.
The source builds fine for "armeabi" for for "armeabi-v7a" and v8, it
doesn't work on newer NDKs. i think 13b is the magic number you're looking
for.
On Thu, May 9, 2019 at 6:01 PM pjsip-request@lists.pjsip.org wrote:
Send pjsip mailing list submissions to
pjsip@lists.pjsip.org
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
or, via email, send a message with subject or body 'help' to
pjsip-request@lists.pjsip.org
You can reach the person managing the list at
pjsip-owner@lists.pjsip.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of pjsip digest..."
Today's Topics:
1. Android swig "undefined reference to
'pjsua_vid_conf_enum_ports'" (Li, Bing)
Message: 1
Date: Wed, 8 May 2019 17:35:40 -0400
From: "Li, Bing" bingli1000@gmail.com
To: pjsip@lists.pjsip.org
Subject: [pjsip] Android swig "undefined reference to
'pjsua_vid_conf_enum_ports'"
Message-ID:
<CAP9o=2=_
8BUxUm33Qd5ss_8qHvg10vPKHqjjE5H0zDZTN0kGdg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Hi,
I'm trying to git/master (316c315) for our Android app.
#TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags
This command built successfully.
But it failed when I run "make" in pjsip-apps/src/swig.
Any idea about the error "undefined reference to
'pjsua_vid_conf_enum_ports'" ?
root@Ubuntu1604-server-x8664:/opt/pjproject/pjsip-apps/src/swig# make
for dir in java csharp; do
if make -C $dir all; then
true;
else
exit 1;
fi;
done
make[1]: Entering directory '/opt/pjproject/pjsip-apps/src/swig/java'
mkdir -p android/app/src/main/jniLibs/armeabi-v7a
/opt/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
-shared -o android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so
output/pjsua2_wrap.o
-shared -lgcc -Wl,--exclude-libs,libgcc.a -latomic
-Wl,--exclude-libs,libatomic.a -target armv7-none-linux-androideabi19
-no-canonical-prefixes -Wl,--build-id -Wl,--no-undefined -Wl,-z,noexecstack
-Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -lc
-lm -fexceptions -frtti -DPJ_AUTOCONF=1 -target
armv7-none-linux-androideabi19 -fdata-sections -ffunction-sections
-funwind-tables -no-canonical-prefixes --sysroot
/opt/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/sysroot
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-fno-addrsig -fpic -mfpu=vfpv3-d16 -march=armv7-a -mthumb -Oz -DNDEBUG
-Ijni -DANDROID -Wa,--noexecstack -Wformat -Werror=format-security
-I/opt/android-ndk-r19c/sources/cxx-stl/llvm-libc++/include
-DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1
-I/opt/pjproject/pjlib/include -I/opt/pjproject/pjlib-util/include
-I/opt/pjproject/pjnath/include -I/opt/pjproject/pjmedia/include
-I/opt/pjproject/pjsip/include -fPIC -D__ANDROID__
-L/opt/pjproject/pjlib/lib -L/opt/pjproject/pjlib-util/lib
-L/opt/pjproject/pjnath/lib -L/opt/pjproject/pjmedia/lib
-L/opt/pjproject/pjsip/lib -L/opt/pjproject/third_party/lib
--sysroot=
-L/opt/android-ndk-r19c/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/
-lpjsua2-armv7-unknown-linux-android -lstdc++
-lpjsua-armv7-unknown-linux-android -lpjsip-ua-armv7-unknown-linux-android
-lpjsip-simple-armv7-unknown-linux-android
-lpjsip-armv7-unknown-linux-android
-lpjmedia-codec-armv7-unknown-linux-android
-lpjmedia-armv7-unknown-linux-android
-lpjmedia-videodev-armv7-unknown-linux-android
-lpjmedia-audiodev-armv7-unknown-linux-android
-lpjmedia-armv7-unknown-linux-android -lpjnath-armv7-unknown-linux-android
-lpjlib-util-armv7-unknown-linux-android
-lsrtp-armv7-unknown-linux-android -lresample-armv7-unknown-linux-android
-lgsmcodec-armv7-unknown-linux-android -lspeex-armv7-unknown-linux-android
-lilbccodec-armv7-unknown-linux-android
-lg7221codec-armv7-unknown-linux-android -lyuv-armv7-unknown-linux-android
-lwebrtc-armv7-unknown-linux-android -lpj-armv7-unknown-linux-android -lm
-lc++_static -lc++abi -lc -lgcc -ldl -lOpenSLES -llog -lGLESv2 -lEGL
-landroid -Wl,-soname,libpjsua2.so
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(endpoint.o):endpoint.cpp:function
pj::Endpoint::mediaEnumVidPorts() const: error: undefined reference to
'pjsua_vid_conf_enum_ports'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::registerMediaPort(void*, pj_pool_t*): error: undefined
reference to 'pjsua_vid_conf_add_port'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::unregisterMediaPort(): error: undefined reference to
'pjsua_vid_conf_remove_port'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::getPortInfoFromId(int): error: undefined reference to
'pjsua_vid_conf_get_port_info'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::startTransmit(pj::VideoMedia const&,
pj::VideoMediaTransmitParam const&) const: error: undefined reference to
'pjsua_vid_conf_connect'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::stopTransmit(pj::VideoMedia const&) const: error: undefined
reference to 'pjsua_vid_conf_disconnect'
clang++: error: linker command failed with exit code 1 (use -v to see
invocation)
Makefile:165: recipe for target
'android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so' failed
make[1]: *** [android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so] Error
1
make[1]: Leaving directory '/opt/pjproject/pjsip-apps/src/swig/java'
Makefile:27: recipe for target 'all' failed
make: *** [all] Error 1
Thanks,
Bing
Hi Aleksandar,
Thanks for your reply.
Google recently announced that 64 bit has to be supported. I'm trying to
build arm64.
Of course, armv7 needs to be supported anyway. :)
I've downloaded r13b but it failed when I was trying to build pjproject
itself.
#export ANDROID_NDK_ROOT=/opt/android-ndk-r13b
#TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags
#make dep && make clean && make
mkdir -p output/libyuv-armv7-unknown-linux-android/
/opt/android-ndk-r13b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c
-fomit-frame-pointer -Wall -DPJ_AUTOCONF=1 -gcc-toolchain
/opt/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
-fpic -ffunction-sections -funwind-tables
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-no-canonical-prefixes -fno-integrated-as -target
armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp
-mfpu=vfpv3-d16 -mthumb -Os -DNDEBUG -Ijni -DANDROID -Wa,--noexecstack
-Wformat -Werror=format-security -isystem
/opt/android-ndk-r13b/platforms/android-19/arch-arm/usr/include
-I/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include
-DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I. -I../../yuv/include
-I../../../pjlib/include
-o output/libyuv-armv7-unknown-linux-android/compare.o
../../yuv/source/compare.cc
In file included from ../../yuv/source/compare.cc:14:
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:661:91:
error: use of undeclared identifier 'acosl'
inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x)
_NOEXCEPT {return acosl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:673:91:
error: use of undeclared identifier 'asinl'
inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __lcpp_x)
_NOEXCEPT {return asinl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:685:91:
error: use of undeclared identifier 'atanl'
inline _LIBCPP_INLINE_VISIBILITY long double atan(long double __lcpp_x)
_NOEXCEPT {return atanl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:697:114:
error: use of undeclared identifier 'atan2l'
inline _LIBCPP_INLINE_VISIBILITY long double atan2(long double __lcpp_y,
long double __lcpp_x) _NOEXCEPT {return atan2l(__lcpp_y, __lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:732:90:
error: use of undeclared identifier 'cosl'
inline _LIBCPP_INLINE_VISIBILITY long double cos(long double __lcpp_x)
_NOEXCEPT {return cosl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:744:91:
error: use of undeclared identifier 'coshl'
inline _LIBCPP_INLINE_VISIBILITY long double cosh(long double __lcpp_x)
_NOEXCEPT {return coshl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:756:90:
error: use of undeclared identifier 'expl'
inline _LIBCPP_INLINE_VISIBILITY long double exp(long double __lcpp_x)
_NOEXCEPT {return expl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:792:113:
error: use of undeclared identifier 'fmodl'
inline _LIBCPP_INLINE_VISIBILITY long double fmod(long double __lcpp_x,
long double __lcpp_y) _NOEXCEPT {return fmodl(__lcpp_x, __lcpp_y);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:839:90:
error: use of undeclared identifier 'logl'
inline _LIBCPP_INLINE_VISIBILITY long double log(long double __lcpp_x)
_NOEXCEPT {return logl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:851:92:
error: use of undeclared identifier 'log10l'
inline _LIBCPP_INLINE_VISIBILITY long double log10(long double __lcpp_x)
_NOEXCEPT {return log10l(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:863:114:
error: use of undeclared identifier 'modfl'
inline _LIBCPP_INLINE_VISIBILITY long double modf(long double __lcpp_x,
long double* __lcpp_y) _NOEXCEPT {return modfl(__lcpp_x, __lcpp_y);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:870:112:
error: use of undeclared identifier 'powl'
inline _LIBCPP_INLINE_VISIBILITY long double pow(long double __lcpp_x, long
double __lcpp_y) _NOEXCEPT {return powl(__lcpp_x, __lcpp_y);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:893:90:
error: use of undeclared identifier 'sinl'
inline _LIBCPP_INLINE_VISIBILITY long double sin(long double __lcpp_x)
_NOEXCEPT {return sinl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:905:91:
error: use of undeclared identifier 'sinhl'
inline _LIBCPP_INLINE_VISIBILITY long double sinh(long double __lcpp_x)
_NOEXCEPT {return sinhl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:917:91:
error: use of undeclared identifier 'sqrtl'
inline _LIBCPP_INLINE_VISIBILITY long double sqrt(long double __lcpp_x)
_NOEXCEPT {return sqrtl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:931:90:
error: use of undeclared identifier 'tanl'
inline _LIBCPP_INLINE_VISIBILITY long double tan(long double __lcpp_x)
_NOEXCEPT {return tanl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:943:91:
error: use of undeclared identifier 'tanhl'
inline _LIBCPP_INLINE_VISIBILITY long double tanh(long double __lcpp_x)
_NOEXCEPT {return tanhl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:955:92:
error: use of undeclared identifier 'acoshl'
inline _LIBCPP_INLINE_VISIBILITY long double acosh(long double __lcpp_x)
_NOEXCEPT {return acoshl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:967:92:
error: use of undeclared identifier 'asinhl'
inline _LIBCPP_INLINE_VISIBILITY long double asinh(long double __lcpp_x)
_NOEXCEPT {return asinhl(__lcpp_x);}
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
/opt/pjproject/build/rules.mak:178: recipe for target
'output/libyuv-armv7-unknown-linux-android/compare.o' failed
make[3]: *** [output/libyuv-armv7-unknown-linux-android/compare.o] Error 1
make[3]: Leaving directory '/opt/pjproject/third_party/build/yuv'
Makefile:100: recipe for target 'libyuv-armv7-unknown-linux-android.a'
failed
make[2]: *** [libyuv-armv7-unknown-linux-android.a] Error 2
make[2]: Leaving directory '/opt/pjproject/third_party/build/yuv'
Makefile:7: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/opt/pjproject/third_party/build'
Makefile:14: recipe for target 'all' failed
make: *** [all] Error 1
On Thu, May 9, 2019 at 1:24 PM Aleksandar Milenkovic shark@lotusflare.com
wrote:
Hi Li Bing
you might wanna try using android-ndk-r13b instead of android-ndk-r19c and
it will probably work out alright.
The source builds fine for "armeabi" for for "armeabi-v7a" and v8, it
doesn't work on newer NDKs. i think 13b is the magic number you're looking
for.
On Thu, May 9, 2019 at 6:01 PM pjsip-request@lists.pjsip.org wrote:
Send pjsip mailing list submissions to
pjsip@lists.pjsip.org
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
or, via email, send a message with subject or body 'help' to
pjsip-request@lists.pjsip.org
You can reach the person managing the list at
pjsip-owner@lists.pjsip.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of pjsip digest..."
Today's Topics:
1. Android swig "undefined reference to
'pjsua_vid_conf_enum_ports'" (Li, Bing)
Message: 1
Date: Wed, 8 May 2019 17:35:40 -0400
From: "Li, Bing" bingli1000@gmail.com
To: pjsip@lists.pjsip.org
Subject: [pjsip] Android swig "undefined reference to
'pjsua_vid_conf_enum_ports'"
Message-ID:
<CAP9o=2=_
8BUxUm33Qd5ss_8qHvg10vPKHqjjE5H0zDZTN0kGdg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Hi,
I'm trying to git/master (316c315) for our Android app.
#TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags
This command built successfully.
But it failed when I run "make" in pjsip-apps/src/swig.
Any idea about the error "undefined reference to
'pjsua_vid_conf_enum_ports'" ?
root@Ubuntu1604-server-x8664:/opt/pjproject/pjsip-apps/src/swig# make
for dir in java csharp; do
if make -C $dir all; then
true;
else
exit 1;
fi;
done
make[1]: Entering directory '/opt/pjproject/pjsip-apps/src/swig/java'
mkdir -p android/app/src/main/jniLibs/armeabi-v7a
/opt/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
-shared -o android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so
output/pjsua2_wrap.o
-shared -lgcc -Wl,--exclude-libs,libgcc.a -latomic
-Wl,--exclude-libs,libatomic.a -target armv7-none-linux-androideabi19
-no-canonical-prefixes -Wl,--build-id -Wl,--no-undefined
-Wl,-z,noexecstack
-Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -lc
-lm -fexceptions -frtti -DPJ_AUTOCONF=1 -target
armv7-none-linux-androideabi19 -fdata-sections -ffunction-sections
-funwind-tables -no-canonical-prefixes --sysroot
/opt/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/sysroot
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-fno-addrsig -fpic -mfpu=vfpv3-d16 -march=armv7-a -mthumb -Oz -DNDEBUG
-Ijni -DANDROID -Wa,--noexecstack -Wformat -Werror=format-security
-I/opt/android-ndk-r19c/sources/cxx-stl/llvm-libc++/include
-DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1
-I/opt/pjproject/pjlib/include -I/opt/pjproject/pjlib-util/include
-I/opt/pjproject/pjnath/include -I/opt/pjproject/pjmedia/include
-I/opt/pjproject/pjsip/include -fPIC -D__ANDROID__
-L/opt/pjproject/pjlib/lib -L/opt/pjproject/pjlib-util/lib
-L/opt/pjproject/pjnath/lib -L/opt/pjproject/pjmedia/lib
-L/opt/pjproject/pjsip/lib -L/opt/pjproject/third_party/lib
--sysroot=
-L/opt/android-ndk-r19c/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/
-lpjsua2-armv7-unknown-linux-android -lstdc++
-lpjsua-armv7-unknown-linux-android -lpjsip-ua-armv7-unknown-linux-android
-lpjsip-simple-armv7-unknown-linux-android
-lpjsip-armv7-unknown-linux-android
-lpjmedia-codec-armv7-unknown-linux-android
-lpjmedia-armv7-unknown-linux-android
-lpjmedia-videodev-armv7-unknown-linux-android
-lpjmedia-audiodev-armv7-unknown-linux-android
-lpjmedia-armv7-unknown-linux-android -lpjnath-armv7-unknown-linux-android
-lpjlib-util-armv7-unknown-linux-android
-lsrtp-armv7-unknown-linux-android -lresample-armv7-unknown-linux-android
-lgsmcodec-armv7-unknown-linux-android -lspeex-armv7-unknown-linux-android
-lilbccodec-armv7-unknown-linux-android
-lg7221codec-armv7-unknown-linux-android -lyuv-armv7-unknown-linux-android
-lwebrtc-armv7-unknown-linux-android -lpj-armv7-unknown-linux-android -lm
-lc++_static -lc++abi -lc -lgcc -ldl -lOpenSLES -llog -lGLESv2 -lEGL
-landroid -Wl,-soname,libpjsua2.so
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(endpoint.o):endpoint.cpp:function
pj::Endpoint::mediaEnumVidPorts() const: error: undefined reference to
'pjsua_vid_conf_enum_ports'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::registerMediaPort(void*, pj_pool_t*): error: undefined
reference to 'pjsua_vid_conf_add_port'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::unregisterMediaPort(): error: undefined reference to
'pjsua_vid_conf_remove_port'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::getPortInfoFromId(int): error: undefined reference to
'pjsua_vid_conf_get_port_info'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::startTransmit(pj::VideoMedia const&,
pj::VideoMediaTransmitParam const&) const: error: undefined reference to
'pjsua_vid_conf_connect'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::stopTransmit(pj::VideoMedia const&) const: error:
undefined
reference to 'pjsua_vid_conf_disconnect'
clang++: error: linker command failed with exit code 1 (use -v to see
invocation)
Makefile:165: recipe for target
'android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so' failed
make[1]: *** [android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so]
Error 1
make[1]: Leaving directory '/opt/pjproject/pjsip-apps/src/swig/java'
Makefile:27: recipe for target 'all' failed
make: *** [all] Error 1
Thanks,
Bing
The error in the last message was caused by yuv.
I've disabled video.
Got the following errors when I trying to build by r13b.
mkdir -p output/pjsua2-lib-armv7-unknown-linux-android/
/opt/android-ndk-r13b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c
-Wall -DPJ_AUTOCONF=1 -gcc-toolchain
/opt/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
-fpic -ffunction-sections -funwind-tables
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-no-canonical-prefixes -fno-integrated-as -target
armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp
-mfpu=vfpv3-d16 -mthumb -Os -DNDEBUG -Ijni -DANDROID -Wa,--noexecstack
-Wformat -Werror=format-security -isystem
/opt/android-ndk-r13b/platforms/android-19/arch-arm/usr/include
-I/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include
-DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I../include
-I../../pjlib/include -I../../pjlib-util/include -I../../pjnath/include
-I../../pjmedia/include -DPJ_AUTOCONF=1 -shared
--sysroot=/opt/android-ndk-r13b/platforms/android-19/arch-arm -lgcc
-gcc-toolchain
/opt/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
-no-canonical-prefixes -target armv7-none-linux-androideabi
-Wl,--fix-cortex-a8 -Wl,--build-id -Wl,--no-undefined -Wl,-z,noexecstack
-Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -lc
-lm -fexceptions -frtti -Wall -DPJ_AUTOCONF=1 -gcc-toolchain
/opt/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
-fpic -ffunction-sections -funwind-tables
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-no-canonical-prefixes -fno-integrated-as -target
armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp
-mfpu=vfpv3-d16 -mthumb -Os -DNDEBUG -Ijni -DANDROID -Wa,--noexecstack
-Wformat -Werror=format-security -isystem
/opt/android-ndk-r13b/platforms/android-19/arch-arm/usr/include
-I/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include
-DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I../include
-I../../pjlib/include -I../../pjlib-util/include -I../../pjnath/include
-I../../pjmedia/include
-o output/pjsua2-lib-armv7-unknown-linux-android/account.o
../src/pjsua2/account.cpp
In file included from ../src/pjsua2/account.cpp:19:
In file included from ../include/pjsua2/account.hpp:27:
In file included from ../include/pjsua2/persistent.hpp:26:
In file included from ../include/pjsua2/types.hpp:33:
In file included from
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/string:441:
In file included from
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwchar:107:
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwctype:68:9:
error: no member named 'iswblank' in the global namespace; did you mean
'isblank'?
using ::iswblank;
~~^
/opt/android-ndk-r13b/platforms/android-19/arch-arm/usr/include/ctype.h:173:20:
note: 'isblank' declared here
__CTYPE_INLINE int isblank(int c)
^
In file included from ../src/pjsua2/account.cpp:19:
In file included from ../include/pjsua2/account.hpp:27:
In file included from ../include/pjsua2/persistent.hpp:26:
In file included from ../include/pjsua2/types.hpp:33:
In file included from
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/string:441:
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwchar:128:9:
error: no member named 'vfwscanf' in the global namespace
using ::vfwscanf;
~~^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwchar:129:9:
error: no member named 'vswscanf' in the global namespace
using ::vswscanf;
~~^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwchar:141:9:
error: no member named 'wcstof' in the global namespace
using ::wcstof;
~~^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwchar:142:9:
error: no member named 'wcstold' in the global namespace
using ::wcstold;
~~^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwchar:146:9:
error: no member named 'wcstoll' in the global namespace
using ::wcstoll;
~~^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwchar:150:9:
error: no member named 'wcstoull' in the global namespace; did you mean
'wcstoul'?
using ::wcstoull;
~~^
/opt/android-ndk-r13b/platforms/android-19/arch-arm/usr/include/wchar.h:128:26:
note: 'wcstoul' declared here
extern unsigned long int wcstoul(const wchar_t *, wchar_t **, int);
^
In file included from ../src/pjsua2/account.cpp:19:
In file included from ../include/pjsua2/account.hpp:27:
In file included from ../include/pjsua2/persistent.hpp:26:
In file included from ../include/pjsua2/types.hpp:33:
In file included from
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/string:441:
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/cwchar:186:9:
error: no member named 'vwscanf' in the global namespace
using ::vwscanf;
~~^
8 errors generated.
On Thu, May 9, 2019 at 2:57 PM Li, Bing bingli1000@gmail.com wrote:
Hi Aleksandar,
Thanks for your reply.
Google recently announced that 64 bit has to be supported. I'm trying to
build arm64.
Of course, armv7 needs to be supported anyway. :)
I've downloaded r13b but it failed when I was trying to build pjproject
itself.
#export ANDROID_NDK_ROOT=/opt/android-ndk-r13b
#TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags
#make dep && make clean && make
mkdir -p output/libyuv-armv7-unknown-linux-android/
/opt/android-ndk-r13b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -c
-fomit-frame-pointer -Wall -DPJ_AUTOCONF=1 -gcc-toolchain
/opt/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
-fpic -ffunction-sections -funwind-tables
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-no-canonical-prefixes -fno-integrated-as -target
armv7-none-linux-androideabi -march=armv7-a -mfloat-abi=softfp
-mfpu=vfpv3-d16 -mthumb -Os -DNDEBUG -Ijni -DANDROID -Wa,--noexecstack
-Wformat -Werror=format-security -isystem
/opt/android-ndk-r13b/platforms/android-19/arch-arm/usr/include
-I/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include
-DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I. -I../../yuv/include
-I../../../pjlib/include
-o output/libyuv-armv7-unknown-linux-android/compare.o
../../yuv/source/compare.cc
In file included from ../../yuv/source/compare.cc:14:
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:661:91:
error: use of undeclared identifier 'acosl'
inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x)
_NOEXCEPT {return acosl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:673:91:
error: use of undeclared identifier 'asinl'
inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __lcpp_x)
_NOEXCEPT {return asinl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:685:91:
error: use of undeclared identifier 'atanl'
inline _LIBCPP_INLINE_VISIBILITY long double atan(long double __lcpp_x)
_NOEXCEPT {return atanl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:697:114:
error: use of undeclared identifier 'atan2l'
inline _LIBCPP_INLINE_VISIBILITY long double atan2(long double __lcpp_y,
long double __lcpp_x) _NOEXCEPT {return atan2l(__lcpp_y, __lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:732:90:
error: use of undeclared identifier 'cosl'
inline _LIBCPP_INLINE_VISIBILITY long double cos(long double __lcpp_x)
_NOEXCEPT {return cosl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:744:91:
error: use of undeclared identifier 'coshl'
inline _LIBCPP_INLINE_VISIBILITY long double cosh(long double __lcpp_x)
_NOEXCEPT {return coshl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:756:90:
error: use of undeclared identifier 'expl'
inline _LIBCPP_INLINE_VISIBILITY long double exp(long double __lcpp_x)
_NOEXCEPT {return expl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:792:113:
error: use of undeclared identifier 'fmodl'
inline _LIBCPP_INLINE_VISIBILITY long double fmod(long double __lcpp_x,
long double __lcpp_y) _NOEXCEPT {return fmodl(__lcpp_x, __lcpp_y);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:839:90:
error: use of undeclared identifier 'logl'
inline _LIBCPP_INLINE_VISIBILITY long double log(long double __lcpp_x)
_NOEXCEPT {return logl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:851:92:
error: use of undeclared identifier 'log10l'
inline _LIBCPP_INLINE_VISIBILITY long double log10(long double __lcpp_x)
_NOEXCEPT {return log10l(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:863:114:
error: use of undeclared identifier 'modfl'
inline _LIBCPP_INLINE_VISIBILITY long double modf(long double __lcpp_x,
long double* __lcpp_y) _NOEXCEPT {return modfl(__lcpp_x, __lcpp_y);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:870:112:
error: use of undeclared identifier 'powl'
inline _LIBCPP_INLINE_VISIBILITY long double pow(long double __lcpp_x,
long double __lcpp_y) _NOEXCEPT {return powl(__lcpp_x, __lcpp_y);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:893:90:
error: use of undeclared identifier 'sinl'
inline _LIBCPP_INLINE_VISIBILITY long double sin(long double __lcpp_x)
_NOEXCEPT {return sinl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:905:91:
error: use of undeclared identifier 'sinhl'
inline _LIBCPP_INLINE_VISIBILITY long double sinh(long double __lcpp_x)
_NOEXCEPT {return sinhl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:917:91:
error: use of undeclared identifier 'sqrtl'
inline _LIBCPP_INLINE_VISIBILITY long double sqrt(long double __lcpp_x)
_NOEXCEPT {return sqrtl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:931:90:
error: use of undeclared identifier 'tanl'
inline _LIBCPP_INLINE_VISIBILITY long double tan(long double __lcpp_x)
_NOEXCEPT {return tanl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:943:91:
error: use of undeclared identifier 'tanhl'
inline _LIBCPP_INLINE_VISIBILITY long double tanh(long double __lcpp_x)
_NOEXCEPT {return tanhl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:955:92:
error: use of undeclared identifier 'acoshl'
inline _LIBCPP_INLINE_VISIBILITY long double acosh(long double __lcpp_x)
_NOEXCEPT {return acoshl(__lcpp_x);}
^
/opt/android-ndk-r13b/sources/cxx-stl/llvm-libc++/include/math.h:967:92:
error: use of undeclared identifier 'asinhl'
inline _LIBCPP_INLINE_VISIBILITY long double asinh(long double __lcpp_x)
_NOEXCEPT {return asinhl(__lcpp_x);}
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
/opt/pjproject/build/rules.mak:178: recipe for target
'output/libyuv-armv7-unknown-linux-android/compare.o' failed
make[3]: *** [output/libyuv-armv7-unknown-linux-android/compare.o] Error 1
make[3]: Leaving directory '/opt/pjproject/third_party/build/yuv'
Makefile:100: recipe for target 'libyuv-armv7-unknown-linux-android.a'
failed
make[2]: *** [libyuv-armv7-unknown-linux-android.a] Error 2
make[2]: Leaving directory '/opt/pjproject/third_party/build/yuv'
Makefile:7: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/opt/pjproject/third_party/build'
Makefile:14: recipe for target 'all' failed
make: *** [all] Error 1
On Thu, May 9, 2019 at 1:24 PM Aleksandar Milenkovic shark@lotusflare.com
wrote:
Hi Li Bing
you might wanna try using android-ndk-r13b instead of android-ndk-r19c
and it will probably work out alright.
The source builds fine for "armeabi" for for "armeabi-v7a" and v8, it
doesn't work on newer NDKs. i think 13b is the magic number you're looking
for.
On Thu, May 9, 2019 at 6:01 PM pjsip-request@lists.pjsip.org wrote:
Send pjsip mailing list submissions to
pjsip@lists.pjsip.org
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
or, via email, send a message with subject or body 'help' to
pjsip-request@lists.pjsip.org
You can reach the person managing the list at
pjsip-owner@lists.pjsip.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of pjsip digest..."
Today's Topics:
1. Android swig "undefined reference to
'pjsua_vid_conf_enum_ports'" (Li, Bing)
Message: 1
Date: Wed, 8 May 2019 17:35:40 -0400
From: "Li, Bing" bingli1000@gmail.com
To: pjsip@lists.pjsip.org
Subject: [pjsip] Android swig "undefined reference to
'pjsua_vid_conf_enum_ports'"
Message-ID:
<CAP9o=2=_
8BUxUm33Qd5ss_8qHvg10vPKHqjjE5H0zDZTN0kGdg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Hi,
I'm trying to git/master (316c315) for our Android app.
#TARGET_ABI=armeabi-v7a ./configure-android --use-ndk-cflags
This command built successfully.
But it failed when I run "make" in pjsip-apps/src/swig.
Any idea about the error "undefined reference to
'pjsua_vid_conf_enum_ports'" ?
root@Ubuntu1604-server-x8664:/opt/pjproject/pjsip-apps/src/swig# make
for dir in java csharp; do
if make -C $dir all; then
true;
else
exit 1;
fi;
done
make[1]: Entering directory '/opt/pjproject/pjsip-apps/src/swig/java'
mkdir -p android/app/src/main/jniLibs/armeabi-v7a
/opt/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++
-shared -o android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so
output/pjsua2_wrap.o
-shared -lgcc -Wl,--exclude-libs,libgcc.a -latomic
-Wl,--exclude-libs,libatomic.a -target armv7-none-linux-androideabi19
-no-canonical-prefixes -Wl,--build-id -Wl,--no-undefined
-Wl,-z,noexecstack
-Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings
-lc
-lm -fexceptions -frtti -DPJ_AUTOCONF=1 -target
armv7-none-linux-androideabi19 -fdata-sections -ffunction-sections
-funwind-tables -no-canonical-prefixes --sysroot
/opt/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/sysroot
-Wno-invalid-command-line-argument -Wno-unused-command-line-argument
-fno-addrsig -fpic -mfpu=vfpv3-d16 -march=armv7-a -mthumb -Oz -DNDEBUG
-Ijni -DANDROID -Wa,--noexecstack -Wformat -Werror=format-security
-I/opt/android-ndk-r19c/sources/cxx-stl/llvm-libc++/include
-DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1
-I/opt/pjproject/pjlib/include -I/opt/pjproject/pjlib-util/include
-I/opt/pjproject/pjnath/include -I/opt/pjproject/pjmedia/include
-I/opt/pjproject/pjsip/include -fPIC -D__ANDROID__
-L/opt/pjproject/pjlib/lib -L/opt/pjproject/pjlib-util/lib
-L/opt/pjproject/pjnath/lib -L/opt/pjproject/pjmedia/lib
-L/opt/pjproject/pjsip/lib -L/opt/pjproject/third_party/lib
--sysroot=
-L/opt/android-ndk-r19c/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/
-lpjsua2-armv7-unknown-linux-android -lstdc++
-lpjsua-armv7-unknown-linux-android
-lpjsip-ua-armv7-unknown-linux-android
-lpjsip-simple-armv7-unknown-linux-android
-lpjsip-armv7-unknown-linux-android
-lpjmedia-codec-armv7-unknown-linux-android
-lpjmedia-armv7-unknown-linux-android
-lpjmedia-videodev-armv7-unknown-linux-android
-lpjmedia-audiodev-armv7-unknown-linux-android
-lpjmedia-armv7-unknown-linux-android
-lpjnath-armv7-unknown-linux-android
-lpjlib-util-armv7-unknown-linux-android
-lsrtp-armv7-unknown-linux-android -lresample-armv7-unknown-linux-android
-lgsmcodec-armv7-unknown-linux-android
-lspeex-armv7-unknown-linux-android
-lilbccodec-armv7-unknown-linux-android
-lg7221codec-armv7-unknown-linux-android
-lyuv-armv7-unknown-linux-android
-lwebrtc-armv7-unknown-linux-android -lpj-armv7-unknown-linux-android
-lm
-lc++_static -lc++abi -lc -lgcc -ldl -lOpenSLES -llog -lGLESv2 -lEGL
-landroid -Wl,-soname,libpjsua2.so
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(endpoint.o):endpoint.cpp:function
pj::Endpoint::mediaEnumVidPorts() const: error: undefined reference to
'pjsua_vid_conf_enum_ports'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::registerMediaPort(void*, pj_pool_t*): error: undefined
reference to 'pjsua_vid_conf_add_port'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::unregisterMediaPort(): error: undefined reference to
'pjsua_vid_conf_remove_port'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::getPortInfoFromId(int): error: undefined reference to
'pjsua_vid_conf_get_port_info'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::startTransmit(pj::VideoMedia const&,
pj::VideoMediaTransmitParam const&) const: error: undefined reference to
'pjsua_vid_conf_connect'
/opt/pjproject/pjsip/lib/libpjsua2-armv7-unknown-linux-android.a(media.o):media.cpp:function
pj::VideoMedia::stopTransmit(pj::VideoMedia const&) const: error:
undefined
reference to 'pjsua_vid_conf_disconnect'
clang++: error: linker command failed with exit code 1 (use -v to see
invocation)
Makefile:165: recipe for target
'android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so' failed
make[1]: *** [android/app/src/main/jniLibs/armeabi-v7a/libpjsua2.so]
Error 1
make[1]: Leaving directory '/opt/pjproject/pjsip-apps/src/swig/java'
Makefile:27: recipe for target 'all' failed
make: *** [all] Error 1
Thanks,
Bing