Operating system name and version: Fedora 32
Version of smsd: 3.1.15, 3.1.21
Smsd installed from: sources
Name and model of a modem / phone: Huawei
Interface: USB
Hello,
I'm using SMS Server Tools 3 on a CentOS 6 Machine and I want
to do an upgrade/change to Fedora 32. On CentOS 6.x compiling
was not a problem and everything works. On my Fedora 32 test
machine compiling stops with an ld error . The compiling starts with:
=====================================================================================================
cc -D NUMBER_OF_MODEMS=64 -D NOSTATS -W -Wall -D_FILE_OFFSET_BITS=64 -o smsd smsd.c extras.o locking.o cfgfile.o logging.o alarm.o smsd_cfg.o charset.o stats.o blacklist.o whitelist.o modeminit.o pdu.o
smsd.c: In function 'exec_system':
smsd.c:246:82: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 205 and 236 [-Wformat-truncation=]
246 | snprintf(shared_buffer, SIZE_SHARED_BUFFER, "%s Sms3: mainprocess, %s", adminmessage_device, alert);
| ^~ ~~~~~
smsd.c:246:15: note: 'snprintf' output between 21 and 307 bytes into a destination of size 256
246 | snprintf(shared_buffer, SIZE_SHARED_BUFFER, "%s Sms3: mainprocess, %s", adminmessage_device, alert);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smsd.c:219:50: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size between 216 and 247 [-Wformat-truncation=]
219 | snprintf(msg, sizeof(msg), "Smsd3: %s, %s", DEVICE.name, alert);
| ^~ ~~~~~
smsd.c:219:11: note: 'snprintf' output between 10 and 296 bytes into a destination of size 256
219 | snprintf(msg, sizeof(msg), "Smsd3: %s, %s", DEVICE.name, alert);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smsd.c: In function 'received2file':
smsd.c:3119:36: warning: '%s' directive writing up to 31 bytes into a region of size between 0 and 4095 [-Wformat-overflow=]
3119 | sprintf(tmp_filename,"%s/%s.XXXXXX",d_incoming,DEVICE.name);
| ^~
smsd.c:3119:11: note: 'sprintf' output between 9 and 4135 bytes into a destination of size 4096
3119 | sprintf(tmp_filename,"%s/%s.XXXXXX",d_incoming,DEVICE.name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smsd.c: In function 'send_part':
smsd.c:3771:27: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=]
3771 | sprintf(command2,"%s\x1A",pdu);
| ^
smsd.c:3771:3: note: 'sprintf' output between 2 and 1025 bytes into a destination of size 1024
3771 | sprintf(command2,"%s\x1A",pdu);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smsd.c: In function 'cmd_to_modem':
smsd.c:5419:61: warning: '%s' directive output may be truncated writing up to 499 bytes into a region of size between 476 and 587 [-Wformat-truncation=]
5419 | snprintf(buffer, sizeof(buffer), "%s,%i, %s: CMD: %s: %s\n", timestamp, DEVICE.dev_rr_loglevel, DEVICE.name, command, answer);
| ^~ ~~~~~~
smsd.c:5419:7: note: 'snprintf' output 15 or more bytes (assuming 625) into a destination of size 600
5419 | snprintf(buffer, sizeof(buffer), "%s,%i, %s: CMD: %s: %s\n", timestamp, DEVICE.dev_rr_loglevel, DEVICE.name, command, answer);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smsd.c: In function 'run_rr':
smsd.c:5487:54: warning: '%s' directive output may be truncated writing up to 31 bytes into a region of size between 29 and 8219 [-Wformat-truncation=]
5487 | snprintf(cmdline, sizeof(cmdline), "%s %s \"%s\" %s", DEVICE.dev_rr, p, DEVICE.dev_rr_statfile, DEVICE.name);
| ^~
smsd.c:5487:5: note: 'snprintf' output 6 or more bytes (assuming 8227) into a destination of size 8224
5487 | snprintf(cmdline, sizeof(cmdline), "%s %s \"%s\" %s", DEVICE.dev_rr, p, DEVICE.dev_rr_statfile, DEVICE.name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
smsd.c:5550:54: warning: '%s' directive output may be truncated writing up to 31 bytes into a region of size between 29 and 8219 [-Wformat-truncation=]
5550 | snprintf(cmdline, sizeof(cmdline), "%s %s \"%s\" %s", DEVICE.dev_rr_post_run, p, DEVICE.dev_rr_statfile, DEVICE.name);
| ^~
smsd.c:5550:5: note: 'snprintf' output 6 or more bytes (assuming 8227) into a destination of size 8224
5550 | snprintf(cmdline, sizeof(cmdline), "%s %s \"%s\" %s", DEVICE.dev_rr_post_run, p, DEVICE.dev_rr_statfile, DEVICE.name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
=====================================================================================================
and then '/usr/bin/ld' complains in every module and stops at:
========================================================================================================
/usr/bin/ld: pdu.o:(.bss+0x331c44): multiple definition of `trouble_logging_started'; /tmp/ccxOuz2I.o:(.bss+0x3330a0): first defined here
/usr/bin/ld: pdu.o:(.bss+0x331c60): multiple definition of `logch_buffer'; /tmp/ccxOuz2I.o:(.bss+0x3330c0): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:51: smsd] Error 1
make[1]: Leaving directory '/home/user1/dev/smstools3/src'
make: *** [Makefile:10: compile] Error 2
========================================================================================================
I don't know what this means resp why ld stops here. Can anybody give information howto install SMS Server Tools 3 on Fedora 32?
Any help is appreciated.
Many thanks!
Bye Thomas