Author |
Message |
|
Post subject: Crosscompiler x86->ppc?
Posted: Jul 01, 2004 - 15:27
|
|
Order of the Butterfly
Joined: Sep 08, 2003
Posts: 1370
Location: EU
|
|
Här sitter jag o försöker bygga om QT, om och om igen så får jag samma fel och ingen synes bry sig om att äns titta till bug rapporten.
Det enda som jag kan tänka mig som skulle fixa till detta skulle vara att kompilera på en x86 maskin, men då krävs en cross compiler, så nån som vet var man kan finna en sådan x86 som kompilerar ppc binärer (hade vart trevligt ifall det hade funnits en ebuild). |
|
|
|
|
|
|
Post subject:
Posted: Jul 01, 2004 - 16:28
|
|
Order of the Butterfly
Joined: Sep 08, 2003
Posts: 1370
Location: EU
|
|
Hittade crossdev som finns som ebuild, men tyvärr så klarar den illa kernel 2.6 och att man har snapshot versioner av gcc. Har modifierat crossdev.sh lite och håller just på att bygga allt, så vet inte ifall jag har lyckats få till att den bygger en ppc gcc för x86.
Sådär, crossdev funkar väldigt dåligt, det hela misslyckades, den borde vara ~ och inte markerad som stabil. |
|
|
|
|
|
|
Post subject:
Posted: Jul 02, 2004 - 07:33
|
|
Order of the Butterfly
Joined: Aug 26, 2003
Posts: 1784
Location: Malmö
|
|
|
|
|
|
Post subject:
Posted: Jul 02, 2004 - 13:29
|
|
Order of the Butterfly
Joined: Sep 08, 2003
Posts: 1370
Location: EU
|
|
54400 (du kan trycka på ordet fel i första meddelandet).
Angående crossdev, jag fixade till det dära felet med katalogen, men den misslyckas att bygga x-kompilatorn, det blev nått fel efter ett tags kompilering av gcc som inte berode på katalogsnamnet utan en segfault ifall jag nu mins det rätt.
Det är inte det enda som blir fel i crossdev, utan koden
Code: | #// Make version/symlinks
make ARCH="${KERNEL_ARCH}" symlinks include/linux/version.h || \
showError "${func_name}: Failed to create include/linux/version.h!"
touch .configured-${TARGETARCH}
|
orsakar också att crossdev misslyckas innan den äns börjar o kompilera (jag kommenterade bort det i min crossdev.sh), problemet är att version.h inte finns med i linux kernel utan skapas när man kör 'make *config', har jag iaf för mig. |
|
|
|
|
|
|
Post subject:
Posted: Jul 03, 2004 - 05:57
|
|
Order of the Butterfly
Joined: Sep 08, 2003
Posts: 1370
Location: EU
|
|
Tackar för ditt förslag på Gentoo bugzilla, men får nu en segfault som synes bero antingen på uic eller att det blir nått alvarligt fel när man har kompilerat qt-libsen, så kan tyvärr inte färdigställa det hela manuelt.
Har nu snot en liten patch from Fedora och ska se ifall det hjälper, smatidigt så har jag ändrat lite i configure alternativen, bland annat droppat -fast... så får se ifall det blir bättre nu eller inte. |
|
|
|
|
|
|
Post subject:
Posted: Sep 09, 2004 - 17:56
|
|
Order of the Butterfly
Joined: Sep 08, 2003
Posts: 1370
Location: EU
|
|
Vet inte ifall corssdev ebuilden funkar igen eller inte, men för er som inte kör Gentoo eller som inte får crossdev att fungera, så finns det en HOWTO för att göra en crosscompiler (linux) och den hittar ni här.
Denna beskrivning är gjord för MacG3, så jag har själv valt att göra lite annerlunda än beskrivet, nämligen
Code: |
make ARCH=ppc CROSS_COMPILE=powerpc-unknown-linux-gnu- mrproper
cp /mnt/cdrom/gentoo-pegasos-kernel-config .config
make ARCH=ppc CROSS_COMPILE=powerpc-unknown-linux-gnu- oldconfig
|
Vet inte om det gör någon större skillnad, men känns bättre o haft samma config file som man hade när man kompilerade kerneln till peggen. |
|
|
|
|
|
|
Post subject:
Posted: Sep 09, 2004 - 18:28
|
|
Order of the Butterfly
Joined: Aug 26, 2003
Posts: 1784
Location: Malmö
|
|
|
|
|
|
Post subject:
Posted: Sep 10, 2004 - 13:17
|
|
Order of the Butterfly
Joined: Sep 08, 2003
Posts: 1370
Location: EU
|
|
Japp, kompilatorn funkar finfint.
Har inte ännu provat distcc, det finns beskrivet i HOWTO:n hur man gör det med. |
|
|
|
|
|
|
Post subject:
Posted: Sep 10, 2004 - 17:39
|
|
Order of the Butterfly
Joined: Sep 08, 2003
Posts: 1370
Location: EU
|
|
Efter lite om och men, så ser distcc o fungera, men fungerar inte med alla packet. Eftersom alla inte fungerar riktigt med distcc (vissa kan misslyckas med sin build också ifall distcc används), så jag har vanliga värden i min /etc/make.conf och la till en alias i min .bashrc
Code: | alias pemerge="FEATURES=\"distcc\" MAKEOPTS=\"-j3\" emerge" |
Så kan man välja
emerge vi
eller
pemerge vi
var den senare använder sig av distcc.
Vad jag var tvungen att göra för att få distcc att fungera, det var att göra en massa symlinks i min crossdev/bin:
ln -s powerpc-unknown-linux-gnu-X X
byt ut X till lämpligt namn. |
|
|
|
|
|
|