Sie sind nicht angemeldet.

Anzeigen

**Wir werden in den kommenden Tagen einen Umzug auf einen neuen Server durchführen. Im Rahmen dieser Maßnahme wird das Forum ca. 1 Stunde nicht erreichbar sein.** nslu2-info.de ist ein privates Projekt von mir, welches jeden Monat aus eigener Tasche finanziert wird. Mit einer freiwilligen Spende wird der Erhalt und der weitere Ausbau dieses Forums unterstützt. Um mich beim Erhalt des Forums zu unterstützen, kannst Du entweder via Flattr oder Paypal spenden. Ich bedanke mich schon jetzt bei allen Unterstützern.

Lieber Besucher, herzlich willkommen bei: Die NSLU2 Community****wenns ums speichern und streamen geht****. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

derhexer

Anfänger

  • »derhexer« ist der Autor dieses Themas

Beiträge: 6

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

1

Montag, 5. März 2007, 14:03

Startproblem mit c++

Hallo,

an meinem NSLU2-266 habe ich ein kleines Problem mit c++.

Nachdem ich crosstool-native (0.28-rc37-6) mit ikpg installiert hatte, habe ich ein kleines c++ Programm zum Test der Installation geschrieben.
Die Übersetzung mit g++ ist Fehlerfrei, jedoch kann ich das Resultat nicht starten. Nach einem Startversuch kommt immer die Fehlermeldung, dass die Bibliothek libstdc++.so.5 nicht gefunden wird. Obwohl sie mehrfach auf der "Platte" (sprich Stick) gefunden wird.

Quellcode

1
2
root@storm:/public/test# ./main
./main: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory


Das Progrämmchen hier:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
root@storm:/public/test# cat main.cpp
#include <stdio.h>
class CTest
{
public:
  CTest() { puts ("CTest()\r\n");};
  ~CTest() { puts ("~CTest()\r\n");};
};
main()
{
  CTest test;
  puts("Hello world!\r\n");
  return(0);
}


Habt ihr einen Tip für mich wie ich das in den Griff bekomme?

derhexer

Anzeigen

trapperjohn

Fortgeschrittener

Beiträge: 558

Wohnort: Bremen

Beruf: SW-Entwickler

  • Nachricht senden

2

Montag, 5. März 2007, 16:35

1. "Schönes" C++ benutzt nicht stdio.h und puts sondern iostream und cout ;)
2. Versuch mal die Variable "LD_LIBRARY_PATH" mit dem Pfad zur libstd++ zu exportieren.
Gruß,
Flo

Anzeigen

derhexer

Anfänger

  • »derhexer« ist der Autor dieses Themas

Beiträge: 6

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

3

Montag, 5. März 2007, 16:39

1. Leider bin Windows-versaut und da verwende ich afxDump... puts kenn ich schon gut 20 Jahre und funkt immer ;)... aber ich werd's trotzdem ändern, schöner ist cout allemal. :)
2. Da muss ich voll passen... Wie geht das?

Danke schon mal
derhexer

trapperjohn

Fortgeschrittener

Beiträge: 558

Wohnort: Bremen

Beruf: SW-Entwickler

  • Nachricht senden

4

Montag, 5. März 2007, 17:29

Quellcode

1
export LD_LIBRARY_PATH=/verzeichnis/von/libstdc
Gruß,
Flo

derhexer

Anfänger

  • »derhexer« ist der Autor dieses Themas

Beiträge: 6

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

5

Montag, 5. März 2007, 18:16

Hmmm... wenn Du es so gemeint hast, wie ich es gemacht habe, dann funktioniert es nicht.

Quellcode

1
2
3
4
5
6
7
8
9
root@storm:/# find * -name libstdc++.so.5
opt/lib/libstdc++.so.5
opt/armeb/armv5b-softfloat-linux/lib/libstdc++.so.5
share/flash/data/opt/lib/libstdc++.so.5
share/flash/data/opt/armeb/armv5b-softfloat-linux/lib/libstdc++.so.5
root@storm:/# export LD_LIBRARY_PATH=/opt/lib/libstdc++.so.5
root@storm:/# ./public/test/main
./public/test/main: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
root@storm:/#


Leider hab' ich keine einzige Ahnung, warum das so ist....

trapperjohn

Fortgeschrittener

Beiträge: 558

Wohnort: Bremen

Beruf: SW-Entwickler

  • Nachricht senden

6

Montag, 5. März 2007, 18:23

Ne, ohne die Datei, nur der Pfad. Also

Quellcode

1
export LD_LIBRARY_PATH=/opt/lib
Gruß,
Flo

derhexer

Anfänger

  • »derhexer« ist der Autor dieses Themas

Beiträge: 6

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

7

Montag, 5. März 2007, 18:35

Hmmm... nun kommt folgendes :confused:

Quellcode

1
2
3
4
5
6
root@storm:/# export LD_LIBRARY_PATH=/opt/lib
root@storm:/# ./public/test/main
CTest()
Hello world!
~CTest()
root@storm:/#


:D Funktioniert! Dickstes Danke!!!

Wie bekomme ich diesen Export permanent gesetzt oder ist er es jetzt schon?

trapperjohn

Fortgeschrittener

Beiträge: 558

Wohnort: Bremen

Beruf: SW-Entwickler

  • Nachricht senden

8

Montag, 5. März 2007, 18:46

Nein, der ist nur in deiner aktuellen Shell gesetzt.

Ich bin mir grad nicht sicher, wo/wie das konfiguriert wird. Ein Aufruf von 'ldconfig' als root reicht vermutlich nicht. Versuch mal, das Verzeichnis /opt/lib in die Datei /etc/ld.so.conf (oder wo auch immer die bei unslung liegt ...) einzutragen und dann noch mal 'ldconfig' aufzurufen.
Gruß,
Flo

derhexer

Anfänger

  • »derhexer« ist der Autor dieses Themas

Beiträge: 6

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

9

Montag, 5. März 2007, 20:17

Cool... mein NLSU2 hat sich das gemerkt.
Warmstart oder Kaltstart... egal. Ich kann das ./main immer ohne Probleme starten....

Kann ich irgendwie die "exports" abrufen, die aktiv sind? Dann weiss ich was gesetzt ist....

Nochmal Danke
derhexer

trapperjohn

Fortgeschrittener

Beiträge: 558

Wohnort: Bremen

Beruf: SW-Entwickler

  • Nachricht senden

10

Montag, 5. März 2007, 20:33

Versuchs mal mit

Quellcode

1
env
Gruß,
Flo

derhexer

Anfänger

  • »derhexer« ist der Autor dieses Themas

Beiträge: 6

Firmwareversion / your current Firmware: Unslung 3.18

  • Nachricht senden

11

Dienstag, 6. März 2007, 08:28

Den Eintrag habe ich gefunden, jedoch wurde er vom Betriebssystem selbst dort eingetragen, denn ich war's nicht...

Quellcode

1
2
[/EMAIL][EMAIL='root@storm:/']root@storm:/[/EMAIL][EMAIL='root@storm:/etc']# cat /etc/ld.so.conf
/opt/lib


Nochmals Danke für die flotte und hochwertige Hilfe
derhexer

Social Bookmarks