View Single Post
Posts: 6 | Thanked: 7 times | Joined on Apr 2009
#1
Spent the entire weekend working on getting this to compile, and it all came down a simple linker error that was preventing the executable from being compiled.





It's a bit clunky, some menus don't work right, and its slooooow.
I'm currently writing up the how-to while a different version compiles as I expect some better results from this one, and if it works how I want then its another guide for that as well.


Edit:Bah, new compile failed, here's the how-to:

This for ubuntu 8.10, it may not work properly on other systems.

A good portion of this is adapted from https://wiki.mozilla.org/Mobile/Build/cs2007q3
Code:
#Need to install the latest toolchain
sudo su
echo "deb http://scratchbox.org/debian/ stable main" >> /etc/apt/sources.list
apt-get update
apt-get install scratchbox-toolchain-cs2007q3-glibc2.5-arm6 
exit

##############
# do the section below if on ubuntu 8.04, skip for Ubuntu 7.1.  Other OS may also have this problem. 
#If you see a problem when running nsinstall that says something "mmap - permission denied", come back here an try this.
##############
#add the following to /etc/sysctl.conf

vm.vdso_enabled = 0
vm.mmap_min_addr = 4096

#Then run
sudo sysctl -p

##############
# Continue from here for all versions of Ubuntu, including 7.10
##############

wget http://repository.maemo.org/stable/d...stall_4.1.2.sh
sudo chmod a+x ./maemo-scratchbox-install_4.1.2.sh
sudo ./maemo-scratchbox-install_4.1.2.sh -s /scratchbox
sudo /scratchbox/sbin/sbox_adduser $USER yes

# you may need to relog into your machine here.

sudo /scratchbox/sbin/sbox_ctl start

wget http://tablets-dev.nokia.com/4.1.2/m...stall_4.1.2.sh
chmod +x maemo-sdk-install_4.1.2.sh
#This will prompt you with a menu with 3 options, and if you want to install the closed binaries.
#Choose option 3, and yes to install the closed binaries.
bash maemo-sdk-install_4.1.2.sh

/scratchbox/login

sb-conf setup DIABLO-ARMEL-2008 -c cs2007q3-glibc2.5-arm6 \
  -d cputransp:debian-etch:doctools:maemo3-tools:perl \
  -t /scratchbox/devkits/cputransp/bin/qemu-arm-cvs-m
sb-conf rootstrap DIABLO-ARMEL-2008 http://repository.maemo.org/stable/4....1.2_armel.tgz
sb-conf install DIABLO-ARMEL-2008 -cedFGS
sb-conf select DIABLO-ARMEL-2008

wget http://people.mozilla.com/~vladimir/...xecstack.armel
chmod a+x execstack.armel
fakeroot mv execstack.armel /usr/bin/execstack
execstack -c `find /lib/ -name \*.so.\* -type f`
execstack -c `find /usr/lib/ -name \*.so.\* -type f`
fakeroot echo "deb http://repository.maemo.org/extras-devel diablo free non-free" >> /etc/apt/sources.list
fakeroot echo "deb file:/home/$USER/maemo-sdk-nokia-binaries_4.1.2 diablo explicit" >> /etc/apt/sources.list
fakeroot apt-get update
fakeroot apt-get install libgtk2.0-dev libxaw7-dev libfreetype6-dev libxi-dev libhildonmime-dev libosso-dev libidl-dev liblocation-dev libasound2-dev libhildon1-dev 

#You should now have all the lib's you should need, time to get the souce.
mkdir Thunderbird
cd Thunderbird
wget http://releases.mozilla.org/pub/mozi...source.tar.bz2
tar -xf thunderbird-3.0b2-source.tar.bz2
Now we need to setup the config file for the project
Create a file called .mozconfig in the Thunderbird directory with the following:

export LDFLAGS="-Wl,-rpath-link,$PWD/dist/bin/:/usr/lib,-losso,-lhildonmime"
ac_add_options --enable-application=mail
ac_add_options --with-arm-kuser
ac_add_options --enable-static
ac_add_options --disable-shared
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-tb
mk_add_options AUTOCONF=autoconf2.13
Once you've completed this file, you'r ready to build:

make -f client.mk build
This will take a while, and if you'r succesful, then to package it up for use on the N810
cd objdir-tb
make package
cd mozilla/dist
Inside that directory should be a file called thunderbird-3.0b2.en-US.linux-arm.tar.bz2, which is thunderbird all wraped up and nice for your N810.


I'm currently compiling with --enable-optimize, which makes the compile time take alotttttttttttt longer so I'll upload that when its done.

Last edited by Null-Pointer; 2009-04-06 at 23:58. Reason: Include the how-to
 

The Following 7 Users Say Thank You to Null-Pointer For This Useful Post: