Hi,

I followed all the steps in trying to build the FFMpeg on android.
The build goes fine for some time and then I get the following error:
===========================================================
make: *** No rule to make target `out/apps/ffmpeg-org/armeabi/
libz.so', needed b
y `out/apps/ffmpeg-org/armeabi/libavcodec.a'.  Stop.
===========================================================

libz.so is present in the Android NDK (build/platforms/android-5/arch-
arm/usr/lib/libz.so) and the application only needs to link to the
library

the Android.mk in libavformat fools as follows:
===========================================================
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

include $(LOCAL_PATH)/../av.mk

LOCAL_SRC_FILES := $(FFFILES)

LOCAL_C_INCLUDES :=             \
        $(LOCAL_PATH)           \
        $(LOCAL_PATH)/..        \
        external/zlib

LOCAL_CFLAGS += $(FFCFLAGS)
LOCAL_CFLAGS += -include "string.h" -Dipv6mr_interface=ipv6mr_ifindex

LOCAL_SHARED_LIBRARIES := libz
LOCAL_STATIC_LIBRARIES := $(FFLIBS)

LOCAL_MODULE := $(FFNAME)

include $(BUILD_STATIC_LIBRARY)
===========================================================

Referring to some information in the NET I replaced the
    LOCAL_SHARED_LIBRARIES := libz
with
    LOCAL_LDLIBS := -Lbuild/platforms/android-5/arch-arm/usr/lib -lz

But still get same error.  All suggestions to resolve the issue are
welcome :)

Thanks and Regards,
Yadnesh

On Jun 17, 9:26 am, Andy Savage <[email protected]> wrote:
> So, I've downloaded the code from ffmpeg-android (also tried using the
> origional ffmpeg sources with same error).
>
> *Here's the problem... I run my configure script (below):*
> #!/bin/bash
>
> PREBUILT=/stuff/android-ndk-r4/build/prebuilt/linux-x86/arm-eabi-4.2.1
> PREBUILTLIB=$PREBUILT/lib/gcc/arm-eabi/4.2.1
> PLATFORM=/stuff/android-ndk-r4/build/platforms/android-5/arch-arm
> PREFIX=/stuff/ffmpeg-android-bin
> ./configure --target-os=linux \
> --arch=armv4t \
> --enable-cross-compile \
> --cc=$PREBUILT/bin/arm-eabi-gcc \
> --cross-prefix=$PREBUILT/bin/arm-eabi- \
> --nm=$PREBUILT/bin/arm-eabi-nm \
> --extra-cflags="-fpic -DANDROID -I$PLATFORM/usr/include -mthumb-interwork
> -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums
> -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__
> -march=armv5te -mtune=xscale -msoft-float -Os -fomit-frame-pointer
> -fno-strict-aliasing -finline-limit=64 -Wa,--noexecstack" \
> --prefix=$PREFIX \
> --extra-ldflags="-Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x
> -Wl,-rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -nostdlib
> -nodefaultlibs $PREBUILTLIB/crtbegin.o $PREBUILTLIB/crtend.o -lgcc -lc -lm"
> \
> --enable-static \
> --disable-ffplay \
> --disable-ffserver \
> --disable-debug \
> --enable-small \
> --disable-shared \
> --disable-yasm > configout.txt
>
> *This runs fine and generates the required files, then I run *
> make -j 2 TARGET_ARCH=arm APP=ffmpeg-android
> *
> *
> *And the sad error I get is*
> *In file included from
> /stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/linux/ 
> in.h:209,
> *
> *                 from
> /stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/netine 
> t/in.h:33,
> *
> *                 from libavformat/network.h:36,*
> *                 from libavformat/os_support.c:42:*
> */stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/asm/b 
> yteorder.h:
> In function '___arch__swab32':*
> */stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/asm/b 
> yteorder.h:25:
> warning: implicit declaration of function 'asm'*
> */stuff/android-ndk-r4/build/platforms/android-5/arch-arm/usr/include/asm/b 
> yteorder.h:25:
> error: expected ')' before ':' token*
> *make: *** [libavformat/os_support.o] Error 1*
> *make: *** Waiting for unfinished jobs....*
>
> *Any ideas on this one?? I've tried using android-8 instead and tried using
> both 4.2.1 and 4.4.0 in the toolchain.*
> *
> *
> *Grrr, no idea where to go from here.*
> *
> *
> --
> "The greatest challenge to any thinker is stating the problem in a way that
> will allow a solution"
> - Bertrand Russell
>
> Andy Savage
> Cell Phone: +852 936 34341
> Skype ID: andy_savage
> Linked In:http://www.linkedin.com/in/andysavage
>
>
>
> On Wed, Jun 16, 2010 at 2:22 AM, Deva R <[email protected]> wrote:
> > Can you share complete log?? since libavformat is built within
> > ffmpeg-android, it should be some .mk mismatch.,
>
> > Are you using android sdk toolchain or other GNU toolchain??
> > if any tool chians used other than android, the binaries should be strictly
> > static, as android has its own libc version, so binaries wont work.
>
> > btw, i was able to build it with in my SDK., few gcc 4.4 specific breaks
> > were there, but it compiled all libraries.
>
> > PS.
> > GCC 4.4 build breaks in the shared gitorious tree
>
> > diff --git a/libavformat/metadata_compat.c b/libavformat/metadata_compat.c
> > index b05fb04..8829940 100644
> > --- a/libavformat/metadata_compat.c
> > +++ b/libavformat/metadata_compat.c
> > @@ -105,7 +105,7 @@ void ff_metadata_demux_compat(AVFormatContext *ctx)
>
> >  #define FILL_METADATA(s, key, value)
> > {                                        \
> > -    if (value && *value && !av_metadata_get(s->metadata, #key, NULL,
> > 0))      \
> > +    if ( (value != NULL )&& *value && !av_metadata_get(s->metadata, #key,
> > NULL, 0))      \
> >          av_metadata_set(&s->metadata, #key,
> > value);                           \
> >      }
> >  #define FILL_METADATA_STR(s, key)  FILL_METADATA(s, key, s->key)
> > diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
> > index 2243d00..babc880 100644
> > --- a/libavformat/nutdec.c
> > +++ b/libavformat/nutdec.c
> > @@ -840,6 +840,7 @@ av_log(s, AV_LOG_DEBUG,
> > "read_timestamp(X,%d,%"PRId64",%"PRId64")\n", stream_ind
> >      else if(stream_index == -2) return back_ptr;
>
> >  assert(0);
> > +return -1;
> >  }
>
> > On Tue, Jun 15, 2010 at 3:48 PM, Andy Savage <[email protected]> wrote:
>
> >> Hi there everyone,
>
> >> Just wondering if somebody has had success building this FFMpeg build
> >> for Android? I'm having an issue (that I'm not quite experienced
> >> enough to solve).
>
> >> Or perhaps if somebody has already built it maybe they could send me
> >> the binary? :)
>
> >> Any help that you guys can give me would be great. Here's the Android
> >> Port:
> >>http://gitorious.org/~olvaffe/ffmpeg/ffmpeg-android<http://gitorious.org/%7Eolvaffe/ffmpeg/ffmpeg-android>
>
> >> The error I'm getting when I try a make on that code is:
> >> make: *** No rule to make target `libavformat/libavformat.a', needed
> >> by `all'.  Stop.
>
> >> :-(
>
> >> Kind regards,
> >> Andy Savage
>
> >> --
> >> unsubscribe: 
> >> [email protected]<android-porting%2Bunsubscribe@
> >>  googlegroups.com>
> >> website:http://groups.google.com/group/android-porting

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to