<html><head></head><body><div>I ran into an issue with ffmpeg/libav and I'm not sure if this is a bug or not.</div><div>Compiling minidlnad, a dlna server daemon that requires ffmpeg, failed consistently </div><div>on configure testing usability of libavformat. I tried multiple versions of ffmpeg from </div><div>2.8.7, 2.8.15, 3.4.2, 4.0.2, including custom compiled and slackware precompiled </div><div>packages with identical result.</div><div><br></div><div><span><div>./minidlna-1.2.1/configure:</div><div>...</div><div>checking for av_open_input_file in -lavformat... no</div><div>checking for avformat_open_input in -lavformat... no</div><div>checking for av_open_input_file in -lavformat... no</div><div>checking for avformat_open_input in -lavformat... no</div><div>configure: error: Could not find libavformat - part of ffmpeg</div><div>$</div><div><br></div><div>I checked the relevent configure test code that was failing:</div><div><br></div></span><span><div>cat confdefs.h - <<_ACEOF >conftest.$ac_ext</div><div>/* end confdefs.h.  */</div><div><br></div><div>/* Override any GCC internal prototype to avoid an error.</div><div>   Use char because int might match the return type of a GCC</div><div>   builtin and then its argument prototype would still apply.  */</div><div>#ifdef __cplusplus</div><div>extern "C"</div><div>#endif</div><div>char avformat_open_input ();</div><div>int</div><div>main ()</div><div>{</div><div>return avformat_open_input ();</div><div>  ;</div><div>  return 0;</div><div>}</div><div>_ACEOF</div><div><br></div></span>I tried compiling that code snippet to find out the actual gcc error as configure isn't </div><div>helpful:</div><div><br></div><div><span><div>$gcc -lavformat test.c</div><div>/usr/lib/libavcodec.so.57: undefined reference to `lzma_stream_decoder@XZ_5.0'</div><div>/usr/lib/libavcodec.so.57: undefined reference to `lzma_end@XZ_5.0'</div><div>/usr/lib/libavcodec.so.57: undefined reference to `lzma_code@XZ_5.0'</div><div>collect2: error: ld returned 1 exit status</div><div><br></div><div>This works:</div><div><span><span style="color: rgb(0, 0, 0); font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">$gcc -lavformat -llzma test.c</span></span><br></div><div><span><span style="color: rgb(0, 0, 0); font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><br></span></span></div><div><span><span style="color: rgb(0, 0, 0); font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">So I tried </span></span></div><div><span><span style="color: rgb(0, 0, 0); font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><span>env LIBS="-llzma"   </span>./minidlna-1.2.1/configure</span></span></div><div><span><span style="color: rgb(0, 0, 0); font-family: Helvetica Neue, Helvetica, Arial, sans-serif;">and that worked!</span></span></div><div><span><span style="color: rgb(0, 0, 0); font-family: Helvetica Neue, Helvetica, Arial, sans-serif;"><br></span></span></div><div><br></div><div>Seems to me if avformat needs lzma it needs to include it itself!! Failing to include it</div><div> broke minidlna from compiling! I'm not sure if this is a bug or if my install is borked </div><div>and that's causing the library issue. I'm not fluent in how ldconfig and the like works.</div><div>I tried rebuilding the ldconfig cache and that didn't fix the problem.</div><div><br></div><div>Thanks!</div></span><br></div><div class="ydpa1351ecfyahoo-style-wrap" style="font-family: Helvetica Neue, Helvetica, Arial, sans-serif; font-size: 13px;"></div></body></html>