It fails with error
In file included from lametime.c:125:0: lametime.c: In function ‘lame_set_stream_binary_mode’: lametime.c:139:25: error: ‘_O_BINARY’ undeclared (first use in this function) setmode(fileno(fp), _O_BINARY);
~~~~~~
$ wget "http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flame%2Ffiles%2Flame%2F3.99%2F&ts=1440303241&use_mirror=iweb"
$ gunzip lame-3.99.5.tar.gz $ tar -xf lame-3.99.5.tar $ cd lame-3.99.5/ # this next step is due to a failure in ./configure recognizing the platform, the latest version of config.guess must be retrieved, looks something like this $ wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD" $ ./configure $ make ... gcc -DHAVE_CONFIG_H -I. -I.. -I../libmp3lame -I../include -I.. -O3 -fomit-frame-pointer -ffast-math -Wall -pipe -MT lametime.o -MD -MP -MF .deps/lametime.Tpo -c -o lametime.o lametime.c In file included from lametime.c:125:0: lametime.c: In function ‘lame_set_stream_binary_mode’: lametime.c:139:25: error: ‘_O_BINARY’ undeclared (first use in this function) setmode(fileno(fp), _O_BINARY); ^ lametime.c:139:25: note: each undeclared identifier is reported only once for each function it appears in Makefile:392: recipe for target 'lametime.o' failed make[2]: *** [lametime.o] Error 1 make[2]: Leaving directory '/tmp/lame-3.99.5/frontend' Makefile:349: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/tmp/lame-3.99.5' Makefile:276: recipe for target 'all' failed make: *** [all] Error 2 $ gcc --version gcc (GCC) 4.9.3 $ uname -a CYGWIN_NT-6.1 host 2.2.1(0.289/5/3) 2015-08-20 11:42 x86_64 Cygwin
~~~~~~
Try this patch:
This works with Cygwin 2.2 and the Lame 3.100 cvs head.
It works. Thanks!
3.101 should fix this (cygwin documents O_BINARY instead of _O_BINARY).
Fixed in SVN.