Cross Compiling Revival

While the idea of avoiding cross compilation is certainly desirable it’s currently not really feasible performance wise for my poor little macbook. I therefore adjusted my scripts to support cross compilation. That means additional pain but once it works it should be relatively fast.

libtool madness

Of course I ran into some common cross compiling pitfalls where some part of the build tries to pull in various bits from the host system. In my particular case it was libtool that had some wrong paths in it’s *.la files which then tried to link against libraries from the host system which obviously is doomed to fail. Of course I spent considerable time reading through configure and finally libtool shell scripts before finding out what was going on. The lesson here is probably: always ask Google if the problem isn’t solved within 5-10 minutes. However what gave me the rest was the number one motivation / design goal of libtool which is:

The system must be as elegant as possible.

Epic fail!

pkg-config sysroot support

A similar problem exists with pkg-config which also has some paths in it’s *.pc files. In the latest release (0.23) there is support for a PKG_CONFIG_SYSROOT_DIR environment variable which will prefix any -L -I compiler options with the specified value. Unfortunately for some reason Debian unstable which I have installed on my macbook is still stuck with version 0.22 albeit 0.23 was released back in January 2008. I’m wondering what’s the reason for this delay. Anyway I have added a workaround for the problem in my build scripts.

boot distro status

I so far have cross compiled all the necessary dependencies of elementary but for some reason an elementary hello world app doesn’t yet work.

Back to debugging.