markus-perl / ffmpeg-build-script

The FFmpeg build script provides an easy way to build a static FFmpeg on OSX and Linux with non-free codecs included.
MIT License
1.03k stars 333 forks source link

Cannot Build libwebp Manjaro #120

Open BiatuAutMiahn opened 2 years ago

BiatuAutMiahn commented 2 years ago

-Modified build-ffmpeg MJOBS=1 for clarity -Buildlog:

building libwebp - version 1.2.1
=======================
libwebp-1.2.1.tar.gz has already downloaded.
Extracted libwebp-1.2.1.tar.gz
$ ./configure --prefix=/run/media/biatu/426fa0a9-bc0d-4667-9afb-7d8346301439/System/Cache/git/ffmpeg-build/workspace --disable-shared --enable-static --disable-dependency-tracking --disable-gl --with-zlib-include=/run/media/biatu/426fa0a9-bc0d-4667-9afb-7d8346301439/System/Cache/git/ffmpeg-build/workspace/include/ --with-zlib-lib=/run/media/biatu/426fa0a9-bc0d-4667-9afb-7d8346301439/System/Cache/git/ffmpeg-build/workspace/lib
$ cmake -DCMAKE_INSTALL_PREFIX=/run/media/biatu/426fa0a9-bc0d-4667-9afb-7d8346301439/System/Cache/git/ffmpeg-build/workspace -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_BINDIR=bin -DCMAKE_INSTALL_INCLUDEDIR=include -DENABLE_SHARED=OFF -DENABLE_STATIC=ON ../
$ make -j 1
[  0%] Building C object CMakeFiles/webpdecode.dir/src/dec/alpha_dec.c.o
[  1%] Building C object CMakeFiles/webpdecode.dir/src/dec/buffer_dec.c.o
[  1%] Building C object CMakeFiles/webpdecode.dir/src/dec/frame_dec.c.o
[  2%] Building C object CMakeFiles/webpdecode.dir/src/dec/idec_dec.c.o
[  3%] Building C object CMakeFiles/webpdecode.dir/src/dec/io_dec.c.o
[  3%] Building C object CMakeFiles/webpdecode.dir/src/dec/quant_dec.c.o
[  4%] Building C object CMakeFiles/webpdecode.dir/src/dec/tree_dec.c.o
[  4%] Building C object CMakeFiles/webpdecode.dir/src/dec/vp8_dec.c.o
[  5%] Building C object CMakeFiles/webpdecode.dir/src/dec/vp8l_dec.c.o
[  6%] Building C object CMakeFiles/webpdecode.dir/src/dec/webp_dec.c.o
[  6%] Built target webpdecode
[  7%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/alpha_processing.c.o
[  7%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/cpu.c.o
[  8%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/dec.c.o
[  9%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/dec_clip_tables.c.o
[  9%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/filters.c.o
[ 10%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/lossless.c.o
[ 10%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/rescaler.c.o
[ 11%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/upsampling.c.o
[ 12%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/yuv.c.o
[ 12%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/alpha_processing_sse41.c.o
[ 13%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/dec_sse41.c.o
[ 14%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/lossless_sse41.c.o
[ 14%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/upsampling_sse41.c.o
[ 15%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/yuv_sse41.c.o
[ 15%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/alpha_processing_sse2.c.o
[ 16%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/dec_sse2.c.o
[ 17%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/filters_sse2.c.o
[ 17%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/lossless_sse2.c.o
[ 18%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/rescaler_sse2.c.o
[ 18%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/upsampling_sse2.c.o
[ 19%] Building C object CMakeFiles/webpdspdecode.dir/src/dsp/yuv_sse2.c.o
[ 19%] Built target webpdspdecode
[ 20%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/bit_reader_utils.c.o
[ 20%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/color_cache_utils.c.o
[ 21%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/filters_utils.c.o
[ 21%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/huffman_utils.c.o
[ 22%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/quant_levels_dec_utils.c.o
[ 23%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/rescaler_utils.c.o
[ 23%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/random_utils.c.o
[ 24%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/thread_utils.c.o
[ 25%] Building C object CMakeFiles/webputilsdecode.dir/src/utils/utils.c.o
[ 25%] Built target webputilsdecode
[ 25%] Linking C static library libwebpdecoder.a
[ 25%] Built target webpdecoder
[ 26%] Building C object CMakeFiles/webpencode.dir/src/enc/alpha_enc.c.o
[ 26%] Building C object CMakeFiles/webpencode.dir/src/enc/analysis_enc.c.o
[ 27%] Building C object CMakeFiles/webpencode.dir/src/enc/backward_references_cost_enc.c.o
[ 28%] Building C object CMakeFiles/webpencode.dir/src/enc/backward_references_enc.c.o
[ 28%] Building C object CMakeFiles/webpencode.dir/src/enc/config_enc.c.o
[ 29%] Building C object CMakeFiles/webpencode.dir/src/enc/cost_enc.c.o
[ 29%] Building C object CMakeFiles/webpencode.dir/src/enc/filter_enc.c.o
[ 30%] Building C object CMakeFiles/webpencode.dir/src/enc/frame_enc.c.o
[ 31%] Building C object CMakeFiles/webpencode.dir/src/enc/histogram_enc.c.o
[ 31%] Building C object CMakeFiles/webpencode.dir/src/enc/iterator_enc.c.o
[ 32%] Building C object CMakeFiles/webpencode.dir/src/enc/near_lossless_enc.c.o
[ 32%] Building C object CMakeFiles/webpencode.dir/src/enc/picture_enc.c.o
[ 33%] Building C object CMakeFiles/webpencode.dir/src/enc/picture_csp_enc.c.o
[ 34%] Building C object CMakeFiles/webpencode.dir/src/enc/picture_psnr_enc.c.o
[ 34%] Building C object CMakeFiles/webpencode.dir/src/enc/picture_rescale_enc.c.o
[ 35%] Building C object CMakeFiles/webpencode.dir/src/enc/picture_tools_enc.c.o
[ 35%] Building C object CMakeFiles/webpencode.dir/src/enc/predictor_enc.c.o
[ 36%] Building C object CMakeFiles/webpencode.dir/src/enc/quant_enc.c.o
[ 37%] Building C object CMakeFiles/webpencode.dir/src/enc/syntax_enc.c.o
[ 37%] Building C object CMakeFiles/webpencode.dir/src/enc/token_enc.c.o
[ 38%] Building C object CMakeFiles/webpencode.dir/src/enc/tree_enc.c.o
[ 39%] Building C object CMakeFiles/webpencode.dir/src/enc/vp8l_enc.c.o
[ 39%] Building C object CMakeFiles/webpencode.dir/src/enc/webp_enc.c.o
[ 39%] Built target webpencode
[ 40%] Building C object CMakeFiles/webpdsp.dir/src/dsp/alpha_processing.c.o
[ 40%] Building C object CMakeFiles/webpdsp.dir/src/dsp/cpu.c.o
[ 41%] Building C object CMakeFiles/webpdsp.dir/src/dsp/dec.c.o
[ 42%] Building C object CMakeFiles/webpdsp.dir/src/dsp/dec_clip_tables.c.o
[ 42%] Building C object CMakeFiles/webpdsp.dir/src/dsp/filters.c.o
[ 43%] Building C object CMakeFiles/webpdsp.dir/src/dsp/lossless.c.o
[ 43%] Building C object CMakeFiles/webpdsp.dir/src/dsp/rescaler.c.o
[ 44%] Building C object CMakeFiles/webpdsp.dir/src/dsp/upsampling.c.o
[ 45%] Building C object CMakeFiles/webpdsp.dir/src/dsp/yuv.c.o
[ 45%] Building C object CMakeFiles/webpdsp.dir/src/dsp/alpha_processing_sse41.c.o
[ 46%] Building C object CMakeFiles/webpdsp.dir/src/dsp/dec_sse41.c.o
[ 47%] Building C object CMakeFiles/webpdsp.dir/src/dsp/lossless_sse41.c.o
[ 47%] Building C object CMakeFiles/webpdsp.dir/src/dsp/upsampling_sse41.c.o
[ 48%] Building C object CMakeFiles/webpdsp.dir/src/dsp/yuv_sse41.c.o
[ 48%] Building C object CMakeFiles/webpdsp.dir/src/dsp/alpha_processing_sse2.c.o
[ 49%] Building C object CMakeFiles/webpdsp.dir/src/dsp/dec_sse2.c.o
[ 50%] Building C object CMakeFiles/webpdsp.dir/src/dsp/filters_sse2.c.o
[ 50%] Building C object CMakeFiles/webpdsp.dir/src/dsp/lossless_sse2.c.o
[ 51%] Building C object CMakeFiles/webpdsp.dir/src/dsp/rescaler_sse2.c.o
[ 51%] Building C object CMakeFiles/webpdsp.dir/src/dsp/upsampling_sse2.c.o
[ 52%] Building C object CMakeFiles/webpdsp.dir/src/dsp/yuv_sse2.c.o
[ 53%] Building C object CMakeFiles/webpdsp.dir/src/dsp/cost.c.o
[ 53%] Building C object CMakeFiles/webpdsp.dir/src/dsp/enc.c.o
[ 54%] Building C object CMakeFiles/webpdsp.dir/src/dsp/lossless_enc.c.o
[ 54%] Building C object CMakeFiles/webpdsp.dir/src/dsp/ssim.c.o
[ 55%] Building C object CMakeFiles/webpdsp.dir/src/dsp/cost_sse2.c.o
[ 56%] Building C object CMakeFiles/webpdsp.dir/src/dsp/enc_sse2.c.o
[ 56%] Building C object CMakeFiles/webpdsp.dir/src/dsp/lossless_enc_sse2.c.o
[ 57%] Building C object CMakeFiles/webpdsp.dir/src/dsp/ssim_sse2.c.o
[ 58%] Building C object CMakeFiles/webpdsp.dir/src/dsp/enc_sse41.c.o
[ 58%] Building C object CMakeFiles/webpdsp.dir/src/dsp/lossless_enc_sse41.c.o
[ 58%] Built target webpdsp
[ 58%] Building C object CMakeFiles/webputils.dir/src/utils/bit_reader_utils.c.o
[ 59%] Building C object CMakeFiles/webputils.dir/src/utils/color_cache_utils.c.o
[ 59%] Building C object CMakeFiles/webputils.dir/src/utils/filters_utils.c.o
[ 60%] Building C object CMakeFiles/webputils.dir/src/utils/huffman_utils.c.o
[ 61%] Building C object CMakeFiles/webputils.dir/src/utils/quant_levels_dec_utils.c.o
[ 61%] Building C object CMakeFiles/webputils.dir/src/utils/rescaler_utils.c.o
[ 62%] Building C object CMakeFiles/webputils.dir/src/utils/random_utils.c.o
[ 63%] Building C object CMakeFiles/webputils.dir/src/utils/thread_utils.c.o
[ 63%] Building C object CMakeFiles/webputils.dir/src/utils/utils.c.o
[ 64%] Building C object CMakeFiles/webputils.dir/src/utils/bit_writer_utils.c.o
[ 64%] Building C object CMakeFiles/webputils.dir/src/utils/huffman_encode_utils.c.o
[ 65%] Building C object CMakeFiles/webputils.dir/src/utils/quant_levels_utils.c.o
[ 65%] Built target webputils
[ 66%] Linking C static library libwebp.a
[ 66%] Built target webp
[ 67%] Building C object CMakeFiles/webpdemux.dir/src/demux/anim_decode.c.o
[ 68%] Building C object CMakeFiles/webpdemux.dir/src/demux/demux.c.o
[ 68%] Linking C static library libwebpdemux.a
[ 68%] Built target webpdemux
[ 69%] Building C object CMakeFiles/imageioutil.dir/imageio/imageio_util.c.o
[ 69%] Linking C static library libimageioutil.a
[ 69%] Built target imageioutil
[ 69%] Building C object CMakeFiles/exampleutil.dir/examples/example_util.c.o
[ 70%] Linking C static library libexampleutil.a
[ 70%] Built target exampleutil
[ 71%] Building C object CMakeFiles/imagedec.dir/imageio/image_dec.c.o
[ 71%] Building C object CMakeFiles/imagedec.dir/imageio/jpegdec.c.o
[ 72%] Building C object CMakeFiles/imagedec.dir/imageio/metadata.c.o
[ 73%] Building C object CMakeFiles/imagedec.dir/imageio/pngdec.c.o
[ 73%] Building C object CMakeFiles/imagedec.dir/imageio/pnmdec.c.o
[ 74%] Building C object CMakeFiles/imagedec.dir/imageio/tiffdec.c.o
/run/media/biatu/426fa0a9-bc0d-4667-9afb-7d8346301439/System/Cache/git/ffmpeg-build/packages/libwebp-1.2.1/imageio/tiffdec.c: In function ‘ExtractMetadataFromTIFF’:
/run/media/biatu/426fa0a9-bc0d-4667-9afb-7d8346301439/System/Cache/git/ffmpeg-build/packages/libwebp-1.2.1/imageio/tiffdec.c:49:5: warning: ‘uint32’ is deprecated [-Wdeprecated-declarations]
   49 |     uint32 tag_data_len;
      |     ^~~~~~
/run/media/biatu/426fa0a9-bc0d-4667-9afb-7d8346301439/System/Cache/git/ffmpeg-build/packages/libwebp-1.2.1/imageio/tiffdec.c: In function ‘ReadTIFF’:
/run/media/biatu/426fa0a9-bc0d-4667-9afb-7d8346301439/System/Cache/git/ffmpeg-build/packages/libwebp-1.2.1/imageio/tiffdec.c:233:3: warning: ‘uint32’ is deprecated [-Wdeprecated-declarations]
  233 |   raster = (uint32*)_TIFFmalloc((tsize_t)alloc_size);
      |   ^~~~~~
[ 74%] Building C object CMakeFiles/imagedec.dir/imageio/webpdec.c.o
[ 75%] Building C object CMakeFiles/imagedec.dir/imageio/wicdec.c.o
[ 76%] Linking C static library libimagedec.a
[ 76%] Built target imagedec
[ 76%] Building C object CMakeFiles/imageenc.dir/imageio/image_enc.c.o
[ 77%] Linking C static library libimageenc.a
[ 77%] Built target imageenc
[ 77%] Building C object CMakeFiles/dwebp.dir/examples/dwebp.c.o
[ 78%] Linking C executable dwebp
[ 78%] Built target dwebp
[ 79%] Building C object CMakeFiles/cwebp.dir/examples/cwebp.c.o
[ 80%] Linking C executable cwebp
[ 80%] Built target cwebp
[ 81%] Building C object CMakeFiles/libwebpmux.dir/src/mux/anim_encode.c.o
[ 82%] Building C object CMakeFiles/libwebpmux.dir/src/mux/muxedit.c.o
[ 82%] Building C object CMakeFiles/libwebpmux.dir/src/mux/muxinternal.c.o
[ 83%] Building C object CMakeFiles/libwebpmux.dir/src/mux/muxread.c.o
[ 83%] Linking C static library libwebpmux.a
[ 83%] Built target libwebpmux
[ 84%] Building C object CMakeFiles/gif2webp.dir/examples/gif2webp.c.o
[ 85%] Building C object CMakeFiles/gif2webp.dir/examples/gifdec.c.o
[ 85%] Linking C executable gif2webp
[ 85%] Built target gif2webp
[ 86%] Building C object CMakeFiles/img2webp.dir/examples/img2webp.c.o
[ 86%] Linking C executable img2webp
[ 86%] Built target img2webp
[ 87%] Building C object CMakeFiles/vwebp.dir/examples/vwebp.c.o
[ 88%] Linking C executable vwebp
/usr/bin/ld: CMakeFiles/vwebp.dir/examples/vwebp.c.o: warning: relocation against `glutBitmap9By15' in read-only section `.text'
/usr/bin/ld: CMakeFiles/vwebp.dir/examples/vwebp.c.o: in function `HandleDisplay':
vwebp.c:(.text+0x551): undefined reference to `glutBitmap9By15'
/usr/bin/ld: vwebp.c:(.text+0x560): undefined reference to `glutBitmapCharacter'
/usr/bin/ld: vwebp.c:(.text+0x5d1): undefined reference to `glutBitmap9By15'
/usr/bin/ld: vwebp.c:(.text+0x5e0): undefined reference to `glutBitmapCharacter'
/usr/bin/ld: vwebp.c:(.text+0x648): undefined reference to `glutBitmap9By15'
/usr/bin/ld: vwebp.c:(.text+0x658): undefined reference to `glutBitmapCharacter'
/usr/bin/ld: CMakeFiles/vwebp.dir/examples/vwebp.c.o: in function `decode_callback':
vwebp.c:(.text+0x835): undefined reference to `glutPostRedisplay'
/usr/bin/ld: CMakeFiles/vwebp.dir/examples/vwebp.c.o: in function `HandleDisplay':
vwebp.c:(.text+0x4c2): undefined reference to `glutSwapBuffers'
/usr/bin/ld: CMakeFiles/vwebp.dir/examples/vwebp.c.o: in function `decode_callback':
vwebp.c:(.text+0x84c): undefined reference to `glutTimerFunc'
/usr/bin/ld: CMakeFiles/vwebp.dir/examples/vwebp.c.o: in function `HandleKey':
vwebp.c:(.text+0x939): undefined reference to `glutLeaveMainLoop'
/usr/bin/ld: vwebp.c:(.text+0x97f): undefined reference to `glutPostRedisplay'
/usr/bin/ld: vwebp.c:(.text+0x9ba): undefined reference to `glutPostRedisplay'
/usr/bin/ld: vwebp.c:(.text+0xa52): undefined reference to `glutPostRedisplay'
/usr/bin/ld: vwebp.c:(.text+0xa8a): undefined reference to `glutTimerFunc'
/usr/bin/ld: CMakeFiles/vwebp.dir/examples/vwebp.c.o: in function `main':
vwebp.c:(.text.startup+0x330): undefined reference to `glutInit'
/usr/bin/ld: vwebp.c:(.text.startup+0x33f): undefined reference to `glutSetOption'
/usr/bin/ld: vwebp.c:(.text.startup+0x356): undefined reference to `glutInitDisplayMode'
/usr/bin/ld: vwebp.c:(.text.startup+0x360): undefined reference to `glutGet'
/usr/bin/ld: vwebp.c:(.text.startup+0x36c): undefined reference to `glutGet'
/usr/bin/ld: vwebp.c:(.text.startup+0x389): undefined reference to `glutInitWindowSize'
/usr/bin/ld: vwebp.c:(.text.startup+0x395): undefined reference to `glutCreateWindow'
/usr/bin/ld: vwebp.c:(.text.startup+0x3a1): undefined reference to `glutDisplayFunc'
/usr/bin/ld: vwebp.c:(.text.startup+0x3ad): undefined reference to `glutReshapeFunc'
/usr/bin/ld: vwebp.c:(.text.startup+0x3b4): undefined reference to `glutIdleFunc'
/usr/bin/ld: vwebp.c:(.text.startup+0x3c0): undefined reference to `glutKeyboardFunc'
/usr/bin/ld: vwebp.c:(.text.startup+0x402): undefined reference to `glutMainLoop'
/usr/bin/ld: vwebp.c:(.text.startup+0x61a): undefined reference to `glutTimerFunc'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/vwebp.dir/build.make:105: vwebp] Error 1
make[1]: *** [CMakeFiles/Makefile2:630: CMakeFiles/vwebp.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Failed to Execute make -j 1
seriousm4x commented 2 years ago

just ran into the same issue on arch. have you found a fix?

BiatuAutMiahn commented 2 years ago

I ended up using Ubuntu in a VM to compile a static binary

mayhair commented 2 years ago

I found a solution! Remove or comment out lines 824-826 in the build-ffmpeg script:

    make_dir build
    cd build || exit
    execute cmake -DCMAKE_INSTALL_PREFIX="${WORKSPACE}" -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_BINDIR=bin -DCMAKE_INSTALL_INCLUDEDIR=include -DENABLE_SHARED=OFF -DENABLE_STATIC=ON ../

They are unnecessary steps. ./configure and make are enough to compile libwebp.