Perl configuration changed and dynamic loading enabled
Perl documentation added to /scratchbox/doc
aclocal-1.4 patched to support dirlist
aclocal-1.4 will show /usr/share/aclocal as --print-ac-dir
dpkg upgraded to 1.10.20
debhelper looks for autoscripts from Debian devkit and /usr
pkgconfig uses /usr/lib/pkgconfig instead of /lib/pkgconfig
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
Fixed hashbangs of some Python and Perl scripts (bug #108)
Removed hardcoded -L options from compilers' gcc.specs
Perl upgraded to 5.8.3 and removed OS version check from Errno.pm
autoconf upgraded to 2.59
automake-1.8 added
aclocal's dirlist mechanism is used to fix some m4 macro problems
libtool is not provided out-of-the-box, instead it is shipped as tarball and compiled inside Scratchbox per
toolchain basis
debhelper uses Scratchbox's Perl to find out installation paths
debhelper upgraded to 4.1.83 and fixed
gettext upgraded to 0.13.1
Building and installing Perl modules fixed
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:
libtool resides in /usr/bin/libtool
libtoolize resides in /usr/bin/libtoolize
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:
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:
X11 compilation sometimes stop without a reason when you're using Gnome-terminal as your terminal emulator.
workaround: Run SDK from xterm terminal emulator (we don't know what is the significant different between
these terminal emulators, but that fixes it). For example to run SDK in a login shell, use this:
$ xterm -ls -e /scratchbox/users/$USER/run.sh &
Rxvt and gnome-terminal 2.2.1 have also been reported not to interrupt X11 compilation (the problem has manifested
with gnome-terminal 2.0.1).
Tip: if you differentiate the SDK terminal from your other terminals with colors, you don't accidentally try to
compile software in a wrong window. To get xterm with scrollbar on the right, 256 line buffer, larger font, black
background with gray text and text effects reversed, add these options: -sb -rightbar -sl 256 -fn 9x15 -bg Black
-fg Gray -rv
On ARM running a program complains about not finding a library that 'ldd' finds for that program, e.g. xterm doesn't
find Xft library. This is related to above problem (/etc/ld.so.cache).
workaround: login to ARM machine (after compiling busybox, so that you have shell there) and run 'ldconfig'
there before running the program, for example: