I saw that there was a commit made shortly before the release that lowered the spandsp version requirement from 1.99 to 0.0.6, apparently to be able to compile against the spandsp version used in Debian. But I have to wonder if this would really work (on Debian), because OpenWrt uses the same spandsp version 0.0.6 and the few patches that Debian adds on top don't seem to be related to the build failure I see when trying to compile FreeSWITCH against the OpenWrt spandsp 0.0.6 (I'll paste the log below in case anybody is curious).
So for all I know spandsp 0.0.6 is not compatible with FreeSWITCH 1.10.4 and one needs this spandsp fork (1.99).
In OpenWrt we have not only FreeSWITCH that depends on spandsp. We also package Asterisk, yate, rtpengine and baresip and they all have dependencies on spandsp. Will they work without changes with this fork of spandsp, with spandsp 1.99?
If this is not the case I will probably put some efforts into trying to rename the library of this fork to something different, so that the "original" spandsp can coexist with this "fork", in order for the other applications that depend on spandsp to keep working as expected.
I would really appreciate your feedback on this matter.
OpenWrt-libtool: compile: ccache_cc -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../libs/esl/src/include -I../../../../libs/xmlrpc-c -I. -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include -I/home/sk/tmp/openwrt/staging_dir/toolchain-mips_24kc_gcc-10.1.0_musl/usr/include -I/home/sk/tmp/openwrt/staging_dir/toolchain-mips_24kc_gcc-10.1.0_musl/include/fortify -I/home/sk/tmp/openwrt/staging_dir/toolchain-mips_24kc_gcc-10.1.0_musl/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libiconv-stub/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libintl-stub/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/uuid -I/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/freeswitch-1.10.4.-release/src/include -I/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/freeswitch-1.10.4.-release/src/include -I/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/freeswitch-1.10.4.-release/libs/libteletone/src -fPIC -ffast-math -Werror -Wno-unused-result -Wno-misleading-indentation -Wno-error=format-truncation -fvisibility=hidden -DSWITCH_API_VISIBILITY=1 -DCJSON_API_VISIBILITY=1 -DHAVE_VISIBILITY=1 -DHAVE_OPENSSL -Wdeclaration-after-statement -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -ffile-prefix-map=/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/freeswitch-1.10.4.-release=freeswitch-1.10.4.-release -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libiconv-stub/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libintl-stub/include -c mod_spandsp_fax.c -fPIC -DPIC -o .libs/mod_spandsp_la-mod_spandsp_fax.o
mod_spandsp_fax.c: In function 'phase_d_handler':
mod_spandsp_fax.c:422:86: error: 't30_stats_t' has no member named 'image_x_resolution'; did you mean 'x_resolution'?
422 | fax_file_image_resolution = switch_core_session_sprintf(session, "%ix%i", t30_stats.image_x_resolution, t30_stats.image_y_resolution);
| ^~~~~~~~~~~~~~~~~~
| x_resolution
mod_spandsp_fax.c:422:116: error: 't30_stats_t' has no member named 'image_y_resolution'; did you mean 'y_resolution'?
422 | fax_file_image_resolution = switch_core_session_sprintf(session, "%ix%i", t30_stats.image_x_resolution, t30_stats.image_y_resolution);
| ^~~~~~~~~~~~~~~~~~
| y_resolution
mod_spandsp_fax.c:432:85: error: 't30_stats_t' has no member named 'image_width'
432 | fax_file_image_pixel_size = switch_core_session_sprintf(session, "%ix%i", t30_stats.image_width, t30_stats.image_length);
| ^
mod_spandsp_fax.c:432:108: error: 't30_stats_t' has no member named 'image_length'
432 | fax_file_image_pixel_size = switch_core_session_sprintf(session, "%ix%i", t30_stats.image_width, t30_stats.image_length);
| ^
mod_spandsp_fax.c:452:69: error: 't30_stats_t' has no member named 'compression'
452 | fax_encoding = switch_core_session_sprintf(session, "%d", t30_stats.compression);
| ^
In file included from ../../../../src/include/switch.h:127,
from mod_spandsp.h:35,
from mod_spandsp_fax.c:35:
mod_spandsp_fax.c:457:60: error: implicit declaration of function 't4_compression_to_str' [-Werror=implicit-function-declaration]
457 | switch_channel_set_variable(channel, "fax_encoding_name", t4_compression_to_str(t30_stats.compression));
| ^~~~~~~~~~~~~~~~~~~~~
../../../../src/include/switch_channel.h:297:113: note: in definition of macro 'switch_channel_set_variable'
297 | #define switch_channel_set_variable(_channel, _var, _val) switch_channel_set_variable_var_check(_channel, _var, _val, SWITCH_TRUE)
| ^~~~
mod_spandsp_fax.c:457:91: error: 't30_stats_t' has no member named 'compression'
457 | switch_channel_set_variable(channel, "fax_encoding_name", t4_compression_to_str(t30_stats.compression));
| ^
../../../../src/include/switch_channel.h:297:113: note: in definition of macro 'switch_channel_set_variable'
297 | #define switch_channel_set_variable(_channel, _var, _val) switch_channel_set_variable_var_check(_channel, _var, _val, SWITCH_TRUE)
| ^~~~
mod_spandsp_fax.c:476:113: error: implicit declaration of function 't4_image_type_to_str'; did you mean 't38_data_type_to_str'? [-Werror=implicit-function-declaration]
476 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Image type = %s (%s in the file)\n", t4_image_type_to_str(t30_stats.type), t4_image_type_to_str(t30_stats.image_type));
| ^~~~~~~~~~~~~~~~~~~~
| t38_data_type_to_str
mod_spandsp_fax.c:476:143: error: 't30_stats_t' has no member named 'type'
476 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Image type = %s (%s in the file)\n", t4_image_type_to_str(t30_stats.type), t4_image_type_to_str(t30_stats.image_type));
| ^
mod_spandsp_fax.c:476:182: error: 't30_stats_t' has no member named 'image_type'; did you mean 'image_size'?
476 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Image type = %s (%s in the file)\n", t4_image_type_to_str(t30_stats.type), t4_image_type_to_str(t30_stats.image_type));
| ^~~~~~~~~~
| image_size
mod_spandsp_fax.c:477:181: error: 't30_stats_t' has no member named 'image_width'
477 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Image size = %d x %d pixels (%d x %d pixels in the file)\n", t30_stats.width, t30_stats.length, t30_stats.image_width, t30_stats.image_length);
| ^
mod_spandsp_fax.c:477:204: error: 't30_stats_t' has no member named 'image_length'
477 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Image size = %d x %d pixels (%d x %d pixels in the file)\n", t30_stats.width, t30_stats.length, t30_stats.image_width, t30_stats.image_length);
| ^
mod_spandsp_fax.c:478:195: error: 't30_stats_t' has no member named 'image_x_resolution'; did you mean 'x_resolution'?
478 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Image resolution = %d/m x %d/m (%d/m x %d/m in the file)\n", t30_stats.x_resolution, t30_stats.y_resolution, t30_stats.image_x_resolution, t30_stats.image_y_resolution);
| ^~~~~~~~~~~~~~~~~~
| x_resolution
mod_spandsp_fax.c:478:225: error: 't30_stats_t' has no member named 'image_y_resolution'; did you mean 'y_resolution'?
478 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Image resolution = %d/m x %d/m (%d/m x %d/m in the file)\n", t30_stats.x_resolution, t30_stats.y_resolution, t30_stats.image_x_resolution, t30_stats.image_y_resolution);
| ^~~~~~~~~~~~~~~~~~
| y_resolution
mod_spandsp_fax.c:479:133: error: 't30_stats_t' has no member named 'compression'
479 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Compression = %s (%d)\n", t4_compression_to_str(t30_stats.compression), t30_stats.compression);
| ^
mod_spandsp_fax.c:479:157: error: 't30_stats_t' has no member named 'compression'
479 | switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Compression = %s (%d)\n", t4_compression_to_str(t30_stats.compression), t30_stats.compression);
| ^
mod_spandsp_fax.c:503:114: error: 't30_stats_t' has no member named 'compression'
503 | switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "fax-encoding-name", t4_compression_to_str(t30_stats.compression));
| ^
mod_spandsp_fax.c: In function 'spanfax_init':
mod_spandsp_fax.c:775:60: error: passing argument 2 of 'span_log_set_message_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
775 | span_log_set_message_handler(fax_get_logging_state(fax), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~
| |
| void (*)(void *, int, const char *)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:92: note: expected 'message_handler_func_t' {aka 'void (*)(int, const char *)'} but argument is of type 'void (*)(void *, int, const char *)'
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
mod_spandsp_fax.c:775:3: error: too many arguments to function 'span_log_set_message_handler'
775 | span_log_set_message_handler(fax_get_logging_state(fax), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:20: note: declared here
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:776:60: error: passing argument 2 of 'span_log_set_message_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
776 | span_log_set_message_handler(t30_get_logging_state(t30), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~
| |
| void (*)(void *, int, const char *)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:92: note: expected 'message_handler_func_t' {aka 'void (*)(int, const char *)'} but argument is of type 'void (*)(void *, int, const char *)'
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
mod_spandsp_fax.c:776:3: error: too many arguments to function 'span_log_set_message_handler'
776 | span_log_set_message_handler(t30_get_logging_state(t30), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:20: note: declared here
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:830:70: error: passing argument 2 of 'span_log_set_message_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
830 | span_log_set_message_handler(t38_terminal_get_logging_state(t38), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~
| |
| void (*)(void *, int, const char *)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:92: note: expected 'message_handler_func_t' {aka 'void (*)(int, const char *)'} but argument is of type 'void (*)(void *, int, const char *)'
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
mod_spandsp_fax.c:830:4: error: too many arguments to function 'span_log_set_message_handler'
830 | span_log_set_message_handler(t38_terminal_get_logging_state(t38), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:20: note: declared here
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:831:61: error: passing argument 2 of 'span_log_set_message_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
831 | span_log_set_message_handler(t30_get_logging_state(t30), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~
| |
| void (*)(void *, int, const char *)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:92: note: expected 'message_handler_func_t' {aka 'void (*)(int, const char *)'} but argument is of type 'void (*)(void *, int, const char *)'
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
mod_spandsp_fax.c:831:4: error: too many arguments to function 'span_log_set_message_handler'
831 | span_log_set_message_handler(t30_get_logging_state(t30), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:20: note: declared here
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:880:87: error: passing argument 2 of 'span_log_set_message_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
880 | span_log_set_message_handler(t38_gateway_get_logging_state(pvt->t38_gateway_state), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~
| |
| void (*)(void *, int, const char *)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:92: note: expected 'message_handler_func_t' {aka 'void (*)(int, const char *)'} but argument is of type 'void (*)(void *, int, const char *)'
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
mod_spandsp_fax.c:880:3: error: too many arguments to function 'span_log_set_message_handler'
880 | span_log_set_message_handler(t38_gateway_get_logging_state(pvt->t38_gateway_state), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:20: note: declared here
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:881:75: error: passing argument 2 of 'span_log_set_message_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
881 | span_log_set_message_handler(t38_core_get_logging_state(pvt->t38_core), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~
| |
| void (*)(void *, int, const char *)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:92: note: expected 'message_handler_func_t' {aka 'void (*)(int, const char *)'} but argument is of type 'void (*)(void *, int, const char *)'
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~
mod_spandsp_fax.c:881:3: error: too many arguments to function 'span_log_set_message_handler'
881 | span_log_set_message_handler(t38_core_get_logging_state(pvt->t38_core), mod_spandsp_log_message, pvt->session);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:47,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/logging.h:120:20: note: declared here
120 | SPAN_DECLARE(void) span_log_set_message_handler(logging_state_t *s, message_handler_func_t func);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:906:31: error: passing argument 2 of 't30_set_phase_e_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
906 | t30_set_phase_e_handler(t30, phase_e_handler, pvt);
| ^~~~~~~~~~~~~~~
| |
| void (*)(void *, int)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:110,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/t30_api.h:524:83: note: expected 'void (*)(t30_state_t *, void *, int)' {aka 'void (*)(struct t30_state_s *, void *, int)'} but argument is of type 'void (*)(void *, int)'
524 | SPAN_DECLARE(void) t30_set_phase_e_handler(t30_state_t *s, t30_phase_e_handler_t *handler, void *user_data);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
mod_spandsp_fax.c:907:31: error: passing argument 2 of 't30_set_phase_d_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
907 | t30_set_phase_d_handler(t30, phase_d_handler, pvt);
| ^~~~~~~~~~~~~~~
| |
| int (*)(void *, int)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:110,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/t30_api.h:517:83: note: expected 'int (*)(t30_state_t *, void *, int)' {aka 'int (*)(struct t30_state_s *, void *, int)'} but argument is of type 'int (*)(void *, int)'
517 | SPAN_DECLARE(void) t30_set_phase_d_handler(t30_state_t *s, t30_phase_d_handler_t *handler, void *user_data);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
mod_spandsp_fax.c:908:31: error: passing argument 2 of 't30_set_phase_b_handler' from incompatible pointer type [-Werror=incompatible-pointer-types]
908 | t30_set_phase_b_handler(t30, phase_b_handler, pvt);
| ^~~~~~~~~~~~~~~
| |
| int (*)(void *, int)
In file included from /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp.h:110,
from mod_spandsp.h:50,
from mod_spandsp_fax.c:35:
/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/spandsp/t30_api.h:510:83: note: expected 'int (*)(t30_state_t *, void *, int)' {aka 'int (*)(struct t30_state_s *, void *, int)'} but argument is of type 'int (*)(void *, int)'
510 | SPAN_DECLARE(void) t30_set_phase_b_handler(t30_state_t *s, t30_phase_b_handler_t *handler, void *user_data);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
mod_spandsp_fax.c:911:11: error: 'T4_SUPPORT_LENGTH_US_LETTER' undeclared (first use in this function)
911 | T4_SUPPORT_LENGTH_US_LETTER
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:911:11: note: each undeclared identifier is reported only once for each function it appears in
mod_spandsp_fax.c:912:11: error: 'T4_SUPPORT_LENGTH_US_LEGAL' undeclared (first use in this function)
912 | | T4_SUPPORT_LENGTH_US_LEGAL
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:913:11: error: 'T4_SUPPORT_LENGTH_UNLIMITED' undeclared (first use in this function)
913 | | T4_SUPPORT_LENGTH_UNLIMITED
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:914:11: error: 'T4_SUPPORT_WIDTH_215MM' undeclared (first use in this function)
914 | | T4_SUPPORT_WIDTH_215MM
| ^~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:915:11: error: 'T4_SUPPORT_WIDTH_255MM' undeclared (first use in this function)
915 | | T4_SUPPORT_WIDTH_255MM
| ^~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:916:11: error: 'T4_SUPPORT_WIDTH_303MM' undeclared (first use in this function)
916 | | T4_SUPPORT_WIDTH_303MM);
| ^~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:917:2: error: implicit declaration of function 't30_set_supported_bilevel_resolutions'; did you mean 't30_set_supported_resolutions'? [-Werror=implicit-function-declaration]
917 | t30_set_supported_bilevel_resolutions(t30,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| t30_set_supported_resolutions
mod_spandsp_fax.c:918:13: error: 'T4_RESOLUTION_R8_STANDARD' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_STANDARD'?
918 | T4_RESOLUTION_R8_STANDARD
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_STANDARD
mod_spandsp_fax.c:919:13: error: 'T4_RESOLUTION_R8_FINE' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_FINE'?
919 | | T4_RESOLUTION_R8_FINE
| ^~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_FINE
mod_spandsp_fax.c:920:13: error: 'T4_RESOLUTION_R8_SUPERFINE' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_SUPERFINE'?
920 | | T4_RESOLUTION_R8_SUPERFINE
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_SUPERFINE
mod_spandsp_fax.c:921:13: error: 'T4_RESOLUTION_R16_SUPERFINE' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_SUPERFINE'?
921 | | T4_RESOLUTION_R16_SUPERFINE
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_SUPERFINE
mod_spandsp_fax.c:922:43: error: 'T4_RESOLUTION_200_100' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_1200'?
922 | | T4_RESOLUTION_200_100
| ^~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_1200
mod_spandsp_fax.c:923:43: error: 'T4_RESOLUTION_200_200' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_1200'?
923 | | T4_RESOLUTION_200_200
| ^~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_1200
mod_spandsp_fax.c:924:43: error: 'T4_RESOLUTION_200_400' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_1200'?
924 | | T4_RESOLUTION_200_400
| ^~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_1200
mod_spandsp_fax.c:925:43: error: 'T4_RESOLUTION_400_400' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_1200'?
925 | | T4_RESOLUTION_400_400);
| ^~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_1200
mod_spandsp_fax.c:926:17: error: 'T4_COMPRESSION_T4_1D' undeclared (first use in this function); did you mean 'T4_COMPRESSION_ITU_T6'?
926 | compressions = T4_COMPRESSION_T4_1D
| ^~~~~~~~~~~~~~~~~~~~
| T4_COMPRESSION_ITU_T6
mod_spandsp_fax.c:927:8: error: 'T4_COMPRESSION_T4_2D' undeclared (first use in this function); did you mean 'T4_COMPRESSION_ITU_T6'?
927 | | T4_COMPRESSION_T4_2D
| ^~~~~~~~~~~~~~~~~~~~
| T4_COMPRESSION_ITU_T6
mod_spandsp_fax.c:928:8: error: 'T4_COMPRESSION_T6' undeclared (first use in this function); did you mean 'T4_COMPRESSION_ITU_T6'?
928 | | T4_COMPRESSION_T6
| ^~~~~~~~~~~~~~~~~
| T4_COMPRESSION_ITU_T6
mod_spandsp_fax.c:929:8: error: 'T4_COMPRESSION_T85' undeclared (first use in this function); did you mean 'COMPRESSION_T85'?
929 | | T4_COMPRESSION_T85
| ^~~~~~~~~~~~~~~~~~
| COMPRESSION_T85
mod_spandsp_fax.c:930:8: error: 'T4_COMPRESSION_T85_L0' undeclared (first use in this function); did you mean 'T4_COMPRESSION_ITU_T85_L0'?
930 | | T4_COMPRESSION_T85_L0;
| ^~~~~~~~~~~~~~~~~~~~~
| T4_COMPRESSION_ITU_T85_L0
mod_spandsp_fax.c:932:3: error: implicit declaration of function 't30_set_supported_colour_resolutions'; did you mean 't30_set_supported_resolutions'? [-Werror=implicit-function-declaration]
932 | t30_set_supported_colour_resolutions(t30, T4_RESOLUTION_100_100
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| t30_set_supported_resolutions
mod_spandsp_fax.c:932:45: error: 'T4_RESOLUTION_100_100' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_1200'?
932 | t30_set_supported_colour_resolutions(t30, T4_RESOLUTION_100_100
| ^~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_1200
mod_spandsp_fax.c:934:15: error: 'T4_RESOLUTION_300_300' undeclared (first use in this function); did you mean 'T4_Y_RESOLUTION_300'?
934 | | T4_RESOLUTION_300_300
| ^~~~~~~~~~~~~~~~~~~~~
| T4_Y_RESOLUTION_300
mod_spandsp_fax.c:936:20: error: 'T4_COMPRESSION_COLOUR' undeclared (first use in this function); did you mean 'T4_COMPRESSION_NONE'?
936 | compressions |= (T4_COMPRESSION_COLOUR | T4_COMPRESSION_T42_T81);
| ^~~~~~~~~~~~~~~~~~~~~
| T4_COMPRESSION_NONE
mod_spandsp_fax.c:936:44: error: 'T4_COMPRESSION_T42_T81' undeclared (first use in this function); did you mean 'T4_COMPRESSION_ITU_T85'?
936 | compressions |= (T4_COMPRESSION_COLOUR | T4_COMPRESSION_T42_T81);
| ^~~~~~~~~~~~~~~~~~~~~~
| T4_COMPRESSION_ITU_T85
mod_spandsp_fax.c:941:19: error: 'T4_COMPRESSION_RESCALING' undeclared (first use in this function); did you mean 'T4_COMPRESSION_NONE'?
941 | compressions |= T4_COMPRESSION_RESCALING;
| ^~~~~~~~~~~~~~~~~~~~~~~~
| T4_COMPRESSION_NONE
mod_spandsp_fax.c:943:19: error: 'T4_COMPRESSION_COLOUR_TO_BILEVEL' undeclared (first use in this function)
943 | compressions |= T4_COMPRESSION_COLOUR_TO_BILEVEL;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mod_spandsp_fax.c:945:19: error: 'T4_COMPRESSION_GRAY_TO_BILEVEL' undeclared (first use in this function)
945 | compressions |= T4_COMPRESSION_GRAY_TO_BILEVEL;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[7]: *** [Makefile:736: mod_spandsp_la-mod_spandsp_fax.lo] Error 1
make[7]: Leaving directory '/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/freeswitch-1.10.4.-release/src/mod/applications/mod_spandsp'
make[6]: *** [Makefile:707: mod_spandsp-all] Error 1