# Compiler kaputtgemacht mit emerge system?

## brainwashed

Hallo, wollte gestern mein mit Stage 3 installiertes System nach und nach updaten, habe mir daher gedacht das zuallerert ein emerge system schlau wäre. Dieses brach dann er nach einer Zeit bei util-linux ab. Nun läuft z.B. licq nichtmehr, er sagt :

```

licq: /lib/libpthread.so.0: version `GLIBC_2.3.3' not found (required by licq)

```

Das re-emeren von licq bricht mit folgender Fehlermeldun ab:

```

socket.cpp: In member function `bool TCPSocket::SecureConnect()':

socket.cpp:1081: error: ISO C++ forbids cast to non-reference type used as lvalue

socket.cpp: In member function `bool TCPSocket::SecureListen()':

socket.cpp:1114: error: ISO C++ forbids cast to non-reference type used as lvalue

make[2]: *** [socket.o] Error 1

make[2]: *** Waiting for unfinished jobs....

make[2]: Leaving directory `/var/tmp/portage/licq-1.2.7/work/licq-1.2.7/src'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/var/tmp/portage/licq-1.2.7/work/licq-1.2.7'

make: *** [all] Error 2

!!! ERROR: net-im/licq-1.2.7 failed.

!!! Function src_compile, Line 60, Exitcode 2

!!! (no error message)

```

Was nun ? glibc neu emergen ? Ist die Kiste noch zu retten ?

Falls ihr mehr Input braucht, stehe natürlich zur Verfügung.

----------

## TheCurse

Also was funktionieren sollte wäre auf jeden Fall ein emerge -e world. Alternativ würde ich erstmal ein emerge -uD --newuse world probieren.

MfG

TheCurse

----------

## zielscheibe

Ein "emerge -u world" inkludiert das "emerge -u system", ist also nicht nötig, wenn du nur updaten willst. Irgendetwas scheint miti deiner glibc nicht zu stimmen. Kopiere mal die Ausgabe von "emerge info", damit man näheres zu deinen USE-Flags/CFLAGS und den verwendeten Systemkomponenten sieht.

----------

## Stormkings

Hallo,

das klingt nach einem nptl problem. mit welchen useflags hast du die glibc kompiliert?

die lösung steht hier im letzten beitrag: https://forums.gentoo.org/viewtopic.php?t=119178

EDIT: rechtschreibfehler korrigiert

----------

## brainwashed

emerge info sagt :

```

Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r1, 2.6.11-gentoo-r4 i686)

=================================================================

System uname: 2.6.11-gentoo-r4 i686 AMD Duron(tm) Processor

Gentoo Base System version 1.4.16

Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Apr  1 2005, 16:15:09)]

ccache version 2.3 [enabled]

dev-lang/python:     2.3.4-r1

sys-devel/autoconf:  2.59-r6, 2.13

sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4

sys-devel/binutils:  2.15.92.0.2-r1

sys-devel/libtool:   1.5.10-r4

virtual/os-headers:  2.6.8.1-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -msse -mmmx -m3dnow"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -msse -mmmx -m3dnow"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"

GENTOO_MIRRORS="http://ftp.ntua.gr/pub/linux/gentoo/ http://gentoo.ynet.sk/pub http://ftp.roedu.net/pub/mirrors/gentoo.org/ http://gentoo.mirror.solnet.ch http://ftp.uni-erlangen.de/pub/mirrors/gentoo"

LANG="de_DE@euro"

LC_ALL="de_DE@euro"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 3dnow X alsa apm avi berkdb bitmap-fonts cdr crypt cups curl dvd dvdread emboss encode esd fam font-server foomaticdb fortran gdbm gif gpm gstreamer gtk gtk2 imagemagick imlib java jpeg junit ldap libg++ libwww mad mikmod mmx motif mp3 mpeg ncurses nls oggvorbis opengl pam pdflib perl png python qt quicktime readline sdl slang spell sse ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts xml2 xmms xv xvid zlib linguas_de"

Unset:  ASFLAGS, CBUILD, CTARGET, LDFLAGS

```

----------

## Stormkings

ich habe gerade gesehen, dass dafür eigentlich ein patch existieren müsste im files verzeichnis von licq. evtl. ist der nicht vorhanden oder wird nicht richtig angewendet.

----------

## brainwashed

Naja das Problem tritt leidr ja nicht nur beim recompilen von licq auf, das emerge system lief ja auch nicht richtig durch

----------

## zielscheibe

Hast du auf diesem System jemals das "nptl" USE-Flag verwendet? 

Da es nicht in deinen momentanen USE-Flags auftaucht, wundere ich mich ein wenig,  bekomme ich doch genau den gleichen Fehler wie du wobei ich hier "nptl" nutze!

Ist das wirklich ein Duron in deinem Rechner, wenn ja stimmt "-march=athlon-xp" nicht so ganz. 

Was gibt denn ein:

```
 

/lib/libc.so.6

```

----------

## brainwashed

Nicht das ich wüsste ! Werde als nächstes mal versuchen glibc neu zu emergen !

Das mit athlon-xp hab ich aus der wiki, da steht :

```

 Duron Morgan (AMD)

vendor_id : AuthenticAMD

cpu family : 6

model : 7

model name : AMD Duron(tm) Processor

stepping : 1

    CHOST="i686-pc-linux-gnu" 

    CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" 

    CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer" 
```

Denke auch nicht das das unbedingt falsch ist.

----------

## pablo_supertux

Vielleicht hilft dir revdep-rebuild

----------

## brainwashed

```
 

bash-2.05b$ /lib/libc.so.6 

GNU C Library stable release version 2.3.4, by Roland McGrath et al.

Copyright (C) 2004 Free Software Foundation, Inc.

This is free software; see the source for copying conditions.

There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A

PARTICULAR PURPOSE.

Compiled by GNU CC version 3.4.3-20050110 (Gentoo Linux 3.4.3.20050110-r1, ssp-3.4.3.20050110-0, pie-8.7.7).

Compiled on a Linux 2.6.8 system on 2005-04-05.

Available extensions:

        GNU libio by Per Bothner

        crypt add-on version 2.1 by Michael Glad and others

        linuxthreads-0.10 by Xavier Leroy

        The C stubs add-on version 2.1.2.

        BIND-8.2.3-T5B

        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk

        Glibc-2.0 compatibility add-on by Cristian Gafton 

        GNU Libidn by Simon Josefsson

        libthread_db work sponsored by Alpha Processor Inc

Thread-local storage support included.

For bug reporting instructions, please see:

<http://www.gnu.org/software/libc/bugs.html>.

```

So glibc compiliert grade. Mal ne andere Frage, is mir grad aufgefallen : 

ACCEPT_KEYWORDS="x86" 

bedeutet nicht ACCEPT_KEYWORDS="~x86" oder ?

Das würde dann ja heissen das ich mir relativ viel unstabiles Zeug installiert habe, oder sehe ich das Falsch ?

Danke schonmal, im Vorraus und im Nachhinein für die Tips bis jetz !

*edit²*

Das ich evtl den nptl support im Kernel aktiv hab kann das Problem, sofern ich die USE-Flag dafür nicht gesetzt habe, nicht verursachen, oder ?

*edit³*

So hiernochmal die Ausgabe von "emerge -va glibc"

```

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] sys-libs/glibc-2.3.4.20050125-r1  -build -debug -erandom -hardened (-multilib) +nls -nomalloccheck -nptl -nptlonly -pic -userlocales 0 kB 

```

----------

## brainwashed

Folgendes:

Neukompilieren und downgraden von glibc scheint nichts zu bringen :/

Scheint mir das nix mehr sauber kompiliert. Irgendjemand ne Idee ? Irgendetwas ? Würd nur ungern wieder ein Wochenende zur neuinstallation verschwenden.

----------

## zielscheibe

Hi,

Ich würde die aktuell, als "stable", deklarierte "glibc2.3.4.20041102-r1" versuchen. Danach noch den "gcc" neu übersetzen. 

Generell solltest du dir überlegen, ob *unbedingt* bei den grundlegenden Systembibliotheken auf "~x86" und "-O3" gefahren werden muß.

----------

## brainwashed

Also mit O3 hatte ich keine probleme, heisst den die Ausgabe oben, also ACCEPT_KEYWORDS=x86 das er auch mit ~x86 ebuilds nimmt ? Wenn ja wie ändere ich das wieder ? danke für den tip werde jetz erstmal die glibc neucompilieren

*edit* 

Hab grad nen Fehler in meinen Configs gefunden ( nachdem ich mal RTFM gemacht hab  :Wink:  ) und werde jetz tun wie mir befohlen wurde. 

Dankeschön !

----------

## brainwashed

So sitze jetz mehr oder weniger immernoch am selben Problem :/

Habe die masked pakete jetz wieder neu compilert, bei emerge system sagt er allerdings bei util-linux immernoch :

```
In file included from delpart.c:6:

/usr/include/linux/blkpg.h:36: error: variable or field `__user' declared void

/usr/include/linux/blkpg.h:36: error: parse error before '*' token

delpart.c: In function `main':

delpart.c:11: error: storage size of 'a' isn't known

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

!!! ERROR: sys-apps/util-linux-2.12i-r1 failed.

!!! Function src_compile, Line 104, Exitcode 2

!!! make partx failed

```

licq startet immernoch nicht wieder, obwohl GCC und GlibC neu und stable compiliert wurden. linux-utils lässt sich auch mit O2 nicht kompilieren.

Kann mir irgendjemand noch helfen ?

----------

## langi

Nur so eine Frage, aber hast du das 

```
fix_libtool_files.sh 3.3.x
```

(= alte gcc Version)

einmal drüber laufen lassen, wenn gcc upgedated wurde? Hab zwar im errorcode nix gesehen, was drauf hingedeutet hat, aber nach einer neuen gcc-Version (auch wenns nur von 3.3.4 auf 3.3.5 war) hatte ich auch schon mal Compileabbrüche.

Befürchte zwar, dass es dein Problem nicht lösen wird.

lg,

Langi.

----------

## zworK

mit dem gcc 3.4.3 ließ sich licq bei mir auch nicht kompilieren. Ich hab für licq und openoffice temporär auf den 3.3.5er gewechselt.

siehe : 

```
gcc-config
```

also die Liste bekommst du mit :

```
gcc-config -L
```

Dort den gcc.3.3.5 raussuchen und mit

```
gcc-config x
```

 einstellen. x in diesem Fall durch die Listennummer ersetzen.  :Smile: 

das 

```
ACCEPT_KEYWORDS="x86"
```

ist vollkommen OK !

Solange du nicht explizit ACCEPT_KEYWORDS="~x86" in deine make.conf, vor ein emerge Befehl oder ~x86 in die /etc/portage/package.keywords schreibst werden nur "stable" Pakete genommen.

----------

## brainwashed

Danke für die Tipps, bin grad auf Reisen aber werde es mal probieren wenn ich wieder in Hamburg bin.

Ansonsten muss ich wohl oder übel das System neu aufsetzen ...

----------

## brainwashed

also muss ich jetz 

```
fix_libtool_files.sh 3.3.5
```

laufen lassen ? (neue Compilerversion)

oder 

```
fix_libtool_files.sh 3.2.bla
```

(alte compilerversion) ?

----------

## langi

Hi!

```
fix_libtool_files.sh 3.2.bla
```

(alte gcc)

ist das richtige,

lg,

Langi.

----------

