Audacity r11214 to r11216 fail to build on Linux

I’m getting the following errors on “make”:

gtk/FileDialogPrivate.cpp:102: warning: ignoring return value of ‘int chdir(const char*)’, declared with attribute warn_unused_result
/usr/bin/ar ruv FileDialog.a FileDialog.o gtk/FileDialogPrivate.o
/usr/bin/ar: creating FileDialog.a
a - FileDialog.o
a - gtk/FileDialogPrivate.o
ranlib FileDialog.a
make[2]: Leaving directory `/home/steve/sourcecode/audacity/lib-src/FileDialog'
ln -sf FileDialog/FileDialog.a FileDialog.a
make -C sbsms
make[2]: Entering directory `/home/steve/sourcecode/audacity/lib-src/sbsms'
Making all in src
make[3]: Entering directory `/home/steve/sourcecode/audacity/lib-src/sbsms/src'
make  all-am
make[4]: Entering directory `/home/steve/sourcecode/audacity/lib-src/sbsms/src'
/bin/bash ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I.    -ffast-math -funroll-loops -O3 -fomit-frame-pointer -msse -I../include  -MT sms.lo -MD -MP -MF .deps/sms.Tpo -c -o sms.lo sms.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -ffast-math -funroll-loops -O3 -fomit-frame-pointer -msse -I../include -MT sms.lo -MD -MP -MF .deps/sms.Tpo -c sms.cpp -o sms.o
In file included from sms.h:12,
                 from sms.cpp:1:
buffer.h: In constructor ‘_sbsms_::RingBuffer<T>::RingBuffer()’:
buffer.h:44: error: there are no arguments to ‘calloc’ that depend on a template parameter, so a declaration of ‘calloc’ must be available
buffer.h:44: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
buffer.h: In member function ‘long int _sbsms_::RingBuffer<T>::write(T)’:
buffer.h:60: error: there are no arguments to ‘calloc’ that depend on a template parameter, so a declaration of ‘calloc’ must be available
buffer.h: In constructor ‘_sbsms_::ArrayRingBuffer<T>::ArrayRingBuffer(int)’:
buffer.h:148: error: there are no arguments to ‘calloc’ that depend on a template parameter, so a declaration of ‘calloc’ must be available
buffer.h: In member function ‘void _sbsms_::ArrayRingBuffer<T>::grow(long int)’:
buffer.h:173: error: there are no arguments to ‘calloc’ that depend on a template parameter, so a declaration of ‘calloc’ must be available
sms.cpp: In constructor ‘_sbsms_::SMS::SMS(_sbsms_::SMS*, int, int, int, int, int, int, int, int, int, float (*)[2])’:
sms.cpp:89: error: ‘malloc’ was not declared in this scope
sms.cpp:118: error: ‘calloc’ was not declared in this scope
sms.cpp: In destructor ‘_sbsms_::SMS::~SMS()’:
sms.cpp:176: error: ‘free’ was not declared in this scope
sms.cpp:192: error: ‘free’ was not declared in this scope
sms.cpp: In member function ‘void _sbsms_::SMS::adjust(_sbsms_::GrainBuf*, std::queue<float*, std::deque<float*, std::allocator<float*> > >*, int, float**, float**, float (**)[2], const _sbsms_::TimeType&, _sbsms_::Slice**)’:
sms.cpp:587: error: ‘free’ was not declared in this scope
sms.cpp: In member function ‘void _sbsms_::SMS::add(_sbsms_::grain*, _sbsms_::grain*, _sbsms_::grain*, int)’:
sms.cpp:1444: error: ‘malloc’ was not declared in this scope
sms.cpp:1449: error: ‘malloc’ was not declared in this scope
sms.cpp: In constructor ‘_sbsms_::SynthRenderer::SynthRenderer(int, int)’:
sms.cpp:1837: error: ‘malloc’ was not declared in this scope
sms.cpp: In destructor ‘virtual _sbsms_::SynthRenderer::~SynthRenderer()’:
sms.cpp:1848: error: ‘free’ was not declared in this scope
sms.cpp: In member function ‘virtual void _sbsms_::SynthRenderer::startTime(int, const _sbsms_::TimeType&, int)’:
sms.cpp:1855: error: ‘free’ was not declared in this scope
sms.cpp:1857: error: ‘malloc’ was not declared in this scope
In file included from sms.h:12,
                 from sms.cpp:1:
buffer.h: In constructor ‘_sbsms_::RingBuffer<T>::RingBuffer() [with T = _sbsms_::Slice*]’:
sms.cpp:11:   instantiated from here
buffer.h:44: error: ‘calloc’ was not declared in this scope
buffer.h: In destructor ‘_sbsms_::RingBuffer<T>::~RingBuffer() [with T = _sbsms_::Slice*]’:
sms.cpp:11:   instantiated from here
buffer.h:52: error: ‘free’ was not declared in this scope
buffer.h: In constructor ‘_sbsms_::ArrayRingBuffer<T>::ArrayRingBuffer(int) [with T = float]’:
sms.cpp:90:   instantiated from here
buffer.h:148: error: ‘calloc’ was not declared in this scope
buffer.h: In destructor ‘_sbsms_::ArrayRingBuffer<T>::~ArrayRingBuffer() [with T = float]’:
sms.cpp:177:   instantiated from here
buffer.h:156: error: ‘free’ was not declared in this scope
buffer.h: In member function ‘long int _sbsms_::RingBuffer<T>::write(T) [with T = _sbsms_::Slice*]’:
sms.cpp:1757:   instantiated from here
buffer.h:60: error: ‘calloc’ was not declared in this scope
buffer.h:62: error: ‘free’ was not declared in this scope
buffer.h: In member function ‘void _sbsms_::ArrayRingBuffer<T>::grow(long int) [with T = float]’:
sms.cpp:1875:   instantiated from here
buffer.h:173: error: ‘calloc’ was not declared in this scope
buffer.h:175: error: ‘free’ was not declared in this scope
make[4]: *** [sms.lo] Error 1
make[4]: Leaving directory `/home/steve/sourcecode/audacity/lib-src/sbsms/src'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/steve/sourcecode/audacity/lib-src/sbsms/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/steve/sourcecode/audacity/lib-src/sbsms'
make[1]: *** [sbsms-recursive] Error 2
make[1]: Leaving directory `/home/steve/sourcecode/audacity/lib-src'
make: *** [audacity] Error 2

[Update:]
This has been reported on -devel by Benjamin Drung.
The Audacity Team Ubuntu PPA is also failing to build.

Corrected with r11217 by reverting 11214 and 11215.


Gale