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.
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
The system must be as elegant as possible.
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
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.