OnlyInAmerica / FFmpeg-Android

Script and Instructions for building FFmpeg for Android
83 stars 30 forks source link

cannot open crtbegin_so.o: No such file cannot open crtbegin_so.o: No such file cannot find -ldl #3

Open molavy opened 10 years ago

molavy commented 10 years ago

i have problem on compile librtmp this is my ... file:

!/bin/bash

NDK=/home/user/loc_app/android-ndk-r9

/home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm

SYSROOT=$NDK/platforms/android-18/arch-arm

platforms/android-19/arch-arm/

TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64

/home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64

OPENSSL_DIR=/home/user/libs/openssl-android-master/

Note: Change the above variables for your system.

function build_one { set -e make clean ln -s ${SYSROOT}usr/lib/crtbegin_so.o ln -s ${SYSROOT}usr/lib/crtend_so.o export XLDFLAGS="$ADDI_LDFLAGS -L${OPENSSL_DIR}libs/armeabi -L${SYSROOT}usr/lib " export CROSS_COMPILE=$TOOLCHAIN/bin/arm-linux-androideabi- export XCFLAGS="${ADDI_CFLAGS} -I${OPENSSL_DIR}include -isysroot ${SYSROOT}" export INC="-I${SYSROOT}" make prefix=\"${PREFIX}\" OPT= install } CPU=arm PREFIX=$(pwd)/android/$CPU ADDI_CFLAGS="-marm" build_one

return this error: librtmp]$ ./build_librtmp_forandroid.sh rm -f .o .a .so *.so.1 librtmp.pc /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -Wall -marm -I/home/user/libs/openssl-android-master/include -isysroot /home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -I/home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c -o rtmp.o rtmp.c rtmp.c: In function 'RTMP_ReadPacket': rtmp.c:3575:7: warning: variable 'didAlloc' set but not used [-Wunused-but-set-variable] int didAlloc = FALSE; ^ /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -Wall -marm -I/home/user/libs/openssl-android-master/include -isysroot /home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -I/home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c -o log.o log.c /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -Wall -marm -I/home/user/libs/openssl-android-master/include -isysroot /home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -I/home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c -o amf.o amf.c In file included from amf.c:33:0: bytes.h:74:2: warning: #warning "Float word order not defined, assuming the same as byte order!" [-Wcpp]

warning "Float word order not defined, assuming the same as byte order!"

^ /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -Wall -marm -I/home/user/libs/openssl-android-master/include -isysroot /home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -I/home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c -o hashswf.o hashswf.c /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -Wall -marm -I/home/user/libs/openssl-android-master/include -isysroot /home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -I/home/user/loc_app/android-ndk-r9/platforms/android-18/arch-arm -DRTMPDUMP_VERSION=\"v2.4\" -DUSE_OPENSSL -fPIC -c -o parseurl.o parseurl.c /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar rs librtmp.a rtmp.o log.o amf.o hashswf.o parseurl.o /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar: creating librtmp.a sed -e "s;@prefix@;"/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm";" -e "s;@libdir@;"/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/lib;" \ -e "s;@VERSION@;v2.4;" \ -e "s;@CRYPTO_REQ@;libssl,libcrypto;" \ -e "s;@PUBLIC_LIBS@;;" \ -e "s;@PRIVATE_LIBS@;;" librtmp.pc.in > librtmp.pc mkdir -p "/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/include/librtmp "/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/lib/pkgconfig "/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/man/man3 "/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/lib cp amf.h http.h log.h rtmp.h "/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/include/librtmp cp librtmp.a "/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/lib cp librtmp.pc "/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/lib/pkgconfig cp librtmp.3 "/home/user/libs/ffmpeg_android/rtmpdump/librtmp/android/arm"/man/man3 /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -shared -Wl,-soname,librtmp.so.1 -L/home/user/libs/openssl-android-master/libs/armeabi -L/home/user/loc_app/android-ndk-r9/platforms/android-18/arch-armusr/lib -o librtmp.so.1 rtmp.o log.o amf.o hashswf.o parseurl.o -lssl -lcrypto -lz /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_so.o: No such file or directory /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtend_so.o: No such file or directory /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lssl /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lcrypto /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lz /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc /home/user/loc_app/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x8664/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl collect2: error: ld returned 1 exit status make: ** [librtmp.so.1] Error 1

so when i try use ./build_ffmpeg_with_librtmp_for_android.sh return ERROR: librtmp not found error

os : fedora 19 ,64bit

yurevich1 commented 10 years ago

Have you solved this problem?

molavy commented 10 years ago

yes, but i forget how this problem solved , i also have some other problems that documented with solution here http://stackoverflow.com/questions/22653241/compile-librtmp-for-android-error-cannot-find-ldl-collect2-error-ld-returned/22664671#22664671