Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 113558 Details for
Bug 171235
[nl] change-chost.xml
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Translation
change-chost.xml (text/plain), 10.26 KB, created by
Alexander Zuliani
on 2007-03-17 12:24:24 UTC
(
hide
)
Description:
Translation
Filename:
MIME Type:
Creator:
Alexander Zuliani
Created:
2007-03-17 12:24:24 UTC
Size:
10.26 KB
patch
obsolete
><?xml version="1.0" encoding="UTF-8"?> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> ><!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/nl/change-chost.xml,v 1.1 2006/10/09 10:44:29 neysx Exp $ --> > ><guide link="/doc/nl/change-chost.xml" lang="nl"> > ><title>De CHOST variable aanpassen</title> > ><author title="Auteur"> > <mail link="amne@gentoo.org">Wernfried Haas</mail> ></author> ><author title="Redacteur"> > <mail link="vapier@gentoo.org">Mike Frysinger</mail> ></author> ><author title='"GuideXMLifier"'> > <mail link="chriswhite@gentoo.org">Chris White</mail> ></author> ><author title="Vertaler"> > <mail link="alexander_zuliani@telenet.be">Alexander Zuliani</mail> ></author> > ><abstract> >Dit document legt uit hoe je de CHOST variabele van een bestaand systeem kunt >veranderen. ></abstract> > ><!-- The content of this document is licensed under the CC-BY-SA license --> ><!-- See http://creativecommons.org/licenses/by-sa/2.5 --> ><license/> > ><version>1</version> ><date>2006-10-09</date> > ><chapter> ><title>Introductie</title> ><section> ><body> > ><p> >De CHOST veranderen is een groot probleem en kan je systeem grondig naar de >knoppen helpen. Dus je kan je zelfs afvragen waarom er eigenlijk een gids voor >is. ></p> > ><p> >Er zijn echter bepaalde situaties waar het aanpassen van de CHOST onoverkomelijk >is, als je naar glibc 2.4 die enkel ntpl ondersteund bijvoorbeeld, en ontdekt >dat je CHSOT i386 is, wat het voorgaande onmogelijk maakt. In dit geval heb je >weinig keuze, en de CHOST veranderen is er een van. ></p> > ><p> >Zelfs als je deze gids volgt kunnen er zich problemen voordoen, dus zorg ervoor >dat je alles grondig leest, en alle commandos nauwkeuring uitvoert. In dit geval >gaan we de CHOST aanpassen van i386 naar i686. Als je een andere vervanging >uitvoert, pas de commandos dan aan. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>De CHOST variable aanpassen</title> ><section> ><title>De packages compilen</title> ><body> > ><p> >Om te beginnen met het veranderen, pas je <path>/etc/make.conf</path> aan en >verander je de waarde voor <b>CHOST</b> aan aan je noden. Hercompile dat de >volgende pakketten, in deze volgorde: ></p> > ><pre caption="Belangerijke systeem tools updaten"> ># <i>emerge -av1 binutils gcc glibc</i> ></pre> > ><impo> >Merk op dat grote gcc upgrades tegelijkertijd met het aanpassen van de CHOST >waarde (Als je met gcc 3.3, CHOST i386 begint, en naar gcc 4.1, CHOST i386 >gaat bijvoorbeeld) voor ernstige gevolgen kan zorgen. Hoewel het niet onmogelijk >is om dit te doen, is het moeilijk te voorspellen welke potentiële problemen >zich kunnen voordoen en deze te vermelden in deze gids. Bijgevolg, moet je alles >stap per stap doen, Upgrade bijvoorbeeld eerst gcc volgens onze <uri >link="/doc/en/gcc-upgrading.xml">gcc upgrade gids</uri> en pas je CHOST dan aan. >Als je op een systeem met CHOST=i386 zit, zul je glibc 2.4 eerst moeten masken, >en na de upgrade weer unmasken. ></impo> > ></body> ></section> ><section> ><title>Controleren of alles werkt</title> ><body> > ><p> >Het is tijd om te controleren of je <c>gcc-config</c> en <c>binutils-config</c> >instellingen goed zijn, en je geen overblijfsels hebt in ><path>/etc/env.d/</path>. ></p> > ><p> >De output van <c>gcc-config</c> en <c>binutils-config</c> zouden er zo moeten >uitzien (Dit kan veranderen naargelang je gcc versie en CHOST, gcc 4.1.1 en i686 >hier): ></p> > ><pre caption="Een goede setup controleren"> ># <i>gcc-config -l</i> > [1] i686-pc-linux-gnu-4.1.1 * ># <i>gcc-config -c</i> >i686-pc-linux-gnu-4.1.1 > ># <i>binutils-config -l</i> > [1] i686-pc-linux-gnu-2.16.1 * ># <i>binutils-config -c</i> >i686-pc-linux-gnu-2.16.1 ></pre> > ><p> >Vervolgens controleer je of er verwijzingen zijn naar de oude CHOST in ><path>/etc/env.d/</path>: ></p> > ><pre caption="Oude CHOST verwijzingen controleren"> ># <i>cd /etc/env.d/</i> ># <i>grep 386 *</i> >05gcc-i386-pc-linux-gnu:PATH="/usr/i386-pc-linux-gnu/gcc-bin/4.1.1" >05gcc-i386-pc-linux-gnu:ROOTPATH="/usr/i386-pc-linux-gnu/gcc-bin/4.1.1" ></pre> > ><note> >Het is mogelijk dat dit bij jouw niet gebeurt, maar indit geval bevat >05gcc-i386-pc-linux-gnu verwijzingen naar de oude CHOST. Dit kan er anders >uitzien op je systeem afhankelijk van de CHOST je van/naar veranderd. Of zelfs >gewoon in orde zijn. De naam kan ook 05gcc-uw_nieuwe_CHOST-pc-linux-gnu zijn. ></note> > ><p> >Alvorens je het bestand verwijderd, zoeken we bestanden met de upgedate CHOST: ></p> > ><pre caption="Bestanden met de nieuwe CHOST zoeken."> ># <i>grep 686 *</i> >05binutils:MANPATH=/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/man >05binutils:INFOPATH=/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info >05binutils:LDPATH=/usr/i686-pc-linux-gnu/lib >05gcc:PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.1" >05gcc:ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.1" >05gcc:MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man" >05gcc:INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info" >05gcc:LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.1.1" ></pre> > ><p> >Deze ziet er goed uit aangezien er telkens slechts ÄÄÅ n bestand voor <c>gcc</c> >in <path>/etc/env.d/</path> man zijn (05gcc hier), dus verwijderen we diegene >met verkeerde verwijzingen: ></p> > ><pre caption="Bestanden met foute verwijzingen verwijderen"> ># <i>rm 05gcc-i386-pc-linux-gnu</i> ></pre> > ><p> >Hetzelfde gaat ook op voor <c>binutils</c>. Als er een extra is, zoek dan de >oude en verwijder hem. Controleer dan je <path>/etc/env.d/binutils/</path> ></p> > ><pre caption="Binutils controleren"> ># <i>cd /etc/env.d/binutils/</i> ># <i>ls -la</i> >total 8 >-rw-r--r-- 1 root root 15 Sep 3 13:48 config-i686-pc-linux-gnu >-rw-r--r-- 1 root root 126 Sep 3 13:48 i686-pc-linux-gnu-2.16.1 > ># <i>cat config-i686-pc-linux-gnu</i> >CURRENT=2.16.1 ># <i>cat i686-pc-linux-gnu-2.16.1</i> >TARGET="i686-pc-linux-gnu" >VER="2.16.1" >LIBPATH="/usr/lib/binutils/i686-pc-linux-gnu/2.16.1" >FAKE_TARGETS="i686-pc-linux-gnu" ></pre> > ><p> >Deze ziet er goed uit, die bestanden moeten er zijn. Tijd om verder te gaan naar >de gcc map. ></p> > ><pre caption="Gcc controleren"> ># <i>cd /etc/env.d/gcc</i> ># <i>ls -la</i> >total 12 >-rw-r--r-- 1 root root 32 Sep 3 16:43 config >-rw-r--r-- 1 root root 32 Aug 3 14:25 config-i386-pc-linux-gnu >-rw-r--r-- 1 root root 292 Sep 3 16:43 i686-pc-linux-gnu-4.1.1 > ># <i>cat config</i> >CURRENT=i686-pc-linux-gnu-4.1.1 > ># <i>cat config-i386-pc-linux-gnu</i> >CURRENT=i386-pc-linux-gnu-4.1.1 > ># <i>cat i686-pc-linux-gnu-4.1.1</i> >PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.1" >ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.1" >LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.1.1" >GCCBITS="32" >MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man" >INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info" >STDCXX_INCDIR="g++-v4" ></pre> > ><p> ><path>config</path> en <path>i686-pc-linux-gnu-4.1.1</path> zijn in orde, maar ><path>config-i386-pc-linux-gnu</path> is ook een overblijfsel die verwijderd >moet worden. ></p> > ><note> >Alweer kan de naam die foute verwijzingen bevat een andere naam hebben, >config-i686-pc-linux-gnu bijvoorbeeld, hoewel je upgradet naar i686. Het is >belangerijk dat je het bestand herkent aan de inhoud, niet enkel de naam. ></note> > ><pre caption="Het foute gcc configuratiebestand verwijderen"> ># <i>rm config-i386-pc-linux-gnu</i> ></pre> > ><p> >Draai nu de volgende commandos om je omgeving up te daten: ></p> > ><pre caption="De omgeving updaten"> ># <i>env-update && source /etc/profile</i> ></pre> > ><p> >Controleer dan of alles gefixed is: ></p> > ><pre caption="Kijken of alles in orde is"> ># <i>grep -r 386 /etc/env.d/</i> ></pre> > ><p> >Als je nog steeds iets vindt, moet je een bestand gemist hebben. Probeer het te >vinden alvorens verder te gaan. ></p> > ></body> ></section> ><section> ><title>De wijziging afwerken</title> ><body> > ><p> >Nu is het nodig om <c>libtool</c> te hermergen en <c>fix_libtool_files.sh</c> te >draaien. Zorg ervoor dat je hiervoor zeker de juiste gcc versie gebruikt: (Je >huidige, 4.1.1 hier, en de oude architectuur, i386 hier). ></p> > ><pre caption="Verzeker dat je juiste libraries hebt"> ># <i>emerge -av1 libtool</i> ># <i>fix_libtool_files.sh 4.1.1 --oldarch i386-pc-linux-gnu</i> ></pre> > ><p> >Het is misschien aan te raden elk pakket te hercompilen: ></p> > ><pre caption="world recompilen"> ># <i>emerge -e world</i> ></pre> > ><p> >In theorie is het niet noodzakelijk om dit te doen, maat het is niet 100% zeker >dat dit het geval is. Als je de world niet recompiled , moet je toch minstens de >volgende doen: ></p> > ><pre caption="Python remergen"> ># <i>emerge -av1 python</i> ></pre> > ><p> >Alle paketten die perl gebruiken installeren zich in de CHOST direcotry en >moeten dus geremerged worden. In dit geval heb je <c>qfile</c> niet >geïnstalleerd, en moet je dus eerst <c>app-portage/portage-utils</c> >installeren. ></p> > ><pre caption="Perl pakketen hermergen"> ># <i>emerge -av portage-utils</i> ># <i>emerge -av1 `qfile /usr/lib/perl* -Cq | sort -u`</i> ></pre> > ><p> >Als je nog pakketen ontdejt die gehercompiled moeten worden, laat de auteur van >dit document het dan weten. ></p> > ></body> ></section> ><section> ><title>Veelvoorkomende problemen</title> ><body> > ><p> >Als je upgrade van gcc 3.3 naar 4.1, en tegelijkertijd de CHOST aanpast (Maar >doe dat best niet), moeten bepaalde packages gerecompiled worden, zoals groff en >courier: ></p> > ><pre caption="Error bericht"> >error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory ></pre> > ><p> >Dit gebeurt tijdens de upgrade, als de CHOST niet perfect gelijk is aan XTARGET >en de compiler verondersteld cross-compiling. Bijgevolg is LDPATH niet >toegevoegd aan <path>ld.so.conf</path>, wat resulteert in een error. ></p> > ><p> >Zie de <uri link="/dec/en/gcc-upgrading.xml">gcc upgrade gids</uri> om te zien >wat gerecompiled moet worden na een gcc upgrade. ></p> > ><p> >In zeldzame gevallen kan dit ook oude versies van pyton laten crashen. Dit kan >opgelost worden door <path>/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.6</path> (Pas >aan aan je oude chost en gcc versie) aan <path>/etc/ld.so.conf</path>. Draai dan ><c>ldconfig</c> en <c>emerge libstdc++-v3</c>. Zoals je ziet is het dus beter >dit probleem te ontwijken. Verander CHOST en je gcc versie niet tegelijkertijd. ></p> > ></body> ></section> ><section> ><title>Feedback</title> ><body> > ><p> >Dit zou het moeten zijn. feedback (Al dan niet positief) is welkom. Stuur een >email naar <mail>amnde@gentoo.org</mail> (Engels) Of post op <uri >link="http://forums.gentoo.org/viewtopic-t-494147.html">Dit topic in het >forum</uri>. Veel in deze howto komt van vapier, bedankt voor je hulp! ></p> > ></body> ></section> ></chapter> ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 171235
: 113558