After losing most of my X and KDE installation (on Mandrake 9.1, Pentium III) and restoring it by hand using rpm (and verifying the installed packages), I am having difficulty getting X up again. Startx hangs, and upon killing X from root, I get these messages:

xinit: No such file or directory (errno 2): unable to connect to X server
xinit: No such process (errno 3): unexpected signal 2.

I believe the first message refers to the never-created /tmp/.X11-unix/X0, the socket that X is supposed to open to accept connections. I've run strace on startx and the processes forked from it and find that the process that's intended to start the X server gets into an endless loop, one iteration of which I've posted below. I have a feeling that this is an authentication problem but, beyond that don't know what to make of it. Perhaps someone has had a similar experience and can shed some light...

Many thanks!
_____________________________________
<code>
22771 execve("/etc/X11/X", ["/etc/X11/X", ":0", "-deferglyphs", "16"], [/* 39 vars */]) = 0
22771 uname({sys="Linux", node="backup.localdomain", ...}) = 0
22771 brk(0) = 0x804a44c
22771 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40013000
22771 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
22771 open("/etc/ld.so.cache", O_RDONLY) = 3
22771 fstat64(3, {st_mode=S_IFREG|0644, st_size=56239, ...}) = 0
22771 old_mmap(NULL, 56239, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
22771 close(3) = 0
22771 open("/lib/libpam.so.0", O_RDONLY) = 3
22771 read(3, "177ELF111331 2500"..., 1024) = 1024
22771 fstat64(3, {st_mode=S_IFREG|0755, st_size=29336, ...}) = 0
22771 old_mmap(NULL, 32396, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40022000
22771 mprotect(0x40029000, 3724, PROT_NONE) = 0
22771 old_mmap(0x40029000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x40029000
22771 close(3) = 0
22771 open("/lib/libpam_misc.so.0", O_RDONLY) = 3
22771 read(3, "177ELF111331300r"..., 1024) = 1024
22771 fstat64(3, {st_mode=S_IFREG|0755, st_size=8428, ...}) = 0
22771 old_mmap(NULL, 11488, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002a000
22771 mprotect(0x4002c000, 3296, PROT_NONE) = 0
22771 old_mmap(0x4002c000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x4002c000
22771 close(3) = 0
22771 open("/lib/libdl.so.2", O_RDONLY) = 3
22771 read(3, "177ELF11133134025"..., 1024) = 1024
22771 fstat64(3, {st_mode=S_IFREG|0755, st_size=9212, ...}) = 0
22771 old_mmap(NULL, 12144, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002d000
22771 mprotect(0x4002f000, 3952, PROT_NONE) = 0
22771 old_mmap(0x4002f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x4002f000
22771 close(3) = 0
22771 open("/lib/i686/libc.so.6", O_RDONLY) = 3
22771 read(3, "177ELF111331260X1"..., 1024) = 1024
22771 fstat64(3, {st_mode=S_IFREG|0755, st_size=1246468, ...}) = 0
22771 old_mmap(NULL, 1256516, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40030000
22771 mprotect(0x4015d000, 23620, PROT_NONE) = 0
22771 old_mmap(0x4015d000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x12c000) = 0x4015d000
22771 old_mmap(0x40161000, 7236, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40161000
22771 close(3) = 0
22771 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40163000
22771 munmap(0x40014000, 56239) = 0
22771 getuid32() = 0
22771 brk(0) = 0x804a44c
22771 brk(0x804b44c) = 0x804b44c
22771 brk(0) = 0x804b44c
22771 brk(0x804c000) = 0x804c000
22771 socket(PF_UNIX, SOCK_STREAM, 0) = 3
22771 connect(3, {sa_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or directory)
22771 close(3) = 0
22771 open("/etc/nsswitch.conf", O_RDONLY) = 3
22771 fstat64(3, {st_mode=S_IFREG|0644, st_size=1760, ...}) = 0
22771 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
22771 read(3, "#n# /etc/nsswitch.confn#n# An ex"..., 4096) = 1760
22771 read(3, "", 4096) = 0
22771 close(3) = 0
22771 munmap(0x40014000, 4096) = 0
22771 open("/etc/ld.so.cache", O_RDONLY) = 3
22771 fstat64(3, {st_mode=S_IFREG|0644, st_size=56239, ...}) = 0
22771 old_mmap(NULL, 56239, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
22771 close(3) = 0
22771 open("/lib/libnss_files.so.2", O_RDONLY) = 3
22771 read(3, "177ELF1113312035"..., 1024) = 1024
22771 fstat64(3, {st_mode=S_IFREG|0755, st_size=42924, ...}) = 0
22771 old_mmap(NULL, 46304, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40164000
22771 mprotect(0x4016f000, 1248, PROT_NONE) = 0
22771 old_mmap(0x4016f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xa000) = 0x4016f000
22771 close(3) = 0
22771 munmap(0x40014000, 56239) = 0
22771 open("/etc/passwd", O_RDONLY) = 3
22771 fcntl64(3, F_GETFD) = 0
22771 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
22771 fstat64(3, {st_mode=S_IFREG|0644, st_size=1493, ...}) = 0
22771 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
22771 read(3, "root:x:0:0:root:/root:/bin/bashn"..., 4096) = 1493
22771 close(3) = 0
22771 munmap(0x40014000, 4096) = 0
22771 stat64("/etc/pam.d", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
22771 open("/etc/pam.d/xserver", O_RDONLY) = 3
22771 fstat64(3, {st_mode=S_IFREG|0644, st_size=157, ...}) = 0
22771 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
22771 read(3, "#%PAM-1.0nauth sufficientt"..., 4096) = 157
22771 open("/lib/security/pam_rootok.so", O_RDONLY) = 4
22771 read(4, "177ELF1113313006"..., 1024) = 1024
22771 fstat64(4, {st_mode=S_IFREG|0755, st_size=3860, ...}) = 0
22771 old_mmap(NULL, 6920, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40015000
22771 mprotect(0x40016000, 2824, PROT_NONE) = 0
22771 old_mmap(0x40016000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x40016000
22771 close(4) = 0
22771 open("/lib/security/pam_console.so", O_RDONLY) = 4
22771 read(4, "177ELF11133130"..., 1024) = 1024
22771 fstat64(4, {st_mode=S_IFREG|0755, st_size=49656, ...}) = 0
22771 old_mmap(NULL, 52764, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40170000
22771 mprotect(0x40178000, 19996, PROT_NONE) = 0
22771 old_mmap(0x40178000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x7000) = 0x40178000
22771 close(4) = 0
22771 open("/etc/ld.so.cache", O_RDONLY) = 4
22771 fstat64(4, {st_mode=S_IFREG|0644, st_size=56239, ...}) = 0
22771 old_mmap(NULL, 56239, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4017d000
22771 close(4) = 0
22771 open("/usr/lib/libglib-1.2.so.0", O_RDONLY) = 4
22771 read(4, "177ELF111331`00"..., 1024) = 1024
22771 fstat64(4, {st_mode=S_IFREG|0755, st_size=159452, ...}) = 0
22771 old_mmap(NULL, 162524, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x4018b000
22771 mprotect(0x401b2000, 2780, PROT_NONE) = 0
22771 old_mmap(0x401b2000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x26000) = 0x401b2000
22771 close(4) = 0
22771 munmap(0x4017d000, 56239) = 0
22771 brk(0) = 0x804c000
22771 brk(0x804d000) = 0x804d000
22771 open("/lib/security/pam_permit.so", O_RDONLY) = 4
22771 read(4, "177ELF1113313406"..., 1024) = 1024
22771 fstat64(4, {st_mode=S_IFREG|0755, st_size=3600, ...}) = 0
22771 old_mmap(NULL, 6660, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40017000
22771 mprotect(0x40018000, 2564, PROT_NONE) = 0
22771 old_mmap(0x40018000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x40018000
22771 close(4) = 0
22771 read(3, "", 4096) = 0
22771 close(3) = 0
22771 munmap(0x40014000, 4096) = 0
22771 open("/etc/pam.d/other", O_RDONLY) = 3
22771 fstat64(3, {st_mode=S_IFREG|0644, st_size=210, ...}) = 0
22771 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40014000
22771 read(3, "#%PAM-1.0nauth required "..., 4096) = 210
22771 open("/lib/security/pam_deny.so", O_RDONLY) = 4
22771 read(4, "177ELF111331P600"..., 1024) = 1024
22771 fstat64(4, {st_mode=S_IFREG|0755, st_size=3280, ...}) = 0
22771 old_mmap(NULL, 6388, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0x40019000
22771 mprotect(0x4001a000, 2292, PROT_NONE) = 0
22771 old_mmap(0x4001a000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x4001a000
22771 close(4) = 0
22771 read(3, "", 4096) = 0
22771 close(3) = 0
22771 munmap(0x40014000, 4096) = 0
22771 time(NULL) = 1072644828
22771 getuid32() = 0
22771 munmap(0x40015000, 6920) = 0
22771 munmap(0x40170000, 52764) = 0
22771 munmap(0x4018b000, 162524) = 0
22771 munmap(0x40017000, 6660) = 0
22771 munmap(0x40019000, 6388) = 0
22771 geteuid32() = 0
22771 getuid32() = 0
22771 geteuid32() = 0
22771 execve("/etc/X11/X", ["/etc/X11/X", ":0", "-deferglyphs", "16"], [/* 39 vars */]) = 0
</code>