Dear collegues,
my eximon under 4.93 crashes right after startup:
# eximon
Exim Monitor version 2.06 (compiled 10-Dec-2019 17:23:02) initializing
.eximon.bin: string.c:1274: string_vformat_trc: Assertion `!(flags & (1UL << (0)))' failed.
This is a CentOS 7.7 actual Patchlevel
exim is compiled by myself.
gcc is out of the distribution
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Further Details:
since a long time I had to tweak my Locale/Makefile:
Until 4.92.x I had just
EXTRALIBS= -lpam -lldap -llber -L/usr/X11R6/lib64
at the beginning of Local/Makefile and that fails with 4.93 during "make"
[...]
cc -DMACRO_PREDEF macro_predef.c
macro_predef.c: In function ‘options_from_list’:
macro_predef.c:83:1: error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int i = 0; i < nopt; i++) if (*(s = US opts[i].name) && *s != '*')
^
macro_predef.c:83:1: note: use option -std=c99 or -std=gnu99 to compile your code
make[1]: *** [macro_predef.o] Error 1
make[1]: Leaving directory `/opt/exim/src/exim-4.93/build-Linux-x86_64'
make: *** [all] Error 2
So I tried
CFLAGS += -std=c99
in the Local/Makefile, but this failed also a little bit further down:
[...]
cc exim_monitor/em_StripChart.c
../exim_monitor/em_StripChart.c: In function ‘MoveChart’:
../exim_monitor/em_StripChart.c:388:5: warning: implicit declaration of function ‘bcopy’ [-Wimplicit-function-declaration]
bcopy((char *)(w->strip_chart.valuedata + next - j),
^
cc exim_monitor/em_TextPop.c
In file included from /usr/include/X11/IntrinsicP.h:51:0,
from ../exim_monitor/em_TextPop.c:60:
../exim_monitor/em_TextPop.c: In function ‘AddSearchChildren’:
../exim_monitor/em_TextPop.c:367:43: error: ‘caddr_t’ undeclared (first use in this function)
XtSetArg(args[num_args], XtNradioData, (caddr_t) XawsdLeft + R_OFFSET);
^
../exim_monitor/em_TextPop.c:367:43: note: each undeclared identifier is reported only once for each function it appears in
../exim_monitor/em_TextPop.c:367:52: error: expected ‘)’ before ‘XawsdLeft’
XtSetArg(args[num_args], XtNradioData, (caddr_t) XawsdLeft + R_OFFSET);
^
../exim_monitor/em_TextPop.c:379:52: error: expected ‘)’ before ‘XawsdRight’
XtSetArg(args[num_args], XtNradioData, (caddr_t) XawsdRight + R_OFFSET);
^
make[1]: *** [em_TextPop.o] Error 1
make[1]: Leaving directory `/opt/exim/src/exim-4.93/build-Linux-x86_64'
make: *** [all] Error 2
So I tried
CFLAGS += -std=gnu99
with this, exim and eximon where build with just one warning
cc exim_monitor/em_main.c
../exim_monitor/em_main.c: In function ‘numlock_modifiers’:
../exim_monitor/em_main.c:576:5: warning: ‘XKeycodeToKeysym’ is deprecated (declared at /usr/include/X11/Xlib.h:1687) [-Wdeprecated-declarations]
if (XKeycodeToKeysym(display, m->modifiermap [i*m->max_keypermod + j], 0)
exim 4.93 is up and running and (seems to be) OK
Just the eximon crashes when starting it.
Regards, Olaf
--
Karlsruher Institut für Technologie (KIT)
ATIS - Abt. Technische Infrastruktur, Fakultät für Informatik
Dipl.-Geophys. Olaf Hopp
- Leitung IT-Dienste -
Am Fasanengarten 5, Gebäude 50.34, Raum 009
76131 Karlsruhe
Telefon: +49 721 608-43973
Fax: +49 721 608-46699
E-Mail: Olaf.Hopp@???
atis.informatik.kit.edu
www.kit.edu
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
Das KIT ist seit 2010 als familiengerechte Hochschule zertifiziert.