Тук уви бъркаш - под Windows го има същия проблем и даже кашата е по-голяма заради странната реализация на 64 битовите библиотеки и по-точно местоположението им.
Под Windows имаш c:\windows\system32 - и за 32 битови и за 64 битови. Обаче местоположението е различно под различните архитектури заради пренасочвания във файловата система.
Че Windows е боза, боза е, за това спор няма. Но работата е там, че компилатора ми MS Visual C++ 6.0 намира и добавя статично системните библиотеки към програмата ми, и това довежда до ефекта, че приложението не зависи от версията на системата, къде се намират библиотеките и т.н. и затова работи на всички Windows. Вероятно и с МАС-а е така. За Linux обаче, постигането на този ефект не ми се получава. Пробвал съм даже да прекомпилирам glibc и gcc, но безуспешно, в смисъл че е същата работа.