Make XkbcInitAtoms externally accessible Applications (like the server) need to initialize the atoms system before using the rest of the library. Maybe it should just init itself implicitly.
diff --git a/include/X11/extensions/XKBcommon.h b/include/X11/extensions/XKBcommon.h
index 36f9ff3..1bc0f35 100644
--- a/include/X11/extensions/XKBcommon.h
+++ b/include/X11/extensions/XKBcommon.h
@@ -125,6 +125,9 @@ typedef struct _XkbcDesc {
_XFUNCPROTOBEGIN
+extern void
+XkbcInitAtoms(void);
+
extern XkbcDescPtr
XkbcCompileKeymapFromRules(const XkbRMLVOSet *rmlvo);
diff --git a/src/xkbmisc.h b/src/xkbmisc.h
index 17b33c8..16747a1 100644
--- a/src/xkbmisc.h
+++ b/src/xkbmisc.h
@@ -65,9 +65,6 @@ _XkbcKSCheckCase(KeySym sym);
/***====================================================================***/
-extern void
-XkbcInitAtoms(void);
-
extern char *
XkbcAtomGetString(Atom atom);