Editing CSSU-thumb toolchain setup (gcc4.7.2-linaro)

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
This document describes how to setup the CSSU-thumb toolchain (gcc4.7.2-linaro) in scratchbox.
This document describes how to setup the CSSU-thumb toolchain (gcc4.7.2-linaro) in scratchbox.
-
 
-
 
-
''GCC 4.7.2 does '''not''' produce thumb binaries by default, you should pass -mthumb if you want thumb resulting executables! without -mthumb it produces regular ARM ELFs''
 
-
 
1. You need to have [http://wiki.maemo.org/Documentation/Maemo_5_Final_SDK_Installation ScratchBox] environment already set up.
1. You need to have [http://wiki.maemo.org/Documentation/Maemo_5_Final_SDK_Installation ScratchBox] environment already set up.
Line 19: Line 15:
  [sbox->:~]sb-conf st FREMANTLE_ARMEL_GCC472 -c linaro-4.7-2012.07-fremantle-armv7a -d qemu:perl:debian-etch:doctools:svn:git -t qemu-arm-sb
  [sbox->:~]sb-conf st FREMANTLE_ARMEL_GCC472 -c linaro-4.7-2012.07-fremantle-armv7a -d qemu:perl:debian-etch:doctools:svn:git -t qemu-arm-sb
-
 
-
replace debian-etch with debian-squeeze if you use ScratchBox Hathor release
 
  [sbox->:~]sb-conf se FREMANTLE_ARMEL_GCC472
  [sbox->:~]sb-conf se FREMANTLE_ARMEL_GCC472
Line 27: Line 21:
  [sbox-FREMANTLE_ARMEL_GCC472: ~] > sb-conf in -edL
  [sbox-FREMANTLE_ARMEL_GCC472: ~] > sb-conf in -edL
-
 
-
[sbox-FREMANTLE_ARMEL_GCC472: ~] > dpkg -i /scratchbox/compilers/linaro-4.7-2012.07-fremantle-armv7a/packages/libfakeroot_1.14.4-0+sb1_armel.deb
 
  [sbox-FREMANTLE_ARMEL_GCC472: ~] > apt-get update
  [sbox-FREMANTLE_ARMEL_GCC472: ~] > apt-get update
Line 60: Line 52:
  [sbox-FREMANTLE_ARMEL_GCC472: ~] >apt-get update
  [sbox-FREMANTLE_ARMEL_GCC472: ~] >apt-get update
  [sbox-FREMANTLE_ARMEL_GCC472: ~] >fakeroot apt-get upgrade
  [sbox-FREMANTLE_ARMEL_GCC472: ~] >fakeroot apt-get upgrade
-
 
-
'''IF ERROR''' When you now get an error the next step will show how to solve this, otherwise go to the step where libstdc++6 get installed.
 
-
 
-
Errors were encountered while processing: /var/cache/apt/archives/libssl0.9.8-dbg_0.9.8zh-1+maemo1+0m5+0cssu0_armel.deb
 
-
 
-
'''IF ERROR''' Solve it with otherwise go next step.
 
-
 
-
fakeroot apt-get -f install
 
-
 
-
'''IF ERROR''' Next errors will pop up.
 
-
 
-
Sub-process dpkg returned an error code (1)
 
-
Setting up libgtk2.0-0 (2:2.14.7-1maemo34+0cssu2+thumb0) ...
 
-
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
 
-
dpkg: error processing libgtk2.0-0 (--configure):
 
-
subprocess installed post-installation script returned error exit status 126
 
-
 
-
'''IF ERROR''' Solve it by editing following file:
 
-
 
-
vi /var/lib/dpkg/info/libgtk2.0-0.postinst
 
-
 
-
'''IF ERROR''' The command in the postinst script could not run, so we will comment out the following lines.
 
-
 
-
#if [ "$1" = configure ]; then
 
-
#  Regenerate theme caches which may need updating after gtk changes
 
-
#  if command -v hildon-theme-recache-all >/dev/null 2>&1; then
 
-
#    hildon-theme-recache-all
 
-
#  fi
 
-
#fi
 
-
 
-
'''IF ERROR''' There is another script which fails.
 
-
 
-
vi /var/lib/dpkg/info/libgtk2.0-bin.postinst
 
-
 
-
'''IF ERROR''' So we will comment out the following lines.
 
-
 
-
#/usr/sbin/update-gtk-immodules
 
-
#/usr/sbin/update-gdkpixbuf-loaders
 
-
 
-
'''IF ERROR''' Now fix it.
 
-
 
-
fakeroot apt-get -f install
 
Download and install [http://maemo.merlin1991.at/cssu/develdebs/gcc-4.7.2_fremantle_armel/packages/libstdc%2b%2b6-dev_4.7.2-0%2bcssu0_armel.deb libstdc++6-dev_4.7.2-0+cssu0_armel.deb]
Download and install [http://maemo.merlin1991.at/cssu/develdebs/gcc-4.7.2_fremantle_armel/packages/libstdc%2b%2b6-dev_4.7.2-0%2bcssu0_armel.deb libstdc++6-dev_4.7.2-0+cssu0_armel.deb]
Line 107: Line 57:
''It can complain about libstdc++6 on system is 4.2.1-4maemo13+0m5.''
''It can complain about libstdc++6 on system is 4.2.1-4maemo13+0m5.''
 +
 +
apt-get -f install
 +
 +
''can fix that by installing the proper libstdc++6 afterwards.''
Line 112: Line 66:
  echo "export DEB_BUILD_OPTIONS=maemo-launcher,thumb,vfp" > /targets/FREMANTLE_ARMEL_GCC472.environment
  echo "export DEB_BUILD_OPTIONS=maemo-launcher,thumb,vfp" > /targets/FREMANTLE_ARMEL_GCC472.environment
-
echo "export PIXMAN_DISABLE=arm-neon" >> /targets/FREMANTLE_ARMEL_GCC472.environment
 
Your target should be ok at that point. Make sure to reenter the target, so updated FREMANTLE_ARMEL_GCC472.environment to take effect
Your target should be ok at that point. Make sure to reenter the target, so updated FREMANTLE_ARMEL_GCC472.environment to take effect
-
 
-
fakeroot apt-get -f install
 
-
 
-
''can fix that by installing the proper libstdc++6 afterwards.''
 
-
 
-
 
-
Interesting new flags can be: <nowiki>-mfpu=neon -ftree-vectorize -fgraphite -lto</nowiki>
 
-
 
-
The compiler will give the following warning:
 
-
/scratchbox/compilers/linaro-4.7-2012.07-fremantle-armv7a/bin/../lib/gcc/arm-none-linux-gnueabi/4.7.2/../../../../arm-none-linux-gnueabi/bin/ld: BFD (GNU Binutils) 2.22 assertion fail ../../../sources/binutils-2.22/bfd/elf32-arm.c:11467
 
-
These warnings can be ignored. For some reason, the linker thinks that the object is hardfp, but as it is softfp the assertion fails.
 
-
 
-
'''ERROR ON UPGRADE''' A note I made.
 
-
 
-
fakeroot apt-get upgrade
 
-
fakeroot apt-get install libcurl3
 
-
fakeroot apt-get install ke-recv
 
-
fakeroot apt-get install obexd
 
-
 
-
'''ERROR ON UPGRADE''' To install this clock-ui we need another resource.
 
-
 
-
echo "deb http://maemo.muarf.org/apt-mirror/mirror/downloads.maemo.nokia.com/fremantle/ssu/mr0 ./" >> /etc/apt/sources.list
 
-
 
-
fakeroot apt-get install clock-ui
 
-
 
-
 
-
 
-
[[Category:Documentation]]
 
-
[[Category:Fremantle]]
 
-
[[Category:Scratchbox]]
 
-
[[Category:Community]]
 

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)