Recently I’ve changed my MacBook US keyboard to European one. Everything is fine with it except for the Tilda(~) key, which is located between Left Shift and Z keys on the EU keyboard, whereas usually it is located under Esc key on US and most PC keyboards. I do not know what was the purpose of this relocation or what historical background are behind it; I don’t care. What I care is that such location makes the use of Tilda key very annoying. And here is how I’ve solved it.
If you need to build ZooKeeper Python bindings in 32-bit mode on 64-bit Mac OS X, it can be hard to do since ZooKeeper building scripts ignore the usual “-arch” flags for the compiler. But there is a simple workaround for this. And here it is.
If you have Mac OS X and you need Oracle InstantClient for your work as I do, you are in trouble: the 64-bit InstantClient crashes with “segfault” error code 11 on 64-bit Mac OS X. The only solution is to use 32-bit InstantClient, which does work.
But this workaround entails to every single bit of software, that uses InstantClient, should be 32-bit too. For example, if you code Python as I do, you need cx_Oracle to be 32-bit to work with 32-bit InstantClient (64-bit cx_Oracle binary part cannot work with 32-bit InstantClient libraries, obviously). And if you have 32-bit cx_Oracle, you ought to have 32-bit Python to load that 32-bit cx_Oracle. And if you have 32-bit Python, you ought to make all other binary libraries to be 32-bit. Thank you, Oracle, for this fun!
And if you use ZooKeeper together with InstantClient as I do, you have to build 32-bit ZooKeeper binaries and libraries. Well, lets work up to it from the beginning.