Scratchbox 0.9.7

1. Release 0.9.7.3

2004-04-23

1.1. Changes since 0.9.7.2

1.2. About Perl

Perl has been fixed so that it is possible to install and use CPAN modules under /host_usr/perl -directory. Modules can be installes simply via CPAN module by issuing "perl -MCPAN -e shell", which invokes interactive shell. Help can be obtained by saying "?". When one runs CPAN module for the very first time, some questions will be asked. Defaults should be fine but can be finetuned to match setup.

XML::Parser::Expat has been the most problematic module so far, and that's why files needed by it are provided as a separate package. If ao. module is needed, following instructions inside Scratchbox will get it in the use:

[sbox-ARM: ~] > cd /host_usr [sbox-ARM: ~] > tar -xzvf /scratchbox/packages/scratchbox-perl-dev.tar.gz

Module can be tested with simple oneliner, which should exit with no further output if everything is ok:

[sbox-ARM: ~] > perl -e 'use XML::Parser::Expat'

More detailed information about Scratchbox's Perl is in /scratchbox/doc/perl.txt

1.3. About libtool

You need to set up libtool for every target separately. It is normally set up by the 'sbox-config -cc' command, but if you are using a roostrap, see the Rootstrap 0.9.7.2 Release Notes for instructions.

2. Release 0.9.7.2

2004-04-19

2.4. Changes since 0.9.7.1

2.5. About libtool

As the environment in Scratchbox is very non-standard, libtool needs to be configured and installed separately.

If rootstrap is not used, executing 'sbox-config -cc' should build a correct libtool under /host_usr/.

If rootstrap is used, 'install-libtool.sh' needs to be executed after the rootstrap is installed. 'install-libtool.sh' also builds a proper libtool under /host_usr/.

Both of the above methods require a working CPU-transparency environment!

Some Debian packages also presume that:

  1. libtool resides in /usr/bin/libtool

  2. libtoolize resides in /usr/bin/libtoolize

  3. libtool.m4 resides in /usr/share/aclocal/libtool.m4



Neither 'install-libtool.sh' or 'sbox-config -cc' copy those binaries in the "right" locations, they need to be copied there manually for some Debian packages to build successfully.

2.5.1. Summary

If you are using rootstrap for Debian development, first install a rootstrap to your ARM target, then execute:

[sbox-ARM: ~] > install-libtool.sh [sbox-ARM: ~] > cp /host_usr/bin/libtool /host_usr/bin/libtoolize /usr/bin/ [sbox-ARM: ~] > cp /host_usr/libtool/aclocal/libtool.m4 /usr/share/aclocal/

For non-Debian development 'sbox-config -cc' is sufficient.

2.6. About Perl

Using dynamic modules in Perl causes problems as a i386 executable may try to use ARM libraries dynamically. There is no simple fix at the moment. Additional "patches" to Scratchbox will be provided later which should atleast provide a working XML parser so 'intltool' should work.

2.7. Environment variables

There are a few environment variables that should be set in the user's ~/.bashrc file so that Scratchbox works better and faster. Following is an example .bashrc:

LIST=/usr/bin/perl:/scratchbox/tools/bin/perl LIST=$LIST#/usr/bin/make:/scratchbox/tools/bin/make LIST=$LIST#/usr/bin/python:/scratchbox/tools/bin/python LIST=$LIST#/usr/bin/file:/scratchbox/tools/bin/file export SBOX_REDIRECT_BINARIES=$LIST export SBOX_DPKG_INST_ARCH=arm export SBOX_UNAME_MACHINE=arm export TMPDIR=/var/tmp export PKG_CONFIG_PATH=/usr/lib/pkgconfig

3. Release 0.9.7.1

2004-01-18

Bug fixes:

4. Release 0.9.7

2003-12-24

Changes from 0.9.6 release:

4.8. Tools in this release

Gcc toolchains and related utilities for ARM and i386 architectures:

Other build tools:

Debian devkit:

If any of these features don't work, mail detailed bug report to the scratchbox-devel mailing list.

4.9. Known bugs and other issues

Links are to Bugzilla bugs

Other issues:

(Rest of the bugs are undocumented features.)