Благодаря на всички за отговорите.
Извода до който стигнах е, че има разлика в бибилиотеките на XFree86 и xorg, а както знаем debian продължава да е с XFree86 .

'>
Значи поразрових малко в нета разбрах следното - библиотеки завършващи на .a са за static linking. Странното обаче е, че като дам -static, -Wl,-static, -Bstatic и подобните вариации продължава да го дава това нещо (независимо дали ld се вика от gcc или го викам отделно).
Всъщност може би трябва да спомена, че се оправих с проблема.

'> Това стана по следния начин:
$ gcc -L/usr/X11R6/lib -lX11 -lXext xkbf.c /usr/X11R6/lib/libxkbfile.a -o xkbf
Т.е. аз това го разбирам, че libxkbfile.a се подава като source file на gcc. Не разбирам обаче защо...
Тук ще трябва май да се намеси някой разбирач на C да хвърли малко светлина по въпроса.
Както и да е, пак благодаря на всички отговорили.
Поздрави.

'>