# umstellung auf I686 von I386

## TheJoker89

Hallo liebe leute,

ich habe heute einen weiteren versuch gestartet einen meiner server 

auf i686 umzustellen (von i386)

und bekomme unter anderem bei apache und apr-util

beim compilen probleme, da immer wieder der alte i386 compiler benutzt werden soll

(der ja nicht mehr vorhanden ist)

Fehler:

```

>>> Emerging (2 of 2) dev-libs/apr-util-0.9.12 to /

 * apr-util-0.9.12.tar.gz RMD160 ;-) ...                                                                                                                                                                  [ ok ]

 * apr-util-0.9.12.tar.gz SHA1 ;-) ...                                                                                                                                                                    [ ok ]

 * apr-util-0.9.12.tar.gz SHA256 ;-) ...                                                                                                                                                                  [ ok ]

 * apr-util-0.9.12.tar.gz size ;-) ...                                                                                                                                                                    [ ok ]

 * checking ebuild checksums ;-) ...                                                                                                                                                                      [ ok ]

 * checking auxfile checksums ;-) ...                                                                                                                                                                     [ ok ]

 * checking miscfile checksums ;-) ...                                                                                                                                                                    [ ok ]

 * checking apr-util-0.9.12.tar.gz ;-) ...                                                                                                                                                                [ ok ]

>>> Unpacking source...

>>> Unpacking apr-util-0.9.12.tar.gz to /var/tmp/portage/dev-libs/apr-util-0.9.12/work

 * Applying apr-util-0.9.12-linking.patch ...                                                                                                                                                             [ ok ]

 * Running elibtoolize in: apr-util-0.9.12/xml/expat/conftools

 *   Applying portage-1.5.10.patch ...

 *   Applying max_cmd_len-1.5.20.patch ...

 *   Applying sed-1.5.6.patch ...

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/dev-libs/apr-util-0.9.12/work/apr-util-0.9.12 ...

 * Found db version 4.3

 * Found db version 4.3

include version 4.3

 * econf: updating apr-util-0.9.12/build/config.sub with /usr/share/gnuconfig/config.sub

 * econf: updating apr-util-0.9.12/build/config.guess with /usr/share/gnuconfig/config.guess

 * econf: updating apr-util-0.9.12/xml/expat/conftools/config.sub with /usr/share/gnuconfig/config.sub

 * econf: updating apr-util-0.9.12/xml/expat/conftools/config.guess with /usr/share/gnuconfig/config.guess

./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datadir=/usr/share/apr-util-0 --with-apr=/usr --with-expat=/usr --with-ldap --with-gdbm --with-dbm=db43 --with-berkeley-db=/usr/include/db4.3:/usr/lib --build=i686-pc-linux-gnu

checking build system type... i686-pc-linux-gnu

checking host system type... i686-pc-linux-gnu

checking target system type... i686-pc-linux-gnu

checking for working mkdir -p... yes

APR-util Version: 0.9.12

checking for chosen layout... apr-util

Applying apr-util hints file rules for i686-pc-linux-gnu

checking for APR... yes

  setting CC to "i386-pc-linux-gnu-gcc"

  setting CPP to "i386-pc-linux-gnu-gcc -E"

  adding "-pthread" to CFLAGS

  setting CPPFLAGS to " -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE"

checking for i686-pc-linux-gnu-gcc... i386-pc-linux-gnu-gcc

checking for C compiler default output file name... configure: error: C compiler cannot create executables

See `config.log' for more details.

!!! Please attach the following file when filing a report to bugs.gentoo.org:

!!! /var/tmp/portage/dev-libs/apr-util-0.9.12/work/apr-util-0.9.12/config.log

!!! ERROR: dev-libs/apr-util-0.9.12 failed.

Call stack:

  ebuild.sh, line 1615:   Called dyn_compile

  ebuild.sh, line 972:   Called qa_call 'src_compile'

  ebuild.sh, line 44:   Called src_compile

  apr-util-0.9.12.ebuild, line 50:   Called econf '--datadir=/usr/share/apr-util-0' '--with-apr=/usr' '--with-expat=/usr' '--with-ldap' '--with-gdbm' '--with-dbm=db43' '--with-berkeley-db=/usr/include/db4.3:/usr/lib'

  ebuild.sh, line 578:   Called die

!!! econf failed

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/dev-libs/apr-util-0.9.12/temp/build.log'.

```

ich habe die anleitung schritt für schritt befolgt

(http://gentoo-wiki.com/HOWTO_change_CHOST_relatively_safely)

ebenso die von gentoo.org, was mir leider nicht half...

(ich hätte ja jetzt vermutet, dass ich das löschen, der alten i386 sachen vergessen hätte,

wobei ich mir aber 100%ig sicher bin es gemacht zu haben und ich es eben nocheinmal

geprüft habe, noch dazu wäre ja möglich gewesen, dass ich

 in den binutils und gcc config programmen das umstellen vergessen habe (ist aber

nicht der fall  :Wink:  )

würde mich wirklich sehr über hilfe freuen, euer TheJoker89

EDIT:

was mich besonders verwirrt ist, dass alles mit i686 angegeben ist, aber letzten endes

folgendes passiert:

"--build=i686-pc-linux-gnu"

sowie:

"setting CC to "i386-pc-linux-gnu-gcc""

und

"setting CPP to "i386-pc-linux-gnu-gcc -E" "

why????

----------

## Martux

Es könnte sein daß GCC noch auf einem alten Profil steht.

Schau Dir mal gcc-config an.

EDIT:

Ups, Du schreibst ja das Du das gemacht hast...

Was sagt den gcc-config?

----------

## TheJoker89

TheJoker-2800-2 ~ # gcc-config -c

```

i686-pc-linux-gnu-4.1.2

```

TheJoker-2800-2 ~ # gcc-config -l

```

 [1] i686-pc-linux-gnu-3.3.5-20050130

 [2] i686-pc-linux-gnu-3.3.5-20050130-hardened

 [3] i686-pc-linux-gnu-3.3.5-20050130-hardenednopie

 [4] i686-pc-linux-gnu-3.3.5-20050130-hardenednopiessp

 [5] i686-pc-linux-gnu-3.3.5-20050130-hardenednossp

 [6] i686-pc-linux-gnu-4.1.2 *

```

TheJoker-2800-2 ~ # binutils-config -c

```

i686-pc-linux-gnu-2.16.1

```

TheJoker-2800-2 ~ # binutils-config -l

 *Quote:*   

> 
> 
>  [1] i686-pc-linux-gnu-2.16.1 *
> 
> 

 

gibts noch jemanden, der weiterhelfen kann?

----------

## toroneos

Hast Du Deine anderen Pakete auch schon mit der neuen Architektur kompiliert. Perl, Python etc. ?

----------

## TheJoker89

 *toroneos wrote:*   

> Hast Du Deine anderen Pakete auch schon mit der neuen Architektur kompiliert. Perl, Python etc. ?

 

ja, ich hab ein komplettes world emerge gemacht (wobei das 2. letzte paket apache war....->abbruch)

----------

## amne

Vergiss die Anleitung aus dem Gentoowiki, nimm die offizielle, die wurde von Leuten gemacht die wirklich Ahnung haben (nein ich mein da jetzt nicht einmal mich, sondern den Spanky  :Wink:  )

Zum eigentlichen Problem: apr ist geslotted, daher wurde die 0.9er-Version nicht neu mit i386 gebaut - mach einmal

```
emerge -av1 =dev-libs/apr-0.9.12
```

 und probiers dann nochmal.

----------

## TheJoker89

 *amne wrote:*   

> Vergiss die Anleitung aus dem Gentoowiki, nimm die offizielle, die wurde von Leuten gemacht die wirklich Ahnung haben (nein ich mein da jetzt nicht einmal mich, sondern den Spanky  )
> 
> Zum eigentlichen Problem: apr ist geslotted, daher wurde die 0.9er-Version nicht neu mit i386 gebaut - mach einmal
> 
> ```
> ...

 

ok und vielen, vielen dank im vorraus  :Wink: 

EDIT: es sieht so aus, als ob es funktionieren würde, allerdings war ich mir sicher, dass apr neu gebildet wurde...

was genau hat es mit den slots auf sich? (bzw. wo kann ich das nachlesen?)

----------

## amne

Bin jetzt gerade zu faul die Doku rauszusuchen, aber Slots erlauben gleichzeitige Installation von verschiedenen Versionen, sofern das auch notwendig (und sinnvoll) ist. Beispiele dafür sind z.B. gcc (man kann z.B. gcc 4.1 und 3.4 gleichzeitig installiert haben), automake, oder eben das ominöse apr.

Das Problem ist, dass bei emerge -e world eben nur die aktuellste Version (1.irgendwas) neu gebaut wird, und die gleichzeitig installierte 0.9.12 eben nicht.

----------

## TheJoker89

 *amne wrote:*   

> Bin jetzt gerade zu faul die Doku rauszusuchen, aber Slots erlauben gleichzeitige Installation von verschiedenen Versionen, sofern das auch notwendig (und sinnvoll) ist. Beispiele dafür sind z.B. gcc (man kann z.B. gcc 4.1 und 3.4 gleichzeitig installiert haben), automake, oder eben das ominöse apr.
> 
> Das Problem ist, dass bei emerge -e world eben nur die aktuellste Version (1.irgendwas) neu gebaut wird, und die gleichzeitig installierte 0.9.12 eben nicht.

 

ja das mit den slots war mir bereits bekannt, allerdings hätte ich gedacht, dass nicht nur das aktuellste paket neu compiled wird sondern

alle vorhandenen versionen...

Danke @ all für die Hilfe

----------

