Trying to compile lame 3.97 with the option --disable-brhist set gives the errors:
encoder.c: In function `updateStats':
encoder.c:163: error: structure has no member named `bitrate_stereoMode_Hist'
encoder.c:164: error: structure has no member named `bitrate_stereoMode_Hist'
encoder.c:168: error: structure has no member named `bitrate_stereoMode_Hist'
encoder.c:169: error: structure has no member named `bitrate_stereoMode_Hist'
encoder.c:177: error: structure has no member named `bitrate_blockType_Hist'
encoder.c:178: error: structure has no member named `bitrate_blockType_Hist'
encoder.c:179: error: structure has no member named `bitrate_blockType_Hist'
encoder.c:180: error: structure has no member named `bitrate_blockType_Hist'
encoder.c: At top level:
encoder.c:157: warning: `updateStats' defined but not used
make[3]: *** [encoder.lo] Error 1
make[3]: Leaving directory `/home/mp3team/src/test/lame-3.97/libmp3lame'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/mp3team/src/test/lame-3.97/libmp3lame'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mp3team/src/test/lame-3.97'
make: *** [all] Error 2
lame 3.96.1 compiles fine, as well as 3.97 without --disable-brhist
System:
Debian sarge
kernel 2.4.27-2-386
libc6 2.3.2.ds1-22sarge4
gcc 4:3.3.5-3
make 3.80-9
(all Debian standard)
My configuration:
#!/bin/bash
CFLAGS='-O3 -ffast-math -funroll-loops -maccumulate-outgoing-args -fschedule-insns2 -fbranch-count-reg -fforce-addr -fforce-mem -mcpu=athlon-tbird -march=athlon-tbird -mfancy-math-387 -malign-double -Wall -pipe -O3 -march=athlon-tbird -m3dnow -mmmx' \
./configure \
--prefix=/usr/local/lame/lame-3.97 \
--disable-largefile \
--disable-gtktest \
--mandir=/usr/local/lame/lame-3.97/share/man \
--enable-nasm \
--disable-brhist \
# --enable-expopt=full
Removing the compiler options doesn't change the result
configure log
Logged In: YES
user_id=1106
Originator: NO
Confirmed, it will be fixed in CVS head for the next beta release.
Logged In: NO
It seems you have to add #ifdef BRHIST #endif statements around the updateStats() definition too