Hi Parms, I strongly recommend avoiding <hash_map.h>, and instead recommend <ext/hash_map> which has symbols in the __gnu_cxx namespace. If you do want to use the backward compatibility header files, make sure you do not co-mingle backward compatibility header files with C++ compliant header files. I suspect that may cause problems. (For instance, if you use <hash_map.h>, then you should use the non-compliant <iostream.h> and not the C++ compliant <iostream>.) Otherwise you may run into symbol collisions, such as the one you are running into with the swap symbol already being used. HTH, --Eljay