Skip to content

Instantly share code, notes, and snippets.

@caspermeijn
Created June 20, 2019 17:50
Show Gist options
  • Save caspermeijn/2f10c2c5161d4872c720286847175804 to your computer and use it in GitHub Desktop.
Save caspermeijn/2f10c2c5161d4872c720286847175804 to your computer and use it in GitHub Desktop.
docker-android-avbuild not finding openssl
# https://phabricator.kde.org/source/sysadmin-ci-tooling/browse/master/system-images/android/sdk/Dockerfile
FROM kdeorg/android-sdk
RUN git clone --depth=1 https://github.com/FFmpeg/FFmpeg.git
ENV FFSRC=/home/user/FFmpeg
RUN git clone --depth=1 https://github.com/wang-bin/avbuild.git
ENV CPATH=/opt/kdeandroid-deps/include
ENV LIBRARY_PATH=/opt/kdeandroid-deps/lib
ENV USER_OPT=--enable-openssl
RUN cd avbuild/ && ./avbuild.sh android21 armv7
$ podman build -t docker-android-avbuild docker-android-avbuild
STEP 1: FROM kdeorg/android-sdk
STEP 2: ENV CPATH=/opt/kdeandroid-deps/include
--> 35e950b61876fb1667ac648af0a464bf54b59754dcbb720c484eae45b05cd65e
STEP 3: ENV LIBRARY_PATH=/opt/kdeandroid-deps/lib
--> 46f57867925583ef418e575983a29163633b15627e80578bd225163b188f2fa4
STEP 4: ENV USER_OPT=--enable-openssl FFSRC=/home/user/FFmpeg
--> 429a44e037c5bc2c8a1d82100381b11d635806c46c821cc872f32ae85563e0db
STEP 5: RUN git clone --depth=1 https://github.com/wang-bin/avbuild.git
Cloning into 'avbuild'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 67 (delta 20), reused 31 (delta 16), pack-reused 0
Unpacking objects: 100% (67/67), done.
Checking connectivity... done.
^C
[casper@casper-laptop qt-android-video-example]$ podman build -t docker-android-avbuild docker-android-avbuild
STEP 1: FROM kdeorg/android-sdk
STEP 2: RUN git clone --depth=1 https://github.com/FFmpeg/FFmpeg.git
Cloning into 'FFmpeg'...
remote: Enumerating objects: 7049, done.
remote: Counting objects: 100% (7049/7049), done.
remote: Compressing objects: 100% (5361/5361), done.
remote: Total 7049 (delta 1884), reused 3586 (delta 1425), pack-reused 0
Receiving objects: 100% (7049/7049), 14.78 MiB | 2.53 MiB/s, done.
Resolving deltas: 100% (1884/1884), done.
Checking connectivity... done.
Checking out files: 100% (7095/7095), done.
--> 394fc5a46d41ac0a879bf07ea384cdac6974044ecec0734dc50b555cf91cd321
STEP 3: ENV FFSRC=/home/user/FFmpeg
--> 0f7d72b1c75321aca13537957c61b99d19b85726d4a5b6f5d68e45984f571d99
STEP 4: RUN git clone --depth=1 https://github.com/wang-bin/avbuild.git
Cloning into 'avbuild'...
remote: Enumerating objects: 67, done.
remote: Counting objects: 100% (67/67), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 67 (delta 20), reused 31 (delta 16), pack-reused 0
Unpacking objects: 100% (67/67), done.
Checking connectivity... done.
--> ffc21bc489246cd9eac35104998eafc004491fb172afd982e7789e26ad468436
STEP 5: ENV CPATH=/opt/kdeandroid-deps/include
--> f6685aac17a47023a7ea655518a0701d60acfef0dce33993da252f4a229d7d67
STEP 6: ENV LIBRARY_PATH=/opt/kdeandroid-deps/lib
--> f30d7b210c493b7e077a42e0a67c23cf6b7468f144b383d439df88e6352b9dcb
STEP 7: ENV USER_OPT=--enable-openssl
--> 667d06294443fb1f1dad66ea550ece461e41bd2956457a534c395c7e19011412
STEP 8: RUN cd avbuild/ && ./avbuild.sh android21 armv7
FFmpeg build tool for all platforms. Author: [email protected] 2013-2018
https://github.com/wang-bin/avbuild
Usage:
export FFSRC=/path/to/ffmpeg
./avbuild.sh [target_platform [target_architecture[-clang*/gcc*]]]
target_platform can be: ios|android|rpi|sunxi|vc|win|winrt|uwp|winphone|mingw
target_architecture can be: x86, x86_64, armv5, armv6, armv7, armv8, arm64
Build for host if no parameter is set.
Use a shortcut in tools dir if build for windows using MSVC.
Environment vars: USE_TOOLCHAIN(clang, gcc etc.), USE_LD(clang, lld etc.), USER_OPT, ANDROID_NDK, SYSROOT, ONECORE(="onecore")
Add options via USER_OPT, ${platform}_OPT
config.sh and config-.sh is automatically included. config-lite.sh is for building smaller libraries.
FFSRC=/home/user/FFmpeg
/home/user/avbuild
PATH: /home/user/FFmpeg:/home/user/avbuild/tools/gas-preprocessor:/opt/cmake/bin:/opt/Qt/5.12.3/android_armv7/bin:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/opt/android-sdk/platform-tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
FFmpeg/Libav version: git-2019-06-20-91f5950.git-2019-06-20-91f5950 git: true
patching file libavcodec/mediacodec_wrapper.c
patching file libavutil/hwcontext_videotoolbox.c
Hunk #1 FAILED at 36.
1 out of 1 hunk FAILED -- saving rejects to file libavutil/hwcontext_videotoolbox.c.rej
patching file configure
Hunk #1 succeeded at 4338 (offset 9 lines).
patching file libavcodec/avcodec.h
Hunk #1 succeeded at 3840 (offset 6 lines).
patching file libavcodec/options_table.h
Hunk #1 succeeded at 479 (offset 1 line).
patching file libavcodec/videotoolbox.c
Hunk #1 succeeded at 695 (offset -5 lines).
patching file libavutil/hwcontext_videotoolbox.c
patching file libavcodec/mmaldec.c
patching file configure
Hunk #1 succeeded at 6716 (offset 22 lines).
patching file configure
Hunk #1 succeeded at 5335 (offset 10 lines).
patching file libavcodec/h264dec.h
patching file configure
Hunk #1 succeeded at 6391 (offset 22 lines).
patching file libavcodec/mmaldec.c
Hunk #3 succeeded at 641 (offset -9 lines).
Hunk #4 succeeded at 833 (offset -23 lines).
patching file libavcodec/videotoolbox.c
Hunk #1 succeeded at 713 (offset -10 lines).
patching file configure
Hunk #1 succeeded at 6282 (offset 25 lines).
patching file libavcodec/mediacodecdec_common.c
patching file configure
Hunk #1 succeeded at 3028 (offset 8 lines).
Hunk #2 succeeded at 3061 (offset 8 lines).
Hunk #3 succeeded at 3074 (offset 8 lines).
patching file libavcodec/allcodecs.c
Hunk #1 succeeded at 337 (offset 1 line).
Hunk #2 succeeded at 354 (offset 1 line).
Hunk #3 succeeded at 764 (offset 1 line).
patching file libavcodec/mmaldec.c
Hunk #2 succeeded at 839 (offset 14 lines).
Hunk #3 succeeded at 891 (offset 15 lines).
patching file libavcodec/videotoolbox.c
Hunk #1 succeeded at 34 (offset 1 line).
Hunk #2 succeeded at 625 (offset 1 line).
Hunk #3 succeeded at 637 (offset 1 line).
Hunk #4 succeeded at 767 (offset -4 lines).
Hunk #5 succeeded at 826 (offset -4 lines).
Hunk #6 succeeded at 875 (offset -4 lines).
patching file libavutil/x86/bswap.h
patching file libavcodec/nvenc.c
patching file libavcodec/nvenc.h
patching file libavutil/hwcontext_d3d11va.c
/home/user/avbuild
>>>>>archs: armv7
waiting for all configure jobs(1) finished...
g++: /opt/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++, clang++: /opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ IS_CLANG:false, ld_lld: /opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/ld.lld, as: /opt/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as
./avbuild.sh: line 227: lld: command not found
compiler is clang: true, apple clang: false, cl: false, have lld: true
ANDROID_GCC_DIR=/opt/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/
ANDROID_LLVM_DIR=/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/
lto is disabled when build static libs to get better compatibility
INSTALL_DIR: sdk-android-armv7-clang
configure --extra-version=QtAV --disable-doc --disable-debug --enable-shared --enable-runtime-cpudetect --enable-mediacodec --enable-jni --disable-v4l2-m2m --disable-indevs --enable-indev=android_camera --disable-outdevs --enable-avresample --disable-postproc --enable-thumb --enable-neon --target-os=android --arch=arm --enable-cross-compile --cross-prefix=arm-linux-androideabi- --cc=clang --extra-ldexeflags="-Wl,--gc-sections -Wl,-z,nocopyreloc -pie -fPIE" --enable-pic --extra-cflags="-Wa,--noexecstack -fdata-sections -ffunction-sections -fstack-protector-strong -ffast-math -fstrict-aliasing -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__ANDROID_API__=21 --sysroot $SYSROOT -iwithsysroot /usr/include/arm-linux-androideabi --target=armv7a-linux-androideabi21" --extra-ldflags="-Wl,--gc-sections -Wl,-z,relro -Wl,-z,now --sysroot $NDK_ROOT/platforms/android-21/arch-arm -fuse-ld=lld -rtlib=compiler-rt --target=armv7a-linux-androideabi21" --enable-openssl
export PATH=/opt/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64//bin:/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64//bin:/home/user/FFmpeg:/home/user/avbuild/tools/gas-preprocessor:/opt/cmake/bin:/opt/Qt/5.12.3/android_armv7/bin:/opt/android-sdk/tools:/opt/android-sdk/tools/bin:/opt/android-sdk/platform-tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
configuration changes
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
ERROR: openssl not found
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
[email protected] mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.
real 1m1.858s
user 0m8.647s
sys 0m21.152s
^
1 error generated.
check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32
check_func_headers openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32
test_ld cc -lssl -lcrypto -lws2_32 -lgdi32
test_cc
BEGIN /tmp/ffconf.8m9yTWdR/test.c
1 #include <openssl/ssl.h>
2 #include <stdint.h>
3 long check_SSL_library_init(void) { return (long) SSL_library_init; }
4 int main(void) { int ret = 0;
5 ret |= ((intptr_t)check_SSL_library_init) & 0xFFFF;
6 return ret; }
END /tmp/ffconf.8m9yTWdR/test.c
clang -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Dstrtod=avpriv_strtod -DPIC -Wa,--noexecstack -fdata-sections -ffunction-sections -fstack-protector-strong -ffast-math -fstrict-aliasing -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__ANDROID_API__=21 --sysroot /opt/android-ndk/sysroot -iwithsysroot /usr/include/arm-linux-androideabi --target=armv7a-linux-androideabi21 -march=armv7-a -std=c11 -fPIE -fomit-frame-pointer -fPIC -mthumb -pthread -c -o /tmp/ffconf.8m9yTWdR/test.o /tmp/ffconf.8m9yTWdR/test.c
/tmp/ffconf.8m9yTWdR/test.c:3:51: error: use of undeclared identifier 'SSL_library_init'
long check_SSL_library_init(void) { return (long) SSL_library_init; }
^
1 error generated.
ERROR: openssl not found
Error: error building at STEP "RUN cd avbuild/ && ./avbuild.sh android21 armv7": error while running runtime: exit status 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment