Sundtek Support Forum

Deutsch => Sundtek MediaTV Pro => Treiber => Thema gestartet von: DarkKnight93 am Mai 19, 2013, 04:24:30 Nachmittag

Titel: Embedded Linux: Can't resolve symbol 'semget'?
Beitrag von: DarkKnight93 am Mai 19, 2013, 04:24:30 Nachmittag
Guten Nachmittag zusammen,

ich erhalte neuerdings an meinem Asus RT-N66U mit Shibby Mod v109 die Meldung beim Start von Mediaclient/Server folgendes:

root@Asus-RT-N66U:/opt/bin# mediasrv -v
2013-05-19 16:11:00 [2007] Starting up Multimedia Framework (Mar 15 2013 23:10:01)
mediasrv: can't resolve symbol 'semget'


Ich bin irritiert, da der Treiber bisher immer gestartet ist, nur seit gestern Abend spinnts.
Habe schon mit Parameter -u den Treiber deinstalliert, reinstalliert... leider nichts.

Titel: Re:Embedded Linux: Can't resolve symbol 'semget'?
Beitrag von: Sundtek am Mai 19, 2013, 04:35:29 Nachmittag
semget ist Teil von SysV IPC, bzw. der libc.

Cannot resolve kann verschiedene Ursachen haben, eventuell wurde dieser Befehl entfernt oder in einer anderen Bibliothek abgelegt, eventuell ist das Image auch defekt. Dieser Befehl wird bereits jahrelang verwendet.

Sollte das ein alternatives Image sein müssten sich die Maintainer des Images darum kümmern diesen Befehl wieder zugänglich zu machen da es ein Grundbefehl von Linux ist, ansonsten ist das System quasi unbrauchbar.

Wird denn ein alternatives Image verwendet?

Sollte der Befehl in einer anderen Bibliothek sein reicht es aus folgenden Befehl auszuführen

cd /opt/bin
LD_PRELOAD=/lib/libc-2.15.so ./mediasrv -v

libc-2.15.so muss durch die Bibliothek ersetzt werden wo sich semget befindet.

(objdump -d libraryname |grep semget) sollte anzeigen ob semget sich auch darin befindet, zur Not reicht aber auch ein grep semget /lib/*.so -c und dann überprüfen welche Library dies nun beinhaltet, grep zeigt dir auch an welche Libraries diese Funktion benutzen (es ist also nicht 100% eindeutig)
Titel: Re:Embedded Linux: Can't resolve symbol 'semget'?
Beitrag von: DarkKnight93 am Mai 19, 2013, 04:52:19 Nachmittag
Vielen Dank für die rasche Antwort.

Hier mein Output:
root@Asus-RT-N66U:/lib# grep semget /lib/*.0 -c
/lib/ld-uClibc.so.0:0
/lib/libc.so.0:0
/lib/libcrypt.so.0:0
/lib/libdl.so.0:0
/lib/libm.so.0:0
/lib/libnsl.so.0:0
/lib/libpthread.so.0:0
/lib/libresolv.so.0:0
/lib/libutil.so.0:0


Das sieht gar nicht gut aus. Shibby hat im letzten TomatoUSB Mod radvd entfernt, aber wohl auch deutlich mehr, denn am Cisco mit v108 habe ich:

/lib/ld-uClibc.so.0:0
/lib/libc.so.0:1
/lib/libcrypt.so.0:0
/lib/libdl.so.0:0
/lib/libm.so.0:0
/lib/libnsl.so.0:0
/lib/libpthread.so.0:0
/lib/libresolv.so.0:0
/lib/librt.so.0:0
/lib/libutil.so.0:0

Okay dann muss ich da defintiv Shibby ärgern.. :-\

Danke nochmals fürs Erklären und die wirklich rasche Hilfe! Schönen Sonntag noch!
Titel: Re:Embedded Linux: Can't resolve symbol 'semget'?
Beitrag von: Sundtek am Mai 19, 2013, 09:22:29 Nachmittag
Das sollte auf jeden Fall wieder in's Image aufgenommen werden. Ohne IPC Unterstützung ist das kein vollwertiges Betriebssystem mehr.