Seite 1 von 2

[Coolstream] Linker Error mit Seife BS

Verfasst: Samstag 4. August 2012, 09:02
von bellum
Hallo zusammen,

ich habe vor kurzem Seifes Buildsystem an den aktuellen (Zwischen)-Stand des Coolstream svn/git angepasst.
Bis gestern Abend lief alles soweit gut aber nun bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

make[4]: Entering directory `/home/bellum/coolstream/cs-neutrino_new/build_tmp/neutrino-hd/src'
  CXXLD  neutrino
/home/bellum/coolstream/cs-neutrino_new/root/lib/libcoolstream-mt.so: undefined reference to `std::__detail::_List_node_base::_M_unhook()@GLIBCXX_3.4.15'
/home/bellum/coolstream/cs-neutrino_new/root/lib/libcoolstream-mt.so: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
collect2: ld returned 1 exit status
make[4]: *** [neutrino] Error 1
make[4]: Leaving directory `/home/bellum/coolstream/cs-neutrino_new/build_tmp/neutrino-hd/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/bellum/coolstream/cs-neutrino_new/build_tmp/neutrino-hd/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/bellum/coolstream/cs-neutrino_new/build_tmp/neutrino-hd'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/bellum/coolstream/cs-neutrino_new/build_tmp/neutrino-hd'
make: *** [neutrino-pkg] Error 2
Ich kann mit der Fehlermeldung leider nichts anfangen, vermute aber, dass es mit der neuen libcoolstream-mt.so zusammenhängt die gestern Mittag (für Multirec) hinzugefügt wurde und die ich auch benutzt habe.

Kann mir jemand helfen, dass es wieder durchbaut?

Danke und Gruß
bellum

Ubrigens, den Patch für die Anpassung des BS habe ich mal angehängt, vielleicht findet den jemand hilfreich...

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Samstag 4. August 2012, 11:20
von Striper
Vermutlich ist die gcc Version deiner Toolchain zu alt. Kannst es recht einfach prüfen indem du in cross/arm-cx2450x-linux-gnueabi/lib/ folgenden Befehl ausführst:

Code: Alles auswählen

strings libstdc++.so.6 | grep GLIBC
Wenn die angemeckerte Versionsnummer nicht dabei ist, dann musst du deine Toolchain erneuern.

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Samstag 4. August 2012, 14:11
von bellum
Striper hat geschrieben:Vermutlich ist die gcc Version deiner Toolchain zu alt. Kannst es recht einfach prüfen indem du in cross/arm-cx2450x-linux-gnueabi/lib/ folgenden Befehl ausführst:

Code: Alles auswählen

strings libstdc++.so.6 | grep GLIBC
Wenn die angemeckerte Versionsnummer nicht dabei ist, dann musst du deine Toolchain erneuern.
So etwas habe ich ja fast befürchtet... :(

Code: Alles auswählen

bellum@vmsqueeze:~/coolstream/cs-neutrino_new/cross/arm-cx2450x-linux-gnueabi/lib$ strings libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBC_2.4
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
GLIBCXX_3.4.15' ist also nicht dabei.
Wie erneuert man denn die Toolchain, davon habe ich leider keine Ahnung.
Die Toolchain habe ich bisher mit make crosstool-new gebaut...

Gruß bellum

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Sonntag 5. August 2012, 10:42
von dbt
Hast du das inzwischen gelöst?

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Sonntag 5. August 2012, 14:00
von doc
Das dürfte sich in der CT-NG Config verstecken, aber so lange da bei CST so ein riesen Vodoo darum gemacht wird wird man sich selber dadurch kämpfen müssen (sofern man das will :wink: )
Ist ja scheinbar so schwer mal offen zu legen wie man da überhaupt baut. Siehe diverse Diskussionen um fehlende Header, scheinbar falsche Libs, ...

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Sonntag 5. August 2012, 15:35
von dbt
Wäre aber blöd, wenn man das nicht hinbekommen würde. Es geht ja im Prinzip erst mal nur um's Toolchain bauen. Dank Micha gibts zumindest einen Ansatz...
Edit: Sollte jetzt bauen:
add_target_crosstool_for_arm_1.15.2.zip

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Sonntag 5. August 2012, 17:46
von bazi98
In der CST-Mailingliste wurde vor einiger Zeit (08.06.12) die folgende CT-NG Config für das crosstool-ng-1.15.0 von CST (Focus) veröffentlicht.

ps.: Endung "diff" entfernen die ist nur wg. der Boardsoft dran.

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Montag 6. August 2012, 08:36
von dbt
Danke, die Datei hatte ich auch noch rumliegen. Der Patch ist übrigens aktualisiert, damit sollte es jetzt bauen.
http://www.tuxbox-cvs.sourceforge.net/f ... 91#p383991

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Montag 6. August 2012, 14:10
von seife
Man könnte auch mal nachfragen ob sie es aus Dummheit oder aus Ignoranz inkompatibel zu alten libstdc++ gemacht haben (normalerweise gibt es da keinen Grund für und wenn doch, dann ändert man den SONAME der lib, aber dazu müsste man ja erst mal library-versioning drin haben...)

Ich will jedenfalls nicht das Buildsystem für jeden Hirnfurz der "Librarybauer" ummodeln und schon gar nicht alle paar tage die erprobte Toolchain durch eine neue ersetzen und alles damit neu bauen. Da lasse ich lieber sowieso eher nicht supportete Plattformen ganz rausfallen.

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Montag 6. August 2012, 15:27
von dbt
Es ist ja nicht nur das. Bellum hatte ja weiter oben schon Anpassungen wegen der GIT-Umstellungen gepostet. Selbst da ist man ja bei CST nicht mal fertig, zumindest gabs keine offizielle Abschlußerklärung, damit es sich echt lohnen könnte, das BS anzupassen. Man weis nicht was und vorallem wie noch etwas kommt, denn da ist noch lange nicht alles ins GIT geschaufelt worden. Hinterherrennen ist halt auf Dauer etwas nervend, wenn man seine Geräte am Laufen haben will.

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Montag 6. August 2012, 15:51
von bellum
seife hat geschrieben:Ich will jedenfalls nicht das Buildsystem für jeden Hirnfurz der "Librarybauer" ummodeln und schon gar nicht alle paar tage die erprobte Toolchain durch eine neue ersetzen und alles damit neu bauen. Da lasse ich lieber sowieso eher nicht supportete Plattformen ganz rausfallen.
So wie das im Moment bei mir aussieht muss man da ja gar nicht soviel umbauen.
Ich versuche mich gerade daran Dein crosstool-ng 1.15.2 welches Du ja für Mips nutzt mit der auf dem CST-Mailing-Liste geposteten Config zu bauen.
Sieht im Moment ganz vielversprechend aus. Nur dauert ein Build-Lauf bei mir 210min und auch sonst ist meine Zeit im Moment eher begrenzt.
Falls das durchbaut und ich auch auf der Box ein Bild sehe, würdest Du Dir das dann mal anschauen ob alles passt bzw. sinnvoll ist.
Denn letztendlich verstehe ich das ganze nur zu 50% und habe den rest versucht logisch zu kombinieren...

Gruß bellum

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Montag 6. August 2012, 19:37
von D_B
Hallo und erstmal Danke.

Jetzt hänge ich bei make crosstool-115 hier :

Code: Alles auswählen

In file included from nconf.c:12:
nconf.h:19:26: error: ncurses/menu.h: Datei oder Verzeichnis nicht gefunden
nconf.h:20:27: error: ncurses/panel.h: Datei oder Verzeichnis nicht gefunden
nconf.h:21:26: error: ncurses/form.h: Datei oder Verzeichnis nicht gefunden
nconf.c:275: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
nconf.c:276: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
nconf.c: In function ‘clean_items’:
nconf.c:489: error: ‘curses_menu_items’ undeclared (first use in this function)
nconf.c:489: error: (Each undeclared identifier is reported only once
nconf.c:489: error: for each function it appears in.)
nconf.c: In function ‘get_mext_match’:
nconf.c:502: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c: In function ‘item_make’:
nconf.c:553: error: ‘curses_menu_items’ undeclared (first use in this function)
nconf.c: In function ‘item_add_str’:
nconf.c:587: error: ‘curses_menu_items’ undeclared (first use in this function)
nconf.c: In function ‘item_tag’:
nconf.c:598: error: ‘ITEM’ undeclared (first use in this function)
nconf.c:598: error: ‘cur’ undeclared (first use in this function)
nconf.c:601: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c: In function ‘curses_item_index’:
nconf.c:610: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c: In function ‘item_data’:
nconf.c:615: error: ‘ITEM’ undeclared (first use in this function)
nconf.c:615: error: ‘cur’ undeclared (first use in this function)
nconf.c:618: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c: In function ‘reset_menu’:
nconf.c:920: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c: In function ‘center_item’:
nconf.c:930: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c:940: error: ‘curses_menu_items’ undeclared (first use in this function)
nconf.c: In function ‘show_menu’:
nconf.c:967: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c:967: error: ‘curses_menu_items’ undeclared (first use in this function)
nconf.c: In function ‘conf’:
nconf.c:1090: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c:1112: error: ‘REQ_DOWN_ITEM’ undeclared (first use in this function)
nconf.c:1115: error: ‘REQ_UP_ITEM’ undeclared (first use in this function)
nconf.c:1118: error: ‘REQ_SCR_DPAGE’ undeclared (first use in this function)
nconf.c:1121: error: ‘REQ_SCR_UPAGE’ undeclared (first use in this function)
nconf.c:1124: error: ‘REQ_FIRST_ITEM’ undeclared (first use in this function)
nconf.c:1127: error: ‘REQ_LAST_ITEM’ undeclared (first use in this function)
nconf.c: In function ‘conf_choice’:
nconf.c:1277: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c:1308: error: ‘REQ_DOWN_ITEM’ undeclared (first use in this function)
nconf.c:1311: error: ‘REQ_UP_ITEM’ undeclared (first use in this function)
nconf.c:1314: error: ‘REQ_SCR_DPAGE’ undeclared (first use in this function)
nconf.c:1317: error: ‘REQ_SCR_UPAGE’ undeclared (first use in this function)
nconf.c:1320: error: ‘REQ_FIRST_ITEM’ undeclared (first use in this function)
nconf.c:1323: error: ‘REQ_LAST_ITEM’ undeclared (first use in this function)
nconf.c: In function ‘main’:
nconf.c:1524: error: ‘curses_menu’ undeclared (first use in this function)
nconf.c:1524: error: ‘curses_menu_items’ undeclared (first use in this function)
nconf.c:1525: error: ‘O_SHOWDESC’ undeclared (first use in this function)
nconf.c:1526: error: ‘O_SHOWMATCH’ undeclared (first use in this function)
nconf.c:1527: error: ‘O_ONEVALUE’ undeclared (first use in this function)
nconf.c:1528: error: ‘O_NONCYCLIC’ undeclared (first use in this function)
nconf.c:1529: error: ‘O_IGNORECASE’ undeclared (first use in this function)
make[3]: *** [nconf.o] Fehler 1
make[2]: *** [build-lib-kconfig] Fehler 2
make[1]: *** [build] Fehler 2
Jemand eine Idee ?

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Montag 6. August 2012, 21:20
von dbt

Code: Alles auswählen

nconf.h:19:26: error: ncurses/menu.h: Datei oder Verzeichnis nicht gefunden
nconf.h:20:27: error: ncurses/panel.h: Datei oder Verzeichnis nicht gefunden
nconf.h:21:26: error: ncurses/form.h: Datei oder Verzeichnis nicht gefunden
Kann sein, dass bei Dir das anderswo liegt. Genau dafür ist ein Patch drin, der das verursachen könnte.
Kommentiere mal im Target crosstool-115 diese Zeile aus oder schau mal wo die includes liegen.

Code: Alles auswählen

$(PATCH)/crosstool-ng-1.15.2-fix-ncurses-include.diff && \
Ist wohl wieder mal Distri abhängig. :x

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Montag 6. August 2012, 21:25
von bellum
dbt hat geschrieben:

Code: Alles auswählen

nconf.h:19:26: error: ncurses/menu.h: Datei oder Verzeichnis nicht gefunden
nconf.h:20:27: error: ncurses/panel.h: Datei oder Verzeichnis nicht gefunden
nconf.h:21:26: error: ncurses/form.h: Datei oder Verzeichnis nicht gefunden
Kann sein, dass bei Dir das anderswo liegt. Genau dafür ist ein Patch drin, der das dann bei Dir verursacht.
Kommentiere mal im Target crosstool-115 diese Zeile aus

Code: Alles auswählen

$(PATCH)/crosstool-ng-1.15.2-fix-ncurses-include.diff && \
Ist wohl wieder mal Distri abhängig. :x
Dann ist das wohl der Grund warum Seife in seinem Mips crosstool-ng-1.15.2 Target folgendes drin hat:

Code: Alles auswählen

$(PATCH)/crosstool-ng-1.15.2-don_t-build-nconf.diff;
Das ist dann wohl auch für die Coolstream-Platform relevant - wieder ein kleines Mosaiksteinchen...
Im Moment scheitere ich daran, dass ich in meiner Umgebung immer wieder einige Pakete nachinstallieren muss und dann wieder mehrere Stunden aufs Bauen warten muss :x
crosstool-ng-1.15.2 hat wohl einige andere Voraussetzungen als crosstool-ng-1.10.0

Gruß bellum

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Montag 6. August 2012, 22:59
von micha-bbg
D_B hat geschrieben:

Code: Alles auswählen

nconf.h:19:26: error: ncurses/menu.h: Datei oder Verzeichnis nicht gefunden
nconf.h:20:27: error: ncurses/panel.h: Datei oder Verzeichnis nicht gefunden
nconf.h:21:26: error: ncurses/form.h: Datei oder Verzeichnis nicht gefunden
Jemand eine Idee ?
Hallo,

schau doch mal, wo die ncurses Header bei dir im System liegen. Bei mir (SUSE 11.3) liegen sie unter /usr/include/ncurses/...
Bzw. sind die Headerfiles überhaupt installiert?

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Dienstag 7. August 2012, 10:03
von MPC823
Wie wäre den wenn man das leidige Problem so lösst wie auf der Spark Platform ? Dort gibt es einen fertigen Crosscompiler der runtergeladen wird und entpackt wird. Fertig.

Dann ist mann zwar gebunden an die Platform auf der man bauen will aber der gemeine User der nicht der toolchainfreak ist hat ein Problem weniger und die toolchainfreaks haben ja mit den erstellen der toolchain kein wirkliches Problem.

Martin

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Dienstag 7. August 2012, 13:25
von doc
Klar, kann man machen. Und der Crosscompiler ist quasi immer passend für Plattform. :wink: Anders funktioniert es auch einfach nicht.
Aber das ist nicht das Problem, das Problem ist das es einfach nicht transparent ist wie man den Crosscompiler bauen muss. Wenn diese Infos prägnant und übersichtlich von CST veröffentlicht werden würden wäre es auch kein riesiges Problem ein BS aktuell zu halten.
Bei CST kommt aber erschwerend hinzu das es neben dem Crosscompiler noch mehr Voodo gibt, eben die ominöse libcoolstream-xx und die dazu gehörenden Header. Hier hat CST ebenfalls kein System diese zu offerieren.
Da man mit Git genauso weitermacht wie mit SVN und auf die Möglichkeiten und Vorzüge von Git komplett verzichtet wird es, auch wenn man es will, schwierig ein BS Up2Date zu halten.

Und mal ehrlich, warum soll da jemand Energie reinstecken wenn es eigentlich sowieso nichts bringt. Die so oft angekündigte Doku der API wird wohl nie mehr erscheinen. Die Arbeitsweise im Git lädt mich in keinster Weise ein daran mit zu arbeiten, dann kann ich mir auch die Arbeit an einer Toolchain sparen.

@D_B
Die libncurese-dev sind installiert?
Im Wiki stehen die Builddependencies für Debian und Suse Systeme, mal dabei geschaut?

@bellum
CT_PARALLEL_JOBS entsprechend gesetzt? Mit einem Core dauert das natürlich dann natürlich relativ lange.
In seifes BS wird hier automatisch die maximal mögliche Größe gesetzt.

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Dienstag 7. August 2012, 13:46
von MPC823
Doc ich seh das änlich aber genau wie du es sagts :
Und mal ehrlich, warum soll da jemand Energie reinstecken wenn es eigentlich sowieso nichts bringt
da ist es doch am einfachsten der der so ding gebaut bekommt packt es kurz zusammen und fertig. Kann man wenigstens ein bischen was machen .

Nur weil die nicht entquarken müssen wir für uns ja nicht genauso sein . Und für plugins wirds wohl reichen.

Martin

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Dienstag 7. August 2012, 18:31
von D_B
Kommentiere mal im Target crosstool-115 diese Zeile aus

Code: Alles auswählen

$(PATCH)/crosstool-ng-1.15.2-fix-ncurses-include.diff && \
Aha, dass hat schon mal geholfen Danke !!

Dann bleibt es bei einem Download hängen :dagegen: hilft manuelles download ----> http://bugseng.com/products/ppl/downloa ... 1.2.tar.gz

Jetzt läuft es ....... ich hoffe auch durch. Warten wir mal ab.

Besten Dank an alle die helfen wollten :dafuer: und geholfen haben !

edit on: baut immer noch .... lege mich mal vor den TV und berichte dann morgen Abend ob es geklappt hat .....

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Dienstag 7. August 2012, 18:45
von doc
MPC823 hat geschrieben:Doc ich seh das änlich aber genau wie du es sagts :
Und mal ehrlich, warum soll da jemand Energie reinstecken wenn es eigentlich sowieso nichts bringt
da ist es doch am einfachsten der der so ding gebaut bekommt packt es kurz zusammen und fertig. Kann man wenigstens ein bischen was machen .

Nur weil die nicht entquarken müssen wir für uns ja nicht genauso sein . Und für plugins wirds wohl reichen.
Kommt doch aber für uns auf selbe hinaus, $irgendwer müsste es machen. :wink: Wenn wäre dies Aufgabe von CST, schließlich wäre dies ja auch in Ihrem Interesse. Aber für so schlau halte ich die Firma nicht. :wink:
Warum sollte ich die dann also noch unterstützen. Die Software auf meiner HD1 ist vom März oder so. :D
Aber das kennen wir doch alles schon von einer anderen Firma (die es ja inzwischen nicht mehr gibt).

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Mittwoch 8. August 2012, 13:31
von bellum
doc hat geschrieben:@bellum
CT_PARALLEL_JOBS entsprechend gesetzt? Mit einem Core dauert das natürlich dann natürlich relativ lange.
In seifes BS wird hier automatisch die maximal mögliche Größe gesetzt.
Wenn man nur einen phys. Core hat, dann geht halt nicht mehr... :wink:
Im Moment sieht das immer noch vielversprechend aus.
Ich bin gerade beim finalen Durchlauf und muss noch final testen, aber ich hoffe, dass ich demnächst einen entspr. Patch posten kann.

Gruß bellum

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Mittwoch 8. August 2012, 18:23
von doc
Puuh, sowas gibt es heute noch? :wink:
Erinnert mich an Zeiten wo man 2.6er Kernel auf einem P4 mit 1GB RAM gebaut hat ... um dann nach einer Stunde festzustellen das es bricht.
Aber viel Erfolg! 8)

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Mittwoch 8. August 2012, 18:42
von D_B
D_B hat geschrieben:
Kommentiere mal im Target crosstool-115 diese Zeile aus

Code: Alles auswählen

$(PATCH)/crosstool-ng-1.15.2-fix-ncurses-include.diff && \
Aha, dass hat schon mal geholfen Danke !!

Dann bleibt es bei einem Download hängen :dagegen: hilft manuelles download ----> http://bugseng.com/products/ppl/downloa ... 1.2.tar.gz

Jetzt läuft es ....... ich hoffe auch durch. Warten wir mal ab.

Besten Dank an alle die helfen wollten :dafuer: und geholfen haben !

edit on: baut immer noch .... lege mich mal vor den TV und berichte dann morgen Abend ob es geklappt hat .....
Nochmal vielen lieben Dank. Und ja es ist durchgelaufen :up:
Jetzt baue ich mir mal ein neues Image .....

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Mittwoch 8. August 2012, 19:01
von dbt
D_B hat geschrieben: Nochmal vielen lieben Dank. Und ja es ist durchgelaufen :up:
Gern geschehen, aber eine optimale Lösung ist es deswegen nicht wirklich. :-? Welche Distri hast Du denn am Laufen?
Davon abgesehen, wie lange dauerts denn, bis bei CST wieder irgendwas geändert wird, dann muss man wieder nachziehen. Ich habe zumindest für den cst-driver-git jetzt einen eigenen Branch drin, um das Versionspokern zumindest lokal mit den cs-drivers und cs-libs etwas zu entschärfen. Da braucht man nur den jeweiligen Tag oder Branch zu nehmen oder falls nicht vorhanden diese lokal anlegen. Die pkg-Pakete hauts dann automatisch raus, ohne am BS, etwas ändern zu müssen

Re: [Coolstream] Linker Error mit Seife BS

Verfasst: Mittwoch 8. August 2012, 20:23
von D_B
dbt hat geschrieben:
Welche Distri hast Du denn am Laufen?
Ubuntu 10.04
dbt hat geschrieben:
Gern geschehen, aber eine optimale Lösung ist es deswegen nicht wirklich.
Für mich reicht es erstmal :wink: