[FFmpeg-trac] #7741(avformat:new): when use ndk bulid the 4.1 code occur error
FFmpeg
trac at avcodec.org
Sat Feb 16 15:21:42 EET 2019
#7741: when use ndk bulid the 4.1 code occur error
------------------------------------+--------------------------------------
Reporter: hitvz | Type: defect
Status: new | Priority: normal
Component: avformat | Version: git-master
Keywords: error occr | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
------------------------------------+--------------------------------------
the configuration shell script:
#!/bin/bash
NDK=/home/hui/Desktop/android-ndk-r16b
SYSROOT=$NDK/platforms/android-21/arch-arm/
CPU=armv7-a
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
export PATH=$PATH:/usr/lib/jvm/java-8-openjdk-amd64/include
function build_android
{
./configure \
--prefix=$PREFIX \
--enable-neon \
--enable-hwaccels \
--enable-shared \
--enable-jni \
--enable-mediacodec \
--enable-decoder=h264_mediacodec \
--disable-static \
--disable-doc \
--enable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--enable-avdevice \
--disable-doc \
--disable-symver \
--cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=arm \
--cpu=armv7-a \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-shared -I /usr/lib/jvm/java-1.8.0-openjdk-amd64/include/
-I /usr/lib/jvm/java-1.8.0-openjdk-amd64/include/linux/ -I
/home/hui/Desktop/android-ndk-r16b/sysroot/usr/include -I
/home/hui/Desktop/android-ndk-r16b/sysroot/usr/include/arm-linux-
androideabi -Os -fpic $OPTIMIZE_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
}
build_android
---------------------
when i use option --disable-avformat , it is normal to build.
if not, it will occur the below error:
libavformat/udp.c: In function 'udp_set_multicast_sources':
libavformat/udp.c:290:28: error: request for member 's_addr' in something
not a structure or union
mreqs.imr_multiaddr.s_addr = ((struct sockaddr_in
*)addr)->sin_addr.s_addr;
^
libavformat/udp.c:292:32: error: incompatible types when assigning to type
'__be32' from type 'struct in_addr'
mreqs.imr_interface= ((struct sockaddr_in
*)local_addr)->sin_addr;
^
libavformat/udp.c:294:32: error: request for member 's_addr' in something
not a structure or union
mreqs.imr_interface.s_addr= INADDR_ANY;
^
libavformat/udp.c:295:29: error: request for member 's_addr' in something
not a structure or union
mreqs.imr_sourceaddr.s_addr = ((struct sockaddr_in
*)&sources[i])->sin_addr.s_addr;
^
In file included from /home/hui/Desktop/android-ndk-
r16b/sysroot/usr/include/linux/byteorder/little_endian.h:28:0,
from /home/hui/Desktop/android-ndk-
r16b/sysroot/usr/include/arm-linux-androideabi/asm/byteorder.h:21,
from /home/hui/Desktop/android-ndk-
r16b/sysroot/usr/include/linux/in.h:229,
from /home/hui/Desktop/android-ndk-
r16b/sysroot/usr/include/netinet/in.h:37,
from libavformat/network.h:61,
from libavformat/udp.c:41:
libavformat/udp.c: At top level:
/home/hui/Desktop/android-ndk-
r16b/sysroot/usr/include/linux/swab.h:100:29: warning: '__swab32s' defined
but not used [-Wunused-function]
static __always_inline void __swab32s(__u32 * p) {
^
/home/hui/Desktop/android-ndk-
r16b/sysroot/usr/include/linux/swab.h:107:29: warning: '__swab64s' defined
but not used [-Wunused-function]
static __always_inline void __swab64s(__u64 * p) {
^
/home/hui/Desktop/android-ndk-
r16b/sysroot/usr/include/linux/swab.h:107:29: warning: always_inline
function might not be inlinable [-Wattributes]
/home/hui/Desktop/android-ndk-
r16b/sysroot/usr/include/linux/swab.h:100:29: warning: always_inline
function might not be inlinable [-Wattributes]
static __always_inline void __swab32s(__u32 * p) {
^
/home/hui/Desktop/android-ndk-r16b/sysroot/usr/include/linux/swab.h:72:30:
warning: always_inline function might not be inlinable [-Wattributes]
static __always_inline __u64 __swab64p(const __u64 * p) {
^
/home/hui/Desktop/android-ndk-r16b/sysroot/usr/include/linux/swab.h:65:30:
warning: always_inline function might not be inlinable [-Wattributes]
static __always_inline __u32 __swab32p(const __u32 * p) {
^
/home/hui/Desktop/android-ndk-r16b/sysroot/usr/include/linux/swab.h:58:30:
warning: always_inline function might not be inlinable [-Wattributes]
static __always_inline __u16 __swab16p(const __u16 * p) {
^
make: *** [ffbuild/common.mak:60:libavformat/udp.o] 错误 1
-----------
thx to fix it or get some suggestion
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7741>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list