Active Topics

 


Reply
Thread Tools
Posts: 2,076 | Thanked: 3,268 times | Joined on Feb 2011
#31
Maybe go Tanner's way and just use a private repository? Marmistrz would definitely host it, maybe CSSU repo too? Not sure how transparent it would be, but including compilable source would definitely help in that matter (don't trust .deb, compile it yourself).
 

The Following User Says Thank You to szopin For This Useful Post:
Posts: 838 | Thanked: 3,384 times | Joined on Mar 2009
#32
My dream was just keep pushing sources of interesting applications to the autobuilder (where they get compiled with new compiler) and binary packages go to the extras-devel.

Currently there are no way to accomplish this.

Last edited by AapoRantalainen; 2013-01-22 at 12:01. Reason: typo
 

The Following 3 Users Say Thank You to AapoRantalainen For This Useful Post:
Posts: 1,203 | Thanked: 3,027 times | Joined on Dec 2010
#33
keep on building outside of autobuilder for now then and post links to files here. in the mean time try contacting some of the admins/council to see if they have a solution. When you have a stable, working set of libraries it would put you in a better position to get them included, however it depends on how much control they have over autobuilder.

reason i mentioned cssu before was i remember talk about rebuilding a number of packages with thumb2 support when the kernel support is fixed. this would be a good use of your packages to bring in more recent compiler optimizations.

have you tried contacting pali or freemangordan, to see if they have any ideas. remember something similar with powertop.
 

The Following 4 Users Say Thank You to Android_808 For This Useful Post:
Posts: 838 | Thanked: 3,384 times | Joined on Mar 2009
#34
Deb-packages for armel-maemo5, bintutils 2.22 and gcc 4.6
http://cc.oulu.fi/~rantalai/fremantle/

Install binutils:
Code:
dpkg -i binutils_2.22-5_armel.deb
Install gcc:
Code:
dpkg -i cpp-4.6_4.6.1-maemo4_armel.deb g++-4.6_4.6.1-maemo4_armel.deb gcc-4.6_4.6.1-maemo4_armel.deb gcc-4.6-base_4.6.1-maemo4_armel.deb gcc-4.6-locales_4.6.1-maemo4_all.deb gcc-4.6-plugin-dev_4.6.1-maemo4_armel.deb libgomp1_4.6.1-maemo4_armel.deb libmudflap0_4.6.1-maemo4_armel.deb libstdc++6_4.6.1-maemo4_armel.deb libgcc1_4.6.1-maemo4_armel.deb libstdc++6-4.6-dev_4.6.1-maemo4_armel.deb
Symlink gcc is still pointing to gcc-4.2 (and g++ to g++-4.2). Use e.g. CC=gcc-4.6 or tune symlinks
-----------------
How is binutils made:
Code:
wget http://ftp.de.debian.org/debian/pool/main/b/binutils/binutils_2.22.orig.tar.gz
wget http://ftp.de.debian.org/debian/pool/main/b/binutils/binutils_2.22-5.diff.gz
gunzip binutils_2.22-5.diff.gz
tar xvf binutils_2.22.orig.tar.gz
patch -p0 < binutils_2.22-5.diff
rm binutils_2.22-5.diff  binutils_2.22.orig.tar.gz
cd binutils-2.22/
chmod a+x debian/rules 

#package without gold
sed -i 's/with_gold = yes/with_gold = no/g' debian/rules

#tar: unrecognized option `--xz'
sed -i 's/--xz/-z/g' debian/rules
sed -i 's/.tar.xz/.tar.gz/g' debian/rules

#we don't have autoconf 2.64, but it is not needed
#change 'control' and 'control.in', because autobuilder checks 'control' before parsing 'control.in'
sed -i 's/autoconf (>= 2.64)/autoconf/g' debian/control.in
sed -i 's/autoconf (>= 2.64)/autoconf/g' debian/control

#I'm using bison-2.4 (just minor detail)
sed -i 's/bison/bison | bison-2.4/g' debian/control.in
sed -i 's/bison/bison | bison-2.4/g' debian/control

sb2 -eR dpkg-buildpackage
-------------
How is gcc made:

Code:
#new binutils installed
wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6_4.6.1-9ubuntu3.diff.gz
wget http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-4.6/gcc-4.6_4.6.1.orig.tar.gz
gunzip gcc-4.6_4.6.1-9ubuntu3.diff.gz
tar xvf gcc-4.6_4.6.1.orig.tar.gz
patch -p0 < gcc-4.6_4.6.1-9ubuntu3.diff 
cd gcc-4.6-4.6.1.orig/
chmod a+x debian/rules

#change distrelease
sed -i 's/:= sid/:= fremantle/g' debian/rules.defs

#no multiarch
sed -i 's/with_multiarch_lib := yes/with_multiarch_lib := no/g' debian/rules.defs 
sed -i 's/multiarch_stage1 := yes/multiarch_stage1 := no/g' debian/rules.defs 

#do not use gcc-4.4
sed -i 's/gcc-4.4/gcc/g' debian/rules2

#lower some build dependencies
sed -i 's/AUTO_BUILD_DEP += autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12),/AUTO_BUILD_DEP += autoconf, automake (>= 1:1.10), automake (<< 1:1.12),/g' debian/rules.conf

sed -i 's/make (>= 3.81)/make (>= 3.81) | make-3.81/g' debian/control.m4
sed -i 's/bison (>= 1:2.3)/bison (>= 1:2.3) | bison-2.4/g' debian/control.m4
sed -i 's/g++-4.4/g++/g' debian/control.m4

#lower versions of documentation tools (and drop gsfonts-x11)
sed -i 's/doxygen (>= 1.7.2)/doxygen (>= 1.5.1)/g' debian/rules.conf
sed -i 's/gsfonts-x11, //g' debian/rules.conf

#lower some dependency-libraries
sed -i 's/GMP_BUILD_DEP = libgmp-dev (>= 2:5.0.1~),/GMP_BUILD_DEP = libgmp3-dev,/g' debian/rules.conf
sed -i 's/MPFR_BUILD_DEP = libmpfr-dev (>= 3.0.0-9~),/MPFR_BUILD_DEP = libmpfr-dev,/g' debian/rules.conf
sed -i 's/libelfg0-dev (>= 0.8.12),/libelfg0-dev,/g' debian/rules.conf


#remove multilib
sed -i 's/GCC_MULTILIB_BUILD_DEP = g++-multilib \[\$(multilib_archs)\]/GCC_MULTILIB_BUILD_DEP =/g' debian/rules.conf



#version (extras-devel repository already has some version, so this would be bigger)
sed -i 's/9ubuntu3/maemo4/g' debian/changelog

#regenerate control-file for autobuilder. Can give errors, but doesn't harm. (might be useless step when building locally)
sb2 -eR  make -f debian/rules.conf control-file 

sb2 -eR dpkg-buildpackage

Last edited by AapoRantalainen; 2012-05-23 at 14:49. Reason: instructions edited
 

The Following 8 Users Say Thank You to AapoRantalainen For This Useful Post:
Posts: 3,074 | Thanked: 12,960 times | Joined on Mar 2010 @ Sofia,Bulgaria
#35
and this is supposed to be installed in scratchbox?
 
Posts: 838 | Thanked: 3,384 times | Joined on Mar 2009
#36
Originally Posted by freemangordon View Post
and this is supposed to be installed in scratchbox?
This is native ARM to ARM compiler. It works on scratchbox, but if you have working cross-compilation, this is not optimal solution.

It works on sb2 without hazzling.

Downloading packages:
Code:
wget http://cc.oulu.fi/~rantalai/fremantle/binutils_2.22-5_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/cpp-4.6_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/g++-4.6_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/gcc-4.6-base_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/gcc-4.6-locales_4.6.1-maemo4_all.deb
wget http://cc.oulu.fi/~rantalai/fremantle/gcc-4.6-plugin-dev_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/gcc-4.6_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/libgcc1_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/libgomp1_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/libmudflap0_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/libstdc++6-4.6-dev_4.6.1-maemo4_armel.deb
wget http://cc.oulu.fi/~rantalai/fremantle/libstdc++6_4.6.1-maemo4_armel.deb
On sb1, it needs some tricks to get just installed binaries to work, because they are pointing to the sb_gcc_wrapper. Seems to me it needs tuning outside of scratchbox, something like this (for every binary?):
Code:
sudo rm /scratchbox/compilers/bin/gcc-4.6
sudo ln -s /scratchbox/users/`whoami`/targets/FREMANTLE_ARMEL/usr/bin/gcc-4.6 /scratchbox/compilers/bin/gcc-4.6
And installing on sb1 differs from sb2: gcc-4.6-base must be forced (I don't understand, they both have dpkg 1.14.25maemo3+0m5 )

Code:
scratchbox
fakeroot dpkg -i binutils_2.22-5_armel.deb 
#"package uses Breaks; not supported in this dpkg"
fakeroot dpkg -i --force-all gcc-4.6-base_4.6.1-maemo4_armel.deb
fakeroot dpkg -i cpp-4.6_4.6.1-maemo4_armel.deb g++-4.6_4.6.1-maemo4_armel.deb gcc-4.6_4.6.1-maemo4_armel.deb gcc-4.6-locales_4.6.1-maemo4_all.deb gcc-4.6-plugin-dev_4.6.1-maemo4_armel.deb libgomp1_4.6.1-maemo4_armel.deb libmudflap0_4.6.1-maemo4_armel.deb libstdc++6_4.6.1-maemo4_armel.deb libgcc1_4.6.1-maemo4_armel.deb libstdc++6-4.6-dev_4.6.1-maemo4_armel.deb

Last edited by AapoRantalainen; 2012-02-20 at 09:44.
 

The Following 5 Users Say Thank You to AapoRantalainen For This Useful Post:
Posts: 838 | Thanked: 3,384 times | Joined on Mar 2009
#37
Originally Posted by szopin View Post
dpkg-deb (subprocess): short read in buffer_copy (failed to write to pipe in copy)
"This is the error that happens when trying to install a partially
downloaded package."


Originally Posted by szopin View Post
dpkg: dependency problems prevent configuration of cpp-4.6:
cpp-4.6 depends on gcc-4.6-base (= 4.6.1-maemo4); however:
Package gcc-4.6-base is not installed.

You missed one row:
Code:
dpkg -i --force-all gcc-4.6-base_4.6.1-maemo4_armel.deb
But test first:
Code:
dpkg -i gcc-4.6-base_4.6.1-maemo4_armel.deb
Originally Posted by szopin View Post
Is there any alternative to:
sb2 -eR dpkg-buildpackage
that works on device?
Code:
fakeroot dpkg-buildpackage
Or
Code:
root
dpkg-buildpackage
Or if you are not interested in to get it packaged, but only compiled, you can try: download source code.
unpack source code
cd gcc*
mkdir build
cd build
../configure
make

(Yes, it must be configured and built out of the source tree).
 

The Following 4 Users Say Thank You to AapoRantalainen For This Useful Post:
Posts: 2,076 | Thanked: 3,268 times | Joined on Feb 2011
#38
Removed pointless posts, after DLing correctly and following all steps: It works!
Compiled cataclysm, no warnings/errors, but on linking:

g++-4.6 -o cataclysm -g obj/artifact.o obj/bionics.o obj/bodypart.o obj/calendar.o obj/catacurse.o obj/color.o obj/computer.o obj/construction.o obj/crafting.o obj/event.o obj/faction.o obj/field.o obj/game.o obj/help.o obj/inventory.o obj/inventory_ui.o obj/item.o obj/itypedef.o obj/iuse.o obj/keypress.o obj/line.o obj/main.o obj/map.o obj/mapgen.o obj/mapitemsdef.o obj/melee.o obj/mission.o obj/missiondef.o obj/mission_end.o obj/mission_fail.o obj/mission_place.o obj/mission_start.o obj/monattack.o obj/mondeath.o obj/mongroupdef.o obj/monitemsdef.o obj/monmove.o obj/monster.o obj/mtypedef.o obj/mutation.o obj/mutation_data.o obj/newcharacter.o obj/npc.o obj/npcmove.o obj/npctalk.o obj/output.o obj/overmap.o obj/player.o obj/posix_time.o obj/ranged.o obj/rng.o obj/settlement.o obj/setvector.o obj/skill.o obj/texthash.o obj/trapdef.o obj/trapfunc.o obj/weather.o obj/wish.o -lncurses
/usr/bin/ld: BFD (GNU Binutils for Debian) 2.22 assertion fail ../../bfd/elf32-arm.c:11467
/usr/bin/ld: BFD (GNU Binutils for Debian) 2.22 assertion fail ../../bfd/elf32-arm.c:11467
/usr/bin/ld: BFD (GNU Binutils for Debian) 2.22 assertion fail ../../bfd/elf32-arm.c:11467

these 3 assertion fails showed up. Binary is there and runs ok, so not sure what to think about them. Just thought would let you know.
THANK YOU!
 

The Following 2 Users Say Thank You to szopin For This Useful Post:
Posts: 2,076 | Thanked: 3,268 times | Joined on Feb 2011
#39
Just compiled TRN (libtcod 1.5.0 based SDL tron/roguelike(?) game), above 3 fails happen on both CC=g++ (4.4) and g++-4.6, both builds successful though, so just annoying warning it seems. BTW, any chance this can be optified? I vaguely remember Tanner having problem with symlinks, not all could be moved (libs mostly IIRC), but it's a 35mb of precious rootfs space. Going to try symlinking and check results, part of it definitely can be moved.
 

The Following 2 Users Say Thank You to szopin For This Useful Post:
Posts: 2,076 | Thanked: 3,268 times | Joined on Feb 2011
#40
Then again no need to reinvent the wheel, here's [2|user@Nokia-N900|/usr/lib/gcc/arm-linux-gnueabi] 4.4 (~50kb) vs 4.6 (35mb):
Code:
rwxrwxrwx    1 root     root             3 Oct  9 19:42 4.4.3 -> 4.4
lrwxrwxrwx    1 root     root             3 Feb 22 14:18 4.6.1 -> 4.6

4.4:
drwxr-xr-x    4 root     root          1800 Oct  7 18:31 .
drwxr-xr-x    4 root     root           488 Feb 23 19:45 ..
lrwxrwxrwx    1 1659     1011            57 Oct  9 19:43 SYSCALLS.c.X -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/SYSCALLS.c.X
lrwxrwxrwx    1 1659     1011            48 Oct  9 19:43 cc1 -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/cc1
lrwxrwxrwx    1 1659     1011            52 Oct  9 19:43 cc1plus -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/cc1plus
lrwxrwxrwx    1 1659     1011            53 Oct  9 19:43 collect2 -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/collect2
-rw-r--r--    1 root     root          1616 Feb  8  2010 crtbegin.o
-rw-r--r--    1 root     root          1936 Feb  8  2010 crtbeginS.o
-rw-r--r--    1 root     root          1948 Feb  8  2010 crtbeginT.o
-rw-r--r--    1 root     root           950 Feb  8  2010 crtend.o
-rw-r--r--    1 root     root           950 Feb  8  2010 crtendS.o
drwxr-xr-x    2 root     root           936 Oct  7 18:31 include
drwxr-xr-x    5 root     root           696 Oct  6 01:10 include-fixed
lrwxrwxrwx    1 1659     1011            53 Oct  9 19:43 libgcc.a -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/libgcc.a
lrwxrwxrwx    1 1659     1011            56 Oct  9 19:43 libgcc_eh.a -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/libgcc_eh.a
-rw-r--r--    1 root     root           135 Feb  8  2010 libgcc_s.so
lrwxrwxrwx    1 root     root            18 Oct  9 19:43 libgcc_s.so.1 -> /lib/libgcc_s.so.1
lrwxrwxrwx    1 1659     1011            54 Oct  9 19:43 libgcov.a -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/libgcov.a
lrwxrwxrwx    1 1659     1011            54 Oct  9 19:43 libgomp.a -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/libgomp.a
lrwxrwxrwx    1 root     root            21 Oct  9 19:43 libgomp.so -> ../../../libgomp.so.1
-rw-r--r--    1 root     root           170 Feb  8  2010 libgomp.spec
-rw-r--r--    1 root     root          1146 Feb  8  2010 libssp_nonshared.a
lrwxrwxrwx    1 1659     1011            56 Oct  9 19:43 libstdc++.a -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/libstdc++.a
lrwxrwxrwx    1 root     root            23 Oct  9 19:43 libstdc++.so -> ../../../libstdc++.so.6
lrwxrwxrwx    1 1659     1011            56 Oct  9 19:43 libsupc++.a -> /opt/maemo/usr/lib/gcc/arm-linux-gnueabi/4.4/libsupc++.a

4.6:
drwxr-xr-x    5 root     root          2312 Feb 22 14:35 .
drwxr-xr-x    4 root     root           488 Feb 23 19:45 ..
-rwxr-xr-x    1 root     root       9330912 Feb 20 03:01 cc1
-rwxr-xr-x    1 root     root      10060144 Feb 20 03:05 cc1plus
-rwxr-xr-x    1 root     root        122672 Feb 20 03:11 collect2
-rw-r--r--    1 root     root          1676 Feb 20 02:57 crtbegin.o
-rw-r--r--    1 root     root          2000 Feb 20 02:57 crtbeginS.o
-rw-r--r--    1 root     root          2004 Feb 20 02:57 crtbeginT.o
-rw-r--r--    1 root     root           989 Feb 20 02:57 crtend.o
-rw-r--r--    1 root     root           989 Feb 20 02:57 crtendS.o
-rwxr-xr-x    1 root     root        141720 Feb 20 03:10 gengtype
-rw-r--r--    1 root     root        610490 Feb 20 03:10 gtype.state
drwxr-xr-x    2 root     root          1080 Feb 22 14:35 include
drwxr-xr-x    4 root     root           568 Feb 22 14:35 include-fixed
-rw-r--r--    1 root     root        165530 Feb 20 03:11 libgcc.a
-rw-r--r--    1 root     root         21288 Feb 20 03:11 libgcc_eh.a
-rw-r--r--    1 root     root           135 Feb 20 02:57 libgcc_s.so
lrwxrwxrwx    1 root     root            18 Feb 22 14:35 libgcc_s.so.1 -> /lib/libgcc_s.so.1
-rw-r--r--    1 root     root         28952 Feb 20 03:11 libgcov.a
-rw-r--r--    1 root     root         95438 Feb 20 03:11 libgomp.a
lrwxrwxrwx    1 root     root            21 Feb 22 14:35 libgomp.so -> ../../../libgomp.so.1
-rw-r--r--    1 root     root           170 Feb 20 02:57 libgomp.spec
lrwxrwxrwx    1 root     root            22 Feb 22 14:35 liblto_plugin.so -> liblto_plugin.so.0.0.0
lrwxrwxrwx    1 root     root            22 Feb 22 14:35 liblto_plugin.so.0 -> liblto_plugin.so.0.0.0
-rw-r--r--    1 root     root         57504 Feb 20 03:01 liblto_plugin.so.0.0.0
-rw-r--r--    1 root     root          1158 Feb 20 03:11 libssp_nonshared.a
-rw-r--r--    1 root     root       2899582 Feb 20 03:07 libstdc++.a
lrwxrwxrwx    1 root     root            23 Feb 22 14:35 libstdc++.so -> ../../../libstdc++.so.6
-rw-r--r--    1 root     root        270512 Feb 20 03:07 libsupc++.a
-rwxr-xr-x    1 root     root         34856 Feb 20 03:11 lto-wrapper
-rwxr-xr-x    1 root     root       8818512 Feb 20 03:11 lto1
drwxr-xr-x    4 root     root           288 Feb 22 14:18 plugin
4.6 seems to have a few more files though.

EDIT: hope [code] tag works as the above was a mess, attached recursive ls result
Attached Files
File Type: gz gccsymlinks.tar.gz (3.1 KB, 79 views)

Last edited by szopin; 2012-02-23 at 19:03. Reason: formatting mess, attachment added ([code] maybe works?)
 

The Following 6 Users Say Thank You to szopin For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 04:46.