I did the strace. The results, which I haven't a clue how to interpret are appended below. I did read enough of the man page, though, to recognize the "-1" return codes as errors. Here is what an ls command has to say about those missing files and devices: >hesco at biko:/usr/src/speakup-1.5/middleware$ ls -l /etc/ld.so* >-rw-r--r-- 1 root root 37425 Jul 5 01:43 /etc/ld.so.cache >-rw-r--r-- 1 root root 15 Dec 6 2002 /etc/ld.so.conf >hesco at biko:/usr/src/speakup-1.5/middleware$ ls -l /dev/usrdev >crw-r--r-- 1 root root 252, 0 Jul 19 22:54 /dev/usrdev >hesco at biko:/usr/src/speakup-1.5/middleware$ Where does /etc/ld.so.preload come from? Is there some additional package I need to install to make that work? Having installed festival and its voices with dpkg -i, instead of apt-get install, and the speakup and middleware from source, instead of debian packages, it is completely possible that I have missed some urgently needed dependency here. -- Hugh At 02:43 AM 7/20/03 -0500, you wrote: >Hmm. I know dittly about middleware, or any of it, but a suggestion would >be to try strace on middleware, to determine where exactly it is breaking. > >Regards, > >Luke hesco at biko:/usr/src/speakup-1.5/middleware$ strace ./middleware 2> mwerrors hesco at biko:/usr/src/speakup-1.5/middleware$ cat mwerrors execve("./middleware", ["./middleware"], [/* 22 vars */]) = 0 uname({sys="Linux", node="biko", ...}) = 0 brk(0) = 0x804a780 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=37425, ...}) = 0 old_mmap(NULL, 37425, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40012000 close(3) = 0 open("/lib/libpthread.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\224D\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=81959, ...}) = 0 old_mmap(NULL, 323104, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001c000 mprotect(0x40028000, 273952, PROT_NONE) = 0 old_mmap(0x40028000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc000) = 0x40028000 old_mmap(0x4002b000, 261664, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4002b000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\275Z\1"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0755, st_size=1104040, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4006b000 old_mmap(NULL, 1113796, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4006c000 mprotect(0x40174000, 32452, PROT_NONE) = 0 old_mmap(0x40174000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x107000) = 0x40174000 old_mmap(0x4017a000, 7876, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4017a000 close(3) = 0 munmap(0x40012000, 37425) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=RLIM_INFINITY}) = 0 getpid() = 4127 rt_sigaction(SIGRTMIN, {0x40023c2a, [], SA_RESTORER, 0x400929d8}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x40023c62, [], SA_RESTORER, 0x400929d8}, NULL, 8) = 0 rt_sigaction(SIGRT_2, {0x40023d15, [], SA_RESTORER, 0x400929d8}, NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbffff70c, 35, (nil), 0}) = 0 open("/dev/usrdev", O_RDONLY) = -1 ENOSYS (Function not implemented) open("/dev/usrdev", O_RDONLY) = -1 ENOSYS (Function not implemented) open("/dev/usrdev", O_RDONLY) = -1 ENODEV (No such device) dup(2) = 3 fcntl64(3, F_GETFL) = 0x8001 (flags O_WRONLY|O_LARGEFILE) close(3) = 0 brk(0) = 0x804a780 brk(0x804b780) = 0x804b780 brk(0) = 0x804b780 brk(0x804c000) = 0x804c000 write(2, "Failed to open file: No such dev"..., 36Failed to open file: No such device ) = 36 exit_group(-1) = ? hesco at biko:/usr/src/speakup-1.5/middleware$