Opened 4 years ago

Closed 4 years ago

#1411 closed defect (fixed)

ffmpeg fails to compile with mp2 muxer enabled alone

Reported by: jamal Owned by:
Priority: normal Component: build system
Version: git-master Keywords: mp2
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

The following configuration fails when linking the executables:

./configure --disable-everything --enable-muxer=mp2

The errors being:

LD      ffmpeg_g.exe
libavformat/libavformat.a(mp3enc.o): In function `mp3_queue_flush':
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:322: undefined reference to `ff_id3v2_finish'
libavformat/libavformat.a(mp3enc.o): In function `mp3_write_xing':
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:131: undefined reference to `avpriv_mpa_freq_tab'
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:131: undefined reference to `avpriv_mpa_freq_tab'
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:131: undefined reference to `avpriv_mpa_freq_tab'
libavformat/libavformat.a(mp3enc.o): In function `mp3_write_packet_internal':
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:282: undefined reference to `avpriv_mpegaudio_decode_header'
libavformat/libavformat.a(mp3enc.o): In function `mp3_write_xing':
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:158: undefined reference to `avpriv_mpegaudio_decode_header'
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:158: undefined reference to `avpriv_mpegaudio_decode_header'
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:158: undefined reference to `avpriv_mpegaudio_decode_header'
D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:158: undefined reference to `avpriv_mpegaudio_decode_header'
libavformat/libavformat.a(mp3enc.o):D:\MinGW\msys\1.0\home\jamal\ffmpeg/libavformat/mp3enc.c:158: more undefined references to `avpriv_mpegaudio_decode_header' follow
collect2: ld returned 1 exit status
make: *** [ffmpeg_g.exe] Error 1

The problem is that the files libavformat/id3v2enc.c libavcodec/mpegaudiodata.c and libavcodec/mpegaudiodecheader.c are not being compiled since the dependencies aren't set in both avformat's and avcodec's Makefiles

In avformat's Makefile

OBJS-$(CONFIG_MP2_MUXER)                 += mp3enc.o rawenc.o

should be

OBJS-$(CONFIG_MP2_MUXER)                 += mp3enc.o rawenc.o id3v2enc.o

And in avcodec's Makefile the following line needs to be added to the section for avformat dependencies

OBJS-$(CONFIG_MP2_MUXER)               += mpegaudiodata.o mpegaudiodecheader.o

Once again, part of the credit for finding this goes to Måns.

Change History (1)

comment:1 Changed 4 years ago by cehoyos

  • Reproduced by developer set
  • Resolution set to fixed
  • Status changed from new to closed

Should be fixed, thank you for the report.

Note: See TracTickets for help on using tickets.