Opened 7 years ago
Last modified 20 months ago
#6620 new defect
Build fails on Windows due to command line truncation
Reported by: | rling | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | build system |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
The Windows command shell CMD.EXE has a 8192-character line length limit. For whatever reason, the bash shell provided by MinGW environment is subject to this limit. Building ffmpeg in MinGW bash outputs a command line that invokes ar.exe to create libavfilter.a (shown below) which exceeds 8192 characters and is truncated, causing an error opening the truncated input filename 'liba'. The problem only occurs with calls to ar.exe where hundreds of object files are given on the same command line.
There is an easy fix for this defect, by using the '@file' syntax of ar.exe to load the list of object files from a text file, as described at:
https://stackoverflow.com/questions/37504625/ar-on-msys2-shell-receives-truncated-paths-when-called-from-makefile
How to reproduce:
Rling@Nifta MINGW64 ~/Documents/Source/ffmpeg/src (master) $ bash --version GNU bash, version 4.3.42(5)-release (x86_64-pc-msys) Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Rling@Nifta MINGW64 ~/Documents/Source/ffmpeg/src (master) $ rm libavformat/libavformat.a Rling@Nifta MINGW64 ~/Documents/Source/ffmpeg/src (master) $ mingw32-make.exe --trace ffmpeg.exe Makefile:212: target 'libavutil/' does not exist mkdir -p libavutil/ Makefile:212: target 'libswscale/' does not exist mkdir -p libswscale/ Makefile:212: target 'libswresample/' does not exist mkdir -p libswresample/ Makefile:212: target 'libavcodec/' does not exist mkdir -p libavcodec/ Makefile:212: target 'libavformat/' does not exist mkdir -p libavformat/ Makefile:212: target 'libavfilter/' does not exist mkdir -p libavfilter/ Makefile:212: target 'libavdevice/' does not exist mkdir -p libavdevice/ Makefile:212: target 'libavfilter/x86/' does not exist mkdir -p libavfilter/x86/ ffbuild/library.mak:20: update target 'libavformat/libavformat.a' due to: libavformat/3dostr.o libavformat/4xm.o libavfo rmat/a64.o libavformat/aacdec.o libavformat/aadec.o libavformat/ac3dec.o libavformat/acm.o libavformat/act.o libavformat /adp.o libavformat/ads.o libavformat/adtsenc.o libavformat/adxdec.o libavformat/aea.o libavformat/afc.o libavformat/aiff dec.o libavformat/aiffenc.o libavformat/aixdec.o libavformat/allformats.o libavformat/amr.o libavformat/anm.o libavforma t/apc.o libavformat/ape.o libavformat/apetag.o libavformat/apngdec.o libavformat/apngenc.o libavformat/aqtitledec.o liba vformat/asf.o libavformat/asfcrypt.o libavformat/asfdec_f.o libavformat/asfdec_o.o libavformat/asfenc.o libavformat/assd ec.o libavformat/assenc.o libavformat/ast.o libavformat/astdec.o libavformat/astenc.o libavformat/async.o libavformat/au .o libavformat/audiointerleave.o libavformat/avc.o libavformat/avidec.o libavformat/avienc.o libavformat/avio.o libavfor mat/aviobuf.o libavformat/avlanguage.o libavformat/avr.o libavformat/avs.o libavformat/bethsoftvid.o libavformat/bfi.o l ibavformat/bink.o libavformat/bintext.o libavformat/bit.o libavformat/bmv.o libavformat/boadec.o libavformat/brstm.o lib avformat/c93.o libavformat/cache.o libavformat/caf.o libavformat/cafdec.o libavformat/cafenc.o libavformat/cavsvideodec. o libavformat/cdg.o libavformat/cdxl.o libavformat/cinedec.o libavformat/concat.o libavformat/concatdec.o libavformat/cr cenc.o libavformat/crypto.o libavformat/cutils.o libavformat/dashenc.o libavformat/data_uri.o libavformat/dauddec.o liba vformat/daudenc.o libavformat/dcstr.o libavformat/dfa.o libavformat/diracdec.o libavformat/dnxhddec.o libavformat/dsfdec .o libavformat/dsicin.o libavformat/dss.o libavformat/dtsdec.o libavformat/dtshddec.o libavformat/dump.o libavformat/dv. o libavformat/dvbsub.o libavformat/dvbtxt.o libavformat/dvenc.o libavformat/dxa.o libavformat/eacdata.o libavformat/elec tronicarts.o libavformat/epafdec.o libavformat/ffmdec.o libavformat/ffmenc.o libavformat/ffmetadec.o libavformat/ffmetae nc.o libavformat/fifo.o libavformat/file.o libavformat/filmstripdec.o libavformat/filmstripenc.o libavformat/flac_pictur e.o libavformat/flacdec.o libavformat/flacenc.o libavformat/flacenc_header.o libavformat/flic.o libavformat/flvdec.o lib avformat/flvenc.o libavformat/format.o libavformat/framecrcenc.o libavformat/framehash.o libavformat/frmdec.o libavforma t/fsb.o libavformat/ftp.o libavformat/g722.o libavformat/g723_1.o libavformat/g729dec.o libavformat/gdv.o libavformat/ge nh.o libavformat/gif.o libavformat/gifdec.o libavformat/gopher.o libavformat/gsmdec.o libavformat/gxf.o libavformat/gxfe nc.o libavformat/h261dec.o libavformat/h263dec.o libavformat/h264dec.o libavformat/hashenc.o libavformat/hdsenc.o libavf ormat/hevc.o libavformat/hevcdec.o libavformat/hls.o libavformat/hlsenc.o libavformat/hlsproto.o libavformat/hnm.o libav format/http.o libavformat/httpauth.o libavformat/icecast.o libavformat/icodec.o libavformat/icoenc.o libavformat/id3v1.o libavformat/id3v2.o libavformat/id3v2enc.o libavformat/idcin.o libavformat/idroqdec.o libavformat/idroqenc.o libavforma t/iff.o libavformat/ilbc.o libavformat/img2.o libavformat/img2_alias_pix.o libavformat/img2_brender_pix.o libavformat/im g2dec.o libavformat/img2enc.o libavformat/ingenientdec.o libavformat/ipmovie.o libavformat/ircam.o libavformat/ircamdec. o libavformat/ircamenc.o libavformat/isom.o libavformat/iss.o libavformat/iv8.o libavformat/ivfdec.o libavformat/ivfenc. o libavformat/jacosubdec.o libavformat/jacosubenc.o libavformat/jvdec.o libavformat/latmenc.o libavformat/lmlm4.o libavf ormat/loasdec.o libavformat/lrc.o libavformat/lrcdec.o libavformat/lrcenc.o libavformat/lvfdec.o libavformat/lxfdec.o li bavformat/m4vdec.o libavformat/matroska.o libavformat/matroskadec.o libavformat/matroskaenc.o libavformat/md5proto.o lib avformat/metadata.o libavformat/mgsts.o libavformat/microdvddec.o libavformat/microdvdenc.o libavformat/mj2kdec.o libavf ormat/mkvtimestamp_v2.o libavformat/mlpdec.o libavformat/mlvdec.o libavformat/mm.o libavformat/mmf.o libavformat/mms.o l ibavformat/mmsh.o libavformat/mmst.o libavformat/mov.o libavformat/mov_chan.o libavformat/movenc.o libavformat/movenccen c.o libavformat/movenchint.o libavformat/mp3dec.o libavformat/mp3enc.o libavformat/mpc.o libavformat/mpc8.o libavformat/ mpeg.o libavformat/mpegenc.o libavformat/mpegts.o libavformat/mpegtsenc.o libavformat/mpegvideodec.o libavformat/mpjpeg. o libavformat/mpjpegdec.o libavformat/mpl2dec.o libavformat/mpsubdec.o libavformat/msf.o libavformat/msnwc_tcp.o libavfo rmat/mtaf.o libavformat/mtv.o libavformat/musx.o libavformat/mux.o libavformat/mvdec.o libavformat/mvi.o libavformat/mxf .o libavformat/mxfdec.o libavformat/mxfenc.o libavformat/mxg.o libavformat/ncdec.o libavformat/network.o libavformat/nis tspheredec.o libavformat/nsvdec.o libavformat/nullenc.o libavformat/nut.o libavformat/nutdec.o libavformat/nutenc.o liba vformat/nuv.o libavformat/oggdec.o libavformat/oggenc.o libavformat/oggparsecelt.o libavformat/oggparsedaala.o libavform at/oggparsedirac.o libavformat/oggparseflac.o libavformat/oggparseogm.o libavformat/oggparseopus.o libavformat/oggparses keleton.o libavformat/oggparsespeex.o libavformat/oggparsetheora.o libavformat/oggparsevorbis.o libavformat/oggparsevp8. o libavformat/oma.o libavformat/omadec.o libavformat/omaenc.o libavformat/options.o libavformat/os_support.o libavformat /paf.o libavformat/pcm.o libavformat/pcmdec.o libavformat/pcmenc.o libavformat/pjsdec.o libavformat/pmpdec.o libavformat /prompeg.o libavformat/protocols.o libavformat/psxstr.o libavformat/pva.o libavformat/pvfdec.o libavformat/qcp.o libavfo rmat/qtpalette.o libavformat/r3d.o libavformat/rawdec.o libavformat/rawenc.o libavformat/rawutils.o libavformat/rawvideo dec.o libavformat/rdt.o libavformat/realtextdec.o libavformat/redspark.o libavformat/replaygain.o libavformat/riff.o lib avformat/riffdec.o libavformat/riffenc.o libavformat/rl2.o libavformat/rm.o libavformat/rmdec.o libavformat/rmenc.o liba vformat/rmsipr.o libavformat/rpl.o libavformat/rsd.o libavformat/rso.o libavformat/rsodec.o libavformat/rsoenc.o libavfo rmat/rtmphttp.o libavformat/rtmppkt.o libavformat/rtmpproto.o libavformat/rtp.o libavformat/rtpdec.o libavformat/rtpdec_ ac3.o libavformat/rtpdec_amr.o libavformat/rtpdec_asf.o libavformat/rtpdec_dv.o libavformat/rtpdec_g726.o libavformat/rt pdec_h261.o libavformat/rtpdec_h263.o libavformat/rtpdec_h263_rfc2190.o libavformat/rtpdec_h264.o libavformat/rtpdec_hev c.o libavformat/rtpdec_ilbc.o libavformat/rtpdec_jpeg.o libavformat/rtpdec_latm.o libavformat/rtpdec_mpa_robust.o libavf ormat/rtpdec_mpeg12.o libavformat/rtpdec_mpeg4.o libavformat/rtpdec_mpegts.o libavformat/rtpdec_qcelp.o libavformat/rtpd ec_qdm2.o libavformat/rtpdec_qt.o libavformat/rtpdec_rfc4175.o libavformat/rtpdec_svq3.o libavformat/rtpdec_vc2hq.o liba vformat/rtpdec_vp8.o libavformat/rtpdec_vp9.o libavformat/rtpdec_xiph.o libavformat/rtpenc.o libavformat/rtpenc_aac.o li bavformat/rtpenc_amr.o libavformat/rtpenc_chain.o libavformat/rtpenc_h261.o libavformat/rtpenc_h263.o libavformat/rtpenc _h263_rfc2190.o libavformat/rtpenc_h264_hevc.o libavformat/rtpenc_jpeg.o libavformat/rtpenc_latm.o libavformat/rtpenc_mp egts.o libavformat/rtpenc_mpv.o libavformat/rtpenc_vc2hq.o libavformat/rtpenc_vp8.o libavformat/rtpenc_vp9.o libavformat /rtpenc_xiph.o libavformat/rtpproto.o libavformat/rtsp.o libavformat/rtspdec.o libavformat/rtspenc.o libavformat/s337m.o libavformat/samidec.o libavformat/sapdec.o libavformat/sapenc.o libavformat/sauce.o libavformat/sbgdec.o libavformat/sc cdec.o libavformat/sccenc.o libavformat/sdp.o libavformat/sdr2.o libavformat/sdsdec.o libavformat/sdxdec.o libavformat/s egafilm.o libavformat/segment.o libavformat/shortendec.o libavformat/sierravmd.o libavformat/siff.o libavformat/smacker. o libavformat/smjpeg.o libavformat/smjpegdec.o libavformat/smjpegenc.o libavformat/smoothstreamingenc.o libavformat/smus h.o libavformat/sol.o libavformat/soxdec.o libavformat/soxenc.o libavformat/spdif.o libavformat/spdifdec.o libavformat/s pdifenc.o libavformat/srtdec.o libavformat/srtenc.o libavformat/srtp.o libavformat/srtpproto.o libavformat/stldec.o liba vformat/subfile.o libavformat/subtitles.o libavformat/subviewer1dec.o libavformat/subviewerdec.o libavformat/supdec.o li bavformat/svag.o libavformat/swf.o libavformat/swfdec.o libavformat/swfenc.o libavformat/takdec.o libavformat/tcp.o liba vformat/tedcaptionsdec.o libavformat/tee.o libavformat/tee_common.o libavformat/teeproto.o libavformat/thp.o libavformat /tiertexseq.o libavformat/tls.o libavformat/tls_schannel.o libavformat/tmv.o libavformat/tta.o libavformat/ttaenc.o liba vformat/tty.o libavformat/txd.o libavformat/udp.o libavformat/uncodedframecrcenc.o libavformat/url.o libavformat/urldeco de.o libavformat/utils.o libavformat/v210.o libavformat/vag.o libavformat/vc1dec.o libavformat/vc1test.o libavformat/vc1 testenc.o libavformat/vivo.o libavformat/voc.o libavformat/voc_packet.o libavformat/vocdec.o libavformat/vocenc.o libavf ormat/vorbiscomment.o libavformat/vpcc.o libavformat/vpk.o libavformat/vplayerdec.o libavformat/vqf.o libavformat/w64.o libavformat/wavdec.o libavformat/wavenc.o libavformat/wc3movie.o libavformat/webm_chunk.o libavformat/webmdashenc.o liba vformat/webpenc.o libavformat/webvttdec.o libavformat/webvttenc.o libavformat/westwood_aud.o libavformat/westwood_vqa.o libavformat/wsddec.o libavformat/wtv_common.o libavformat/wtvdec.o libavformat/wtvenc.o libavformat/wv.o libavformat/wvd ec.o libavformat/wvedec.o libavformat/wvenc.o libavformat/xa.o libavformat/xmv.o libavformat/xvag.o libavformat/xwma.o l ibavformat/yop.o libavformat/yuv4mpegdec.o libavformat/yuv4mpegenc.o rm -f libavformat/libavformat.a printf "AR\t%s\n" libavformat/libavformat.a; ar rcD libavformat/libavformat.a libavformat/3dostr.o libavformat/4xm.o lib avformat/a64.o libavformat/aacdec.o libavformat/aadec.o libavformat/ac3dec.o libavformat/acm.o libavformat/act.o libavfo rmat/adp.o libavformat/ads.o libavformat/adtsenc.o libavformat/adxdec.o libavformat/aea.o libavformat/afc.o libavformat/ aiffdec.o libavformat/aiffenc.o libavformat/aixdec.o libavformat/allformats.o libavformat/amr.o libavformat/anm.o libavf ormat/apc.o libavformat/ape.o libavformat/apetag.o libavformat/apngdec.o libavformat/apngenc.o libavformat/aqtitledec.o libavformat/asf.o libavformat/asfcrypt.o libavformat/asfdec_f.o libavformat/asfdec_o.o libavformat/asfenc.o libavformat/ assdec.o libavformat/assenc.o libavformat/ast.o libavformat/astdec.o libavformat/astenc.o libavformat/async.o libavforma t/au.o libavformat/audiointerleave.o libavformat/avc.o libavformat/avidec.o libavformat/avienc.o libavformat/avio.o liba vformat/aviobuf.o libavformat/avlanguage.o libavformat/avr.o libavformat/avs.o libavformat/bethsoftvid.o libavformat/bfi .o libavformat/bink.o libavformat/bintext.o libavformat/bit.o libavformat/bmv.o libavformat/boadec.o libavformat/brstm.o libavformat/c93.o libavformat/cache.o libavformat/caf.o libavformat/cafdec.o libavformat/cafenc.o libavformat/cavsvideo dec.o libavformat/cdg.o libavformat/cdxl.o libavformat/cinedec.o libavformat/concat.o libavformat/concatdec.o libavforma t/crcenc.o libavformat/crypto.o libavformat/cutils.o libavformat/dashenc.o libavformat/data_uri.o libavformat/dauddec.o libavformat/daudenc.o libavformat/dcstr.o libavformat/dfa.o libavformat/diracdec.o libavformat/dnxhddec.o libavformat/ds fdec.o libavformat/dsicin.o libavformat/dss.o libavformat/dtsdec.o libavformat/dtshddec.o libavformat/dump.o libavformat /dv.o libavformat/dvbsub.o libavformat/dvbtxt.o libavformat/dvenc.o libavformat/dxa.o libavformat/eacdata.o libavformat/ electronicarts.o libavformat/epafdec.o libavformat/ffmdec.o libavformat/ffmenc.o libavformat/ffmetadec.o libavformat/ffm etaenc.o libavformat/fifo.o libavformat/file.o libavformat/filmstripdec.o libavformat/filmstripenc.o libavformat/flac_pi cture.o libavformat/flacdec.o libavformat/flacenc.o libavformat/flacenc_header.o libavformat/flic.o libavformat/flvdec.o libavformat/flvenc.o libavformat/format.o libavformat/framecrcenc.o libavformat/framehash.o libavformat/frmdec.o libavf ormat/fsb.o libavformat/ftp.o libavformat/g722.o libavformat/g723_1.o libavformat/g729dec.o libavformat/gdv.o libavforma t/genh.o libavformat/gif.o libavformat/gifdec.o libavformat/gopher.o libavformat/gsmdec.o libavformat/gxf.o libavformat/ gxfenc.o libavformat/h261dec.o libavformat/h263dec.o libavformat/h264dec.o libavformat/hashenc.o libavformat/hdsenc.o li bavformat/hevc.o libavformat/hevcdec.o libavformat/hls.o libavformat/hlsenc.o libavformat/hlsproto.o libavformat/hnm.o l ibavformat/http.o libavformat/httpauth.o libavformat/icecast.o libavformat/icodec.o libavformat/icoenc.o libavformat/id3 v1.o libavformat/id3v2.o libavformat/id3v2enc.o libavformat/idcin.o libavformat/idroqdec.o libavformat/idroqenc.o libavf ormat/iff.o libavformat/ilbc.o libavformat/img2.o libavformat/img2_alias_pix.o libavformat/img2_brender_pix.o libavforma t/img2dec.o libavformat/img2enc.o libavformat/ingenientdec.o libavformat/ipmovie.o libavformat/ircam.o libavformat/ircam dec.o libavformat/ircamenc.o libavformat/isom.o libavformat/iss.o libavformat/iv8.o libavformat/ivfdec.o libavformat/ivf enc.o libavformat/jacosubdec.o libavformat/jacosubenc.o libavformat/jvdec.o libavformat/latmenc.o libavformat/lmlm4.o li bavformat/loasdec.o libavformat/lrc.o libavformat/lrcdec.o libavformat/lrcenc.o libavformat/lvfdec.o libavformat/lxfdec. o libavformat/m4vdec.o libavformat/matroska.o libavformat/matroskadec.o libavformat/matroskaenc.o libavformat/md5proto.o libavformat/metadata.o libavformat/mgsts.o libavformat/microdvddec.o libavformat/microdvdenc.o libavformat/mj2kdec.o li bavformat/mkvtimestamp_v2.o libavformat/mlpdec.o libavformat/mlvdec.o libavformat/mm.o libavformat/mmf.o libavformat/mms .o libavformat/mmsh.o libavformat/mmst.o libavformat/mov.o libavformat/mov_chan.o libavformat/movenc.o libavformat/moven ccenc.o libavformat/movenchint.o libavformat/mp3dec.o libavformat/mp3enc.o libavformat/mpc.o libavformat/mpc8.o libavfor mat/mpeg.o libavformat/mpegenc.o libavformat/mpegts.o libavformat/mpegtsenc.o libavformat/mpegvideodec.o libavformat/mpj peg.o libavformat/mpjpegdec.o libavformat/mpl2dec.o libavformat/mpsubdec.o libavformat/msf.o libavformat/msnwc_tcp.o lib avformat/mtaf.o libavformat/mtv.o libavformat/musx.o libavformat/mux.o libavformat/mvdec.o libavformat/mvi.o libavformat /mxf.o libavformat/mxfdec.o libavformat/mxfenc.o libavformat/mxg.o libavformat/ncdec.o libavformat/network.o libavformat /nistspheredec.o libavformat/nsvdec.o libavformat/nullenc.o libavformat/nut.o libavformat/nutdec.o libavformat/nutenc.o libavformat/nuv.o libavformat/oggdec.o libavformat/oggenc.o libavformat/oggparsecelt.o libavformat/oggparsedaala.o libav format/oggparsedirac.o libavformat/oggparseflac.o libavformat/oggparseogm.o libavformat/oggparseopus.o libavformat/oggpa rseskeleton.o libavformat/oggparsespeex.o libavformat/oggparsetheora.o libavformat/oggparsevorbis.o libavformat/oggparse vp8.o libavformat/oma.o libavformat/omadec.o libavformat/omaenc.o libavformat/options.o libavformat/os_support.o libavfo rmat/paf.o libavformat/pcm.o libavformat/pcmdec.o libavformat/pcmenc.o libavformat/pjsdec.o libavformat/pmpdec.o libavfo rmat/prompeg.o libavformat/protocols.o libavformat/psxstr.o libavformat/pva.o libavformat/pvfdec.o libavformat/qcp.o lib avformat/qtpalette.o libavformat/r3d.o libavformat/rawdec.o libavformat/rawenc.o libavformat/rawutils.o libavformat/rawv ideodec.o libavformat/rdt.o libavformat/realtextdec.o libavformat/redspark.o libavformat/replaygain.o libavformat/riff.o libavformat/riffdec.o libavformat/riffenc.o libavformat/rl2.o libavformat/rm.o libavformat/rmdec.o libavformat/rmenc.o libavformat/rmsipr.o libavformat/rpl.o libavformat/rsd.o libavformat/rso.o libavformat/rsodec.o libavformat/rsoenc.o lib avformat/rtmphttp.o libavformat/rtmppkt.o libavformat/rtmpproto.o libavformat/rtp.o libavformat/rtpdec.o libavformat/rtp dec_ac3.o libavformat/rtpdec_amr.o libavformat/rtpdec_asf.o libavformat/rtpdec_dv.o libavformat/rtpdec_g726.o libavforma t/rtpdec_h261.o libavformat/rtpdec_h263.o libavformat/rtpdec_h263_rfc2190.o libavformat/rtpdec_h264.o libavformat/rtpdec _hevc.o libavformat/rtpdec_ilbc.o libavformat/rtpdec_jpeg.o libavformat/rtpdec_latm.o libavformat/rtpdec_mpa_robust.o li bavformat/rtpdec_mpeg12.o libavformat/rtpdec_mpeg4.o libavformat/rtpdec_mpegts.o libavformat/rtpdec_qcelp.o libavformat/ rtpdec_qdm2.o libavformat/rtpdec_qt.o libavformat/rtpdec_rfc4175.o libavformat/rtpdec_svq3.o libavformat/rtpdec_vc2hq.o libavformat/rtpdec_vp8.o libavformat/rtpdec_vp9.o libavformat/rtpdec_xiph.o libavformat/rtpenc.o libavformat/rtpenc_aac. o libavformat/rtpenc_amr.o libavformat/rtpenc_chain.o libavformat/rtpenc_h261.o libavformat/rtpenc_h263.o libavformat/rt penc_h263_rfc2190.o libavformat/rtpenc_h264_hevc.o libavformat/rtpenc_jpeg.o libavformat/rtpenc_latm.o libavformat/rtpen c_mpegts.o libavformat/rtpenc_mpv.o libavformat/rtpenc_vc2hq.o libavformat/rtpenc_vp8.o libavformat/rtpenc_vp9.o libavfo rmat/rtpenc_xiph.o libavformat/rtpproto.o libavformat/rtsp.o libavformat/rtspdec.o libavformat/rtspenc.o libavformat/s33 7m.o libavformat/samidec.o libavformat/sapdec.o libavformat/sapenc.o libavformat/sauce.o libavformat/sbgdec.o libavforma t/sccdec.o libavformat/sccenc.o libavformat/sdp.o libavformat/sdr2.o libavformat/sdsdec.o libavformat/sdxdec.o libavform at/segafilm.o libavformat/segment.o libavformat/shortendec.o libavformat/sierravmd.o libavformat/siff.o libavformat/smac ker.o libavformat/smjpeg.o libavformat/smjpegdec.o libavformat/smjpegenc.o libavformat/smoothstreamingenc.o libavformat/ smush.o libavformat/sol.o libavformat/soxdec.o libavformat/soxenc.o libavformat/spdif.o libavformat/spdifdec.o libavform at/spdifenc.o libavformat/srtdec.o libavformat/srtenc.o libavformat/srtp.o libavformat/srtpproto.o libavformat/stldec.o libavformat/subfile.o libavformat/subtitles.o libavformat/subviewer1dec.o libavformat/subviewerdec.o libavformat/supdec. o libavformat/svag.o libavformat/swf.o libavformat/swfdec.o libavformat/swfenc.o libavformat/takdec.o libavformat/tcp.o libavformat/tedcaptionsdec.o libavformat/tee.o libavformat/tee_common.o libavformat/teeproto.o libavformat/thp.o libavfo rmat/tiertexseq.o libavformat/tls.o libavformat/tls_schannel.o libavformat/tmv.o libavformat/tta.o libavformat/ttaenc.o libavformat/tty.o libavformat/txd.o libavformat/udp.o libavformat/uncodedframecrcenc.o libavformat/url.o libavformat/url decode.o libavformat/utils.o libavformat/v210.o libavformat/vag.o libavformat/vc1dec.o libavformat/vc1test.o libavformat /vc1testenc.o libavformat/vivo.o libavformat/voc.o libavformat/voc_packet.o libavformat/vocdec.o libavformat/vocenc.o li bavformat/vorbiscomment.o libavformat/vpcc.o libavformat/vpk.o libavformat/vplayerdec.o libavformat/vqf.o libavformat/w6 4.o libavformat/wavdec.o libavformat/wavenc.o libavformat/wc3movie.o libavformat/webm_chunk.o libavformat/webmdashenc.o libavformat/webpenc.o libavformat/webvttdec.o libavformat/webvttenc.o libavformat/westwood_aud.o libavformat/westwood_vq a.o libavformat/wsddec.o libavformat/wtv_common.o libavformat/wtvdec.o libavformat/wtvenc.o libavformat/wv.o libavformat /wvdec.o libavformat/wvedec.o libavformat/wvenc.o libavformat/xa.o libavformat/xmv.o libavformat/xvag.o libavformat/xwma .o libavformat/yop.o libavformat/yuv4mpegdec.o libavformat/yuv4mpegenc.o AR libavformat/libavformat.a C:\mingw\bin\ar.exe: liba: No such file or directory ffbuild/library.mak:20: recipe for target 'libavformat/libavformat.a' failed mingw32-make: *** [libavformat/libavformat.a] Error 1
Proposed fix
I worked around this defect by changing ffbuild/library.mak as follows.
Before:
$(SUBDIR)$(LIBNAME): $(OBJS) $(RM) $@ $(AR) $(ARFLAGS) $(AR_O) $^ $(RANLIB) $@
After:
$(SUBDIR)$(LIBNAME): $(OBJS) $(RM) $@ $(file >objs.txt,$^) cat objs.txt $(AR) $(ARFLAGS) $(AR_O) @objs.txt $(RANLIB) $@
cat objs.txt is of course optional.
Change History (6)
comment:2 by , 5 years ago
Given that this works fine on wsl (where configure runs much faster) I don't think a change is necessary. In any case, a patch made with git format-patch
has to be posted on the FFmpeg development mailing list.
comment:4 by , 4 years ago
After I remove make version3 in my top PATH path. The problem solved. Seems already fixed in make version 4.
comment:5 by , 21 months ago
Last GNU Make is version 4.3. It is fixed there, right? So closing this?
comment:6 by , 20 months ago
Oddly enough vcpkg does use GNU Make 4.3 and yet i am impacted by this issue. This workaround fixes build for me. For a bit of context - i am building ffmpeg with emscripten and only this compiler produces this issue. Windows/linux builds surprisingly are fine.
Edit: ok i lied a tiny bit. Issue i am having is a flat-out "The command line is too long." error. Not quite same as truncation, but root cause is the same.
Is this a bad idea or what?
Wsl is linux for all purposes.