Igor said: > Doug, this is sounding very interesting. Question though. Did you build > the latest gcc from source? Bc that may have something to do with your > problem, depending on whether or not the libstdc++.so you copied from > the Slackware Cd came from the same version of Gcc that you built. Okay, I digged deeper into this. First off, viavoice doesn't work on slackware 9.1, so this doesn't apply to that version. As far as I can tell, viavoice won't work on any system built with glibc 3.2.2 or newer. Slackware 9.1 uses glibc 3.2.2. Slackware 9.0 uses glibc 3.2.1. On my built-entirely-from-source system, I used glibc 3.2.1 and gcc 3.2.1. So I was using a different version of gcc that slackware 9. On that system when I try to run viavoice, I get this: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory If I try symbolic linking the above to the libstdc++ that was installed from my source build (libstdc++.so.5.0.1), I get this enu50.so: undefined symbol: cerr (enu50.so is the viavoice dictionary) Now if I remove that link and copy the slackware 9.0 libstdc++-libc6.1-1.so.2 (which is a symblic link), and what it links to I have these: libstdc++-libc6-1.1-2.9.0.so libstdc++-libc6-1.1-2.so.2 -> libstdc++-2-libc6-1.1-2.9.0.so If I include a path to those in /etc/ld.so.conf, then viavoice works. Since I wasn't using the same gcc as slackware 9, I built a whole new system from source using the same gcc (3.2.2) and glibc (3.2.1) as slackware 9.0, to see if that would work. No luck! :) It gave the same error trying to find libstdc++-libc6-1.1-1.so.2. Following the same procedure as above, if I try linking that to the installed libstdc++ (this time libstdc++.so.5.0.2) I get the same error about undefined symbol cerr (when viavoice's enu50.so tries to load). And just as before, if I copy the slackware lib over ... it works ... grrr Looking closer at slackware 9.0 libstdc++ libraries, it has many more files than I do, it has all of these: libstdc++.so.5.0.2 libstdc++.so.4.0.0 libstdc++.so.2.8.0 libstdc++.so.2.7.2.8 libstdc++-2-libc6.1-1-2.9.0.so libstdc++-3-libc6.1-2-2.10.0.so libstdc++-3-libc6.2-2-2.10.0.so And these are not symbolic links, these are actual shared libraries. My source build only created the first one libstdc++.so.5.0.2 It appears that slackware 9.0 created a bunch of compatibility libs, but I'm not sure how it did that. Any idea how to get gcc to build compatibility libs? Also, the file of interest to viavoice is libstdc++-2-libc6.1-1.2-9.so I don't have any files called libstdc++*libc6* This seems to be some combination of C++ and glibc. And that seems to be what I am missing. This is quite annoying hee hee. I have viavoice working but I'd like to figure out how to eliminate having to copy binaries from slackware 9.0. Any ideas on how to build these libstdc++ compatibility libs, or the ones that seem to refer to libstdc++ and libc (like libstdc++-2-libc6.1-1.2.9.0.so)? -- Doug