I retract "SIGSEGV everywhere". If I compile client.c with -O0, then the third SIGSEGV is avoided, and I don't see any others.
Summary: olvwm runs on my system only if I make all three of these changes, each of which avoids a SIGSEGV: In cursors.c, remove (int) from this line: st_insert(cursorTable, (int) p->name, (char *) p->num); In image.c, #include "mem.h". Compile client.c with -O0. Alternatively, the first two SIGSEGVs (but not the third) can be avoided by making no code changes but instead linking with -no-pie. AMC