[CM] [Snd] 14.x build failure with ladspa, incomplete type error

Ray Rashif schiv at archaudio.org
Sun Oct 27 14:04:44 PDT 2013


On 15 October 2013 07:28, Bill Schottstaedt <bil at ccrma.stanford.edu> wrote:
> Snd 14.1:
>
> removed frame.scm and mixer.scm (frames and mixers have been replaced
>   by float-vectors in s7-clm).
>
> checked: gtk 3.9.16, 3.10.0|1, sbcl 1.1.12.

Hi Bill

I couldn't locate a bug tracker so I'm filing this here. Ever since
14.0 I've not had success building snd --with-ladspa:

snd-ladspa.c: In function 'g_ladspa_connect_port':
snd-ladspa.c:1194:32: error: dereferencing pointer to incomplete type
         double_to_float(samples->data, samples->length)
                                ^
snd-ladspa.c:1194:47: error: dereferencing pointer to incomplete type
         double_to_float(samples->data, samples->length)

Here 'samples' is of type vct*. Upon further investigation it appears
the struct definition for vct moved from vct.h to vct.c in 14.0.

There must be a reason for this, but it is beyond my knowledge. For
the meantime, an interim solution is to bring the definition back into
the header.

Patch for workaround inline (copies 13.9 verbatim):

--- snd-14.1.orig/vct.h 2013-10-28 02:22:35.073798054 +0800
+++ snd-14.1/vct.h      2013-10-28 02:45:27.166364791 +0800
@@ -1,11 +1,11 @@
 #ifndef VCT_H
 #define VCT_H

-#if HAVE_SCHEME
-  typedef struct s7_cell vct;
-#else
-typedef struct vct vct;
-#endif
+typedef struct {
+  mus_long_t length;
+  mus_float_t *data;
+  bool dont_free;
+} vct;

 #ifdef __cplusplus
 extern "C" {


--
GPG/PGP ID: C0711BF1



More information about the Cmdist mailing list