Hello,

I forgot to attach the patch. Here it is.

Regards,
Arthur
diff -Naur audacity.orig/audacity-2.0.5/debian/changelog audacity/audacity-2.0.5/debian/changelog
--- audacity.orig/audacity-2.0.5/debian/changelog	2014-08-04 12:42:17.595835098 -0500
+++ audacity/audacity-2.0.5/debian/changelog	2014-08-04 13:18:38.507873077 -0500
@@ -1,3 +1,11 @@
+audacity (2.0.5-3) unstable; urgency=low
+
+  * Fix FTBFS with clang
+    - Fixed undefined reference error in
+      lib-src/libnyquist/nyquist/ffts/src/fftlib.c
+
+ -- Arthur Marble <art...@info9.net>  Mon, 04 Aug 2014 13:18:38 -0500
+
 audacity (2.0.5-2) unstable; urgency=medium
 
   * Add support for recent FFmpeg/libav versions. Thanks to Michael Niedermayer
diff -Naur audacity.orig/audacity-2.0.5/debian/patches/clang-ftbfs.diff audacity/audacity-2.0.5/debian/patches/clang-ftbfs.diff 
--- audacity.orig/audacity-2.0.5/debian/patches/clang-ftbfs.diff	1969-12-31 18:00:00.000000000 -0600
+++ audacity/audacity-2.0.5/debian/patches/clang-ftbfs.diff	2014-08-04 13:14:48.223869067 -0500
@@ -0,0 +1,134 @@
+--- a/lib-src/libnyquist/nyquist/ffts/src/fftlib.c
++++ b/lib-src/libnyquist/nyquist/ffts/src/fftlib.c
+@@ -61,8 +61,8 @@ for (i1 = 0; i1 < Nroot_1; i1++){
+ parts of ffts1
+ *************************************************/
+ 
+-inline void bitrevR2(float *ioptr, long M, short *BRLow);
+-inline void bitrevR2(float *ioptr, long M, short *BRLow){
++static inline void bitrevR2(float *ioptr, long M, short *BRLow);
++static inline void bitrevR2(float *ioptr, long M, short *BRLow){
+ /*** bit reverse and first radix 2 stage of forward or inverse fft ***/
+ float	f0r;
+ float	f0i;
+@@ -512,8 +512,8 @@ for (SameUCnt = NSameU; SameUCnt > 0 ; S
+ }
+ }
+ 
+-inline void bfR4(float *ioptr, long M, long NDiffU);
+-inline void bfR4(float *ioptr, long M, long NDiffU){
++static inline void bfR4(float *ioptr, long M, long NDiffU);
++static inline void bfR4(float *ioptr, long M, long NDiffU){
+ /*** 1 radix 4 stage ***/
+ unsigned long	pos;
+ unsigned long	posi;
+@@ -721,8 +721,8 @@ f4i = f4i * Two - f6i;
+ 
+ }
+ 
+-inline void bfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
+-inline void bfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt){
++static inline void bfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
++static inline void bfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt){
+ /***   RADIX 8 Stages	***/
+ unsigned long	pos;
+ unsigned long	posi;
+@@ -1125,8 +1125,8 @@ default:
+ parts of iffts1
+ *************************************************/
+ 
+-inline void scbitrevR2(float *ioptr, long M, short *BRLow, float scale);
+-inline void scbitrevR2(float *ioptr, long M, short *BRLow, float scale){
++static inline void scbitrevR2(float *ioptr, long M, short *BRLow, float scale);
++static inline void scbitrevR2(float *ioptr, long M, short *BRLow, float scale){
+ /*** scaled bit reverse and first radix 2 stage forward or inverse fft ***/
+ float	f0r;
+ float	f0i;
+@@ -1467,8 +1467,8 @@ ioptr[14] = scale*f6r;
+ ioptr[15] = scale*f6i;
+ }
+ 
+-inline void ibfR2(float *ioptr, long M, long NDiffU);
+-inline void ibfR2(float *ioptr, long M, long NDiffU){
++static inline void ibfR2(float *ioptr, long M, long NDiffU);
++static inline void ibfR2(float *ioptr, long M, long NDiffU){
+ /*** 2nd radix 2 stage ***/
+ unsigned long	pos;
+ unsigned long	posi;
+@@ -1576,8 +1576,8 @@ for (SameUCnt = NSameU; SameUCnt > 0 ; S
+ }
+ }
+ 
+-inline void ibfR4(float *ioptr, long M, long NDiffU);
+-inline void ibfR4(float *ioptr, long M, long NDiffU){
++static inline void ibfR4(float *ioptr, long M, long NDiffU);
++static inline void ibfR4(float *ioptr, long M, long NDiffU){
+ /*** 1 radix 4 stage ***/
+ unsigned long	pos;
+ unsigned long	posi;
+@@ -1785,8 +1785,8 @@ f4i = f4i * Two - f6i;
+ 
+ }
+ 
+-inline void ibfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
+-inline void ibfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt){
++static inline void ibfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
++static inline void ibfstages(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt){
+ /***   RADIX 8 Stages	***/
+ unsigned long	pos;
+ unsigned long	posi;
+@@ -2109,8 +2109,8 @@ for (; StageCnt > 0 ; StageCnt--){
+ }
+ }
+ 
+-void ifftrecurs(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
+-void ifftrecurs(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt){
++static inline void ifftrecurs(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt);
++static inline void ifftrecurs(float *ioptr, long M, float *Utbl, long Ustride, long NDiffU, long StageCnt){
+ /* recursive bfstages calls to maximize on chip cache efficiency */
+ long i1;
+ if (M <= MCACHE)
+@@ -2318,8 +2318,8 @@ ioptr[6] = scale*f3r;
+ ioptr[7] = scale*f3i;
+ }
+ 
+-inline void rfft8pt(float *ioptr);
+-inline void rfft8pt(float *ioptr){
++static inline void rfft8pt(float *ioptr);
++static inline void rfft8pt(float *ioptr){
+ /***   RADIX 16 rfft	***/
+ float w0r = 1.0/MYROOT2; /* cos(pi/4)	*/
+ float w1r = MYCOSPID8; /* cos(pi/8)	*/
+@@ -2477,8 +2477,8 @@ ioptr[14] = scale*f6r;
+ ioptr[15] = scale*f6i;
+ }
+ 
+-inline void frstage(float *ioptr, long M, float *Utbl);
+-inline void frstage(float *ioptr, long M, float *Utbl){
++static inline void frstage(float *ioptr, long M, float *Utbl);
++static inline void frstage(float *ioptr, long M, float *Utbl){
+ /*	Finish RFFT		*/
+ 
+ unsigned long 	pos;
+@@ -2811,8 +2811,8 @@ ioptr[6] = scale*f3r;
+ ioptr[7] = scale*f3i;
+ }
+ 
+-inline void rifft8pt(float *ioptr, float scale);
+-inline void rifft8pt(float *ioptr, float scale){
++static inline void rifft8pt(float *ioptr, float scale);
++static inline void rifft8pt(float *ioptr, float scale){
+ /***   RADIX 16 rifft	***/
+ float w0r = 1.0/MYROOT2; /* cos(pi/4)	*/
+ float w1r = MYCOSPID8; /* cos(pi/8)	*/
+@@ -2968,8 +2968,8 @@ ioptr[14] = scale*f6r;
+ ioptr[15] = scale*f6i;
+ }
+ 
+-inline void ifrstage(float *ioptr, long M, float *Utbl);
+-inline void ifrstage(float *ioptr, long M, float *Utbl){
++static inline void ifrstage(float *ioptr, long M, float *Utbl);
++static inline void ifrstage(float *ioptr, long M, float *Utbl){
+ /*	Start RIFFT		*/
+ 
+ unsigned long 	pos;
diff -Naur audacity.orig/audacity-2.0.5/debian/patches/series audacity/audacity-2.0.5/debian/patches/series 
--- audacity.orig/audacity-2.0.5/debian/patches/series	2014-08-04 12:42:17.591835097 -0500
+++ audacity/audacity-2.0.5/debian/patches/series	2014-08-04 13:04:11.515857979 -0500
@@ -3,3 +3,4 @@
 ffmpeg.patch
 remove-strict-prototype-warnings.patch
 fix-ladspa-search-path.patch
+clang-ftbfs.diff

Reply via email to