On Mon, 2010-08-23 at 16:54 +0200, Marc-André Lureau wrote:
> Hi
> 
> The only way that really works well, whatever autotools you have in
> scratchbox, is to run autogen.sh/bootstrap.sh (with NOCONFIGURE=1)
> outside of scratchbox, and then build the rest in scratchbox.
> 
> I understand that can make development a bit more complicated, but
> it's a fact, scratchbox is outdated, and your desktop will often be
> better suited for development task (whether it is to do modifications,
> or prepare a release etc...). I used to be pushing tools such as
> libtool / autotools in maemo because of PulseAudio and such.
> 
> So prepare your source tree outside of scratchbox, and then run
> ./configure (or dpkg-buildpackage) inside it, there are no better
> ways, afaik.
Thanks for the suggestion. It sounds like a good plan for autotools but,
as I understand it, for libtool you need the ltdl headers and have to
link with the correct version of libltdl so that really has to be within
scratchbox.

I've still got to check-out what Mohammad Abu-Garbeyyeh has been doing
but in case anyone's interested, I've got it going as follows:

Autoconf & Automake:
Scratchbox has different versions of autotools in directories
within /scratchbox/tools/autotools. These are selected dependant on
circumstances by sb_xyz_wrapper scripts in /scratchbox/tools/bin.

You should be able to install new versions to subdirectories
of /scratchbox/tools/autotools, hack the wrapper scripts and force a
particular version using eg SBOX_DEFAULT_AUTOCONF=2.63 or
SBOX_DEFAULT_AUTOMAKE=1.10.

However, I found that for some deep and dark mechanism buried somewhere
in some indecipherable incantation (probably something in the third
recursive iteration of confauto.m4local.ac.in.sshhhh), these
SBOX_DEFAULT variables are not always respected.

Rather than hacking the sb_xyz_wrapper scripts, you're better off
installing the updated versions to a ~/tools directory and sticking
~/tools/bin on the front of your path. The new tools will then always
run ahead of the older ones.

Libtool:
I merrily followed the same process for libtool and pulse built without
errors - hooray. Unfortunately, my module_xyz.so files were broken and
just made noise. I'd missed the fact (as mentioned above) that you need
to include the right version of the ltdl headers and link to the right
version of libltdl. Being tired at this point, I simply ran ./config
--prefix=/usr for libtool-2.2.6 and installed it over any previous
versions. Success.

Chris


_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers

Reply via email to