freeswitch / spandsp

SpanDSP is a low-level signal processing library that modulates and demodulates signals commonly used in telephony, such as the "noise" generated by a fax modem or DTMF touchpad.
Other
141 stars 117 forks source link

Compilation failing with --disable-builtin-tiff flag #68

Open lexxer3d opened 8 months ago

lexxer3d commented 8 months ago

Compilation fails with this output:

gcc -o make_v34_convolutional_coders ../src/make_v34_convolutional_coders.c -DHAVE_CONFIG_H -I../src -lm
./make_v34_convolutional_coders >v34_convolutional_coders.h
gcc -o make_v34_probe_signals ../src/make_v34_probe_signals.c ../src/g711.c ../src/alloc.c -DHAVE_CONFIG_H -I../src -lm
In file included from ../src/make_v34_probe_signals.c:28:
../src/spandsp.h:48:10: fatal error: tiffio.h: No such file or directory
   48 | #include <tiffio.h>
      |          ^~~~~~~~~~
compilation terminated.
make[4]: *** [Makefile:1602: make_v34_probe_signals] Error 1

The issue is with make_v34_probe_signals.c that includes "spandsp.h" which, in turn, demands tiffio.h. A trial solution is to replace spandsp.h with the following includes:

#include <inttypes.h>
#include <stdio.h>

// #include "spandsp.h"

#include <stdlib.h>
#include <math.h>
#include "spandsp/telephony.h"
#include "spandsp/bit_operations.h"
#include "spandsp/g711.h"

Also there's an issue in meteor-engine.c:979 with printf format missing a string parameter:

gcc -o make_v34_tx_pre_emphasis_filters ../src/make_v34_tx_pre_emphasis_filters.c ../tools/meteor-engine.c -DHAVE_CONFIG_H -I../src -I../tools -lm
../tools/meteor-engine.c: In function ‘vet_data’:
../tools/meteor-engine.c:979:20: warning: too many arguments for format [-Wformat-extra-args]
  979 |             printf("Pushing band edges right\n", (s->which_way == rr)  ?  "right"  :  "left");
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~