Hi folks

I've been trying to compile SU R22..24 on a Debian 11 with gcc 10.2.1 (20210110), but there is an error.

make[4]: Entering directory '/usr/local/stow/su/src/su/main/filters'
/usr/bin/gcc -I/usr/local/stow/su//include -g -m64 -Wno-long-long  -DCWP_LITTLE_ENDIAN   sulfaf.c  -L/usr/local/stow/su//lib -lsu -lpar -lcwp -lm  -o /usr/local/stow/su//bin/sulfaf
/usr/bin/ld: /usr/local/stow/su//lib/libsu.a(fputgthr.o):/usr/local/stow/su/src/su/lib/fputgthr.c:51: multiple definition of `tr'; /usr/local/stow/su//lib/libsu.a(fgetgthr.o):/usr/local/stow/su/src/su/lib/fgetgthr.c:66: first defined here
collect2: error: ld returned 1 exit status
make[4]: [Makefile:35: /usr/local/stow/su//bin/sulfaf] Error 1 (ignored)
chmod: cannot access '/usr/local/stow/su//bin/sulfaf': No such file or directory

The source for this bug is that the global variable tr is defined in src/su/lib/fgetgthr.c as well as in src/su/lib/fputgthr.c. Both objects are combined to build libsu.a.

After a little googling, I found out that gcc 10.2 set -fnocommon as default now. So, adding -fcommon in Makefile.config fix the issue, but perhaps a better fix would be to place an extern across the multiple definitions of tr.

Kind regards,
R.Biloti
Applied Math. Department
IMECC/UNICAMP