# CrossDev C++ Entwicklung für AMD ELAN (i486) mit uClibc

## intux

Hi,

ich möchte ein C++ Programm für die AMD ELAN (i486) Plattform kompilieren. Habe mir mit crossdev eine komplette Toolchain mit uclibc, g++ etc. aufgesetzt und ein lauffähiges Linux mit Busybox, Dropbear erstellt. Soweit so gut...

Das Problem ist, dass ich zwar mit dem i486-gentoo-linux-uclibc-g++ die C++ Anwendung kompilieren kann, jedoch auf dem Zielsystem keine libstdc++.so.6 vorhanden ist. Ich konnte die notwendige(n) libraries:

libstdc++.so.6

libgcc_s.so.1

in /usr/lib/gcc/i486-gentoo-linux-uclibc/4.2.3/ finden. Wenn ich diese auf das Zielsystem kopiere läuft das Programm. Sollte man das so machen, oder gibt es da einen "straighteren" Weg? Wenn ja, wieso existiert dann uClibc++?

----------

## 69719

 *intux wrote:*   

> Hi,
> 
> ich möchte ein C++ Programm für die AMD ELAN (i486) Plattform kompilieren. Habe mir mit crossdev eine komplette Toolchain mit uclibc, g++ etc. aufgesetzt und ein lauffähiges Linux mit Busybox, Dropbear erstellt. Soweit so gut...
> 
> Das Problem ist, dass ich zwar mit dem i486-gentoo-linux-uclibc-g++ die C++ Anwendung kompilieren kann, jedoch auf dem Zielsystem keine libstdc++.so.6 vorhanden ist. Ich konnte die notwendige(n) libraries:
> ...

 

Schon mal versucht statisch zu linken?

 *intux wrote:*   

> 
> 
> Wenn ja, wieso existiert dann uClibc++?
> 
> 

 

http://de.wikipedia.org/wiki/UClibc steht dort ganz gut beschrieben.

----------

## intux

 *Quote:*   

> Schon mal versucht statisch zu linken?

 

Ja per: 

```
i486-gentoo-linux-uclibc-g++ -static -Wall main.c test.cpp -o test
```

-> folgende Fehlermeldung:

```
/usr/lib/gcc/i486-gentoo-linux-uclibc/4.2.3/libgcc_eh.a(unwind-dw2-fde-glibc.o): In function `_Unwind_Find_FDE':

(.text+0x1449): undefined reference to `dl_iterate_phdr'

collect2: ld returned 1 exit status
```

 *Quote:*   

> http://de.wikipedia.org/wiki/UClibc steht dort ganz gut beschrieben.

 

Ich meine: http://cxx.uclibc.org/

Die /usr/lib/gcc/i486-gentoo-linux-uclibc/4.2.3/libstdc++.so.6.0.9 ist 744k groß (stripped) und die uClibc++ ca. 70-100k. Die Unterschiede kann man in den FAQs nachlesen. 

Hat mit der uClibc++ schon jemand Erfahrung - ist die stabil. Genügt ein:

```
cross-emerge --root ... uClibc++
```

für C++ Support?

----------

## paetae

[quote="intux"]Hi,

ich möchte ein C++ Programm für die AMD ELAN (i486) Plattform kompilieren. Habe mir mit [i]crossdev[/i] eine komplette Toolchain mit uclibc, g++ etc. aufgesetzt und ein lauffähiges Linux mit Busybox, Dropbear erstellt. Soweit so gut...

Das Problem ist, dass ich zwar mit dem i486-gentoo-linux-uclibc-g++ die C++ Anwendung kompilieren kann, jedoch auf dem Zielsystem keine libstdc++.so.6 vorhanden ist. Ich konnte die notwendige(n) libraries:

[list] 

[*]libstdc++.so.6

[*]libgcc_s.so.1

[/list]

in [i]/usr/lib/gcc/i486-gentoo-linux-uclibc/4.2.3/[/i] finden. Wenn ich diese auf das Zielsystem kopiere läuft das Programm. Sollte man das so machen, oder gibt es da einen "straighteren" Weg? Wenn ja, wieso existiert dann uClibc++?[/quote]

hi,

hast du die toolchain mit

crossdev -s4 --stable --target i486-gentoo-linux-uclibc

erzeugt??

pete

----------

