# "emerge --update --deep --newuse world" nur bis perl-5.8.8

## Yminus

Hallo!

Zunächst: Ich bin Gentoo Neuling, benutze aber schon ne Weile Linux.

Dieser Anfrage ist die deutsche Übersetzung dieser Anfrage. Ich weiß, doppelte Anfragen sind eigentlich kein guter Stil. Aber da ich im Englischen unsicher bin, und noch keine Antwort bekommen habe, versuche ich es lieber mal auf deutsch. 

Ich habe Gentoo gemäß dem Gentoo Linux x86 Handbuch installiert. (Im übrigen ohne Fehlermeldungen).

Nachdem ich Kapitel "A. Gentoo installieren" abgeschlossen hatte, aktualisierte ich meine Installation mit:

```
# emerge --sync

# emerge --update --deep --newuse world
```

Als Portage versuchte  dev-lang/perl-5.8.8-r4 zu "emergen", brach es mit folgendem Fehler ab: 

 *Quote:*   

> emake -j1 || die "Unable to make"

 

Hier ein paar Ausgaben die hoffentlich hilfreich sind:

```
emerge -vp perl

These are the packages that would be merged, in order:

Calculating dependencies   ... done!

[ebuild     U ] dev-lang/perl-5.8.8-r4 [5.8.8-r2] USE="berkdb gdbm -build -debug -doc -ithreads -perlsuid" 0 kB 
```

Und ohne -vp:

```
emerge perl

>>> Unpacking source...

>>> Unpacking perl-5.8.8.tar.bz2 to /var/tmp/portage/dev-lang/perl-5.8.8-r4/work

```

[...]

```

Looking for extensions...

What extensions do you wish to load dynamically?

[B ByteLoader Cwd DB_File Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call GDBM_File I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 NDBM_File Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Normalize XS/APItest XS/Typemap attrs re threads threads/shared]  

What extensions do you wish to load statically? [none]  

Stripping down executable paths...

...
```

Soweit ich es beurteilen kann, läuft alles gut bis hier:

```
...

Creating config.sh...

./config.sh: line 91: syntax error near unexpected token `('

./config.sh: line 91: `d_Gconvert='gcvt((x),(n),(b))''

Doing variable substitutions on .SH files...

Extracting cflags (with variable substitutions)

```

[...]

```

Run make depend now? [y]  

sh ./makedepend MAKE=make

./config.sh: line 91: syntax error near unexpected token `('

./config.sh: line 91: `d_Gconvert='gcvt((x),(n),(b))''

./makedepend: line 53: -f: command not found

cp: missing destination file operand after `Makefile'

Try `cp --help' for more information.

./makedepend: line 78: $mf: ambiguous redirect

./makedepend: line 87: -d: command not found

mkdir: cannot create directory `UU': File exists

make[1]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8'

make depend MAKEDEPEND=

make[2]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8'

sh ./makedepend MAKE=make

./makedepend: Already running, exiting.

test -s perlmain.c && touch perlmain.c

make[2]: [depend] Error 1 (ignored)

cd x2p; make depend

```

[..."command not found" in allen Zeilen bis...]

```

./makedepend: line 217: .new: command not found

./makedepend: line 218: $mf: ambiguous redirect

./makedepend: line 219: -rf: command not found

test -s perlmain.c && touch perlmain.c

cd x2p; make depend

make[1]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8/x2p'

sh ../makedepend MAKE=make

../config.sh: line 91: syntax error near unexpected token `('

../config.sh: line 91: `d_Gconvert='gcvt((x),(n),(b))''

../makedepend: line 53: -f: command not found

cp: missing destination file operand after `Makefile'

Try `cp --help' for more information.

../makedepend: line 78: $mf: ambiguous redirect

../makedepend: line 87: -d: command not found

mkdir: cannot create directory `UU': File exists

make[2]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8/x2p'

echo hash.c  str.c util.c walk.c | tr ' ' '\n' >.clist

make[2]: Leaving directory `/var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8/x2p'

../makedepend: line 109: Finding dependencies for hash.o.: command not found

../makedepend: line 110: #line 1 "hash.c": command not found

```

[...und noch ein paar Zeilen mit "command not found" und...]

```

./config.sh: line 91: syntax error near unexpected token `('

./config.sh: line 91: `d_Gconvert='gcvt((x),(n),(b))''

./makedepend: line 53: -f: command not found

cp: missing destination file operand after `Makefile'

Try `cp --help' for more information.

./makedepend: line 78: $mf: ambiguous redirect

./makedepend: line 87: -d: command not found

```

[ jetzt folgen ne Menge Textblöcke, die (wie oben) mit "./config.sh: line 91: syntax error near unexpected token `('" beginnen und schließlich:] 

```

make[1]: Leaving directory `/var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8/utils'

 

   Making x2p stuff

make[1]: Entering directory `/var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8/x2p'

You haven't done a "make depend" yet!

make[1]: *** [hash.o] Error 1

make[1]: Leaving directory `/var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8/x2p'

make: *** [translators] Error 2

 [31;01m*[0m 

 [31;01m*[0m ERROR: dev-lang/perl-5.8.8-r4 failed.

 [31;01m*[0m Call stack:

 [31;01m*[0m              ebuild.sh, line 1701:  Called dyn_compile

 [31;01m*[0m              ebuild.sh, line 1039:  Called qa_call 'src_compile'

 [31;01m*[0m              ebuild.sh, line   44:  Called src_compile

 [31;01m*[0m   perl-5.8.8-r4.ebuild, line  292:  Called die

 [31;01m*[0m The specific snippet of code:

 [31;01m*[0m      emake -j1 || die "Unable to make"

 [31;01m*[0m  The die message:

 [31;01m*[0m   Unable to make

...
```

Kann mir vielleicht jemand einen Hinweis geben? Ich habe schon Google und das Forum durchsucht, finde aber nichts dazu.

----------

## Carlo

Configure erstellt config.sh und in Zeile 91 geht etwas was schief. Warum auch immer. Du kannst ja mal in /var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8 gucken was los ist. Nicht zufälligerweise eine andere System-Shell als Bash!? Du kannst gerne einen Fehlerbericht einreichen, wenn du nicht eruieren kannst, ob es tatsächlich ein Bug ist oder ein lokales Problem.

----------

## Yminus

 *Carlo wrote:*   

> Du kannst ja mal in /var/tmp/portage/dev-lang/perl-5.8.8-r4/work/perl-5.8.8 gucken was los ist.

 Auf den ersten Blick kann ich da nichts ungewöhnliches erkennen. Ich hab's mit 

```
make clean

./configure.gnu

make depend

make install
```

versucht, aber das geht genauso schief. 

 *Quote:*   

> Nicht zufälligerweise eine andere System-Shell als Bash!?

 Nein. 

 *Quote:*   

> Du kannst gerne einen Fehlerbericht einreichen, wenn du nicht eruieren kannst, ob es tatsächlich ein Bug ist oder ein lokales Problem.

 Erledigt!

Ich warte jetzt erst mal die Reaktion auf meinen Bug Report ab - zur Not werde ich es mit ner Neuinstallation des Systems versuchen. Auch wenn es mich einige Abende gekostet hat soweit zu kommen, beim zweiten mal geht's hoffentlich schneller,Last edited by Yminus on Sat Jan 12, 2008 12:12 pm; edited 1 time in total

----------

## Max Steel

Generell kann man sagen das man sich angewöhnen sollte ein emerge -a1 gcc nach der Konfiguration des Installationssystems auszuführen.

Danach führst du gcc-config -l aus wobei so etwas ähnliches als Ergebnis zu sehen ist.

```
 [1] i686-pc-linux-gnu-3.3.6 *

 [2] i686-pc-linux-gnu-4.1.2
```

Nun setzt man das neue Profil mit

gcc-config i686-pc-linux-gnu-4.1.2

Daraufhin wird libtool und glibc neu gebaut und dann system.

emerge -a1 glibc libtool && emerge -e system

Dadurch wird das gesamte System neugebaut und aktualisiert.

Dann setzt man mit der Konfiguration des Kernels weiter, dadurch bekommt man am wenigsten Probleme bei der ganzen Installation.

(Sollte man vll in die nächste Version der Installationsanleitung mit einbauen, oder?)

----------

## Carlo

 *Yminus wrote:*   

> Ich hab's mit 
> 
> ```
> make clean
> 
> ...

 

Da läufst du immer Gefahr, daß dir das Build-Skript irgendwas im System manipuliert, während Portage (be entsprechender Konfiguration) dies via Sandbox abfängt. Wenn du per Hand so ein Build-Script ausführst, besser vorher sandbox aufrufen, dann kann dir sowas kaum (die Sandbox bietet keine absolute Sicherheit) passieren.

----------

## Yminus

@Max Steel

Sobald ich verstanden habe warum, werde ich das mal ausprobieren.

@Carlo

Gut zu wissen.

Wie mir hier gesagt wurde, hab ich meinem System einen gültigen Host Namen gegeben. Nun "emerged" portage perl problemlos. Aber jetzt habe ich ein neues Problem damit einen gültigen Host Namen zu finden. Mein System scheint nur "localhost" als solchen zu akzeptieren. Wenn mir dabei jemand helfen kann, dann bitte hier: hostname --fqdn => Host name lookup failure

Und Danke für die Hilfe soweit.

----------

