Wie plugin mit libm-Funktionen erstellen ?

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
buribu
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 6. Oktober 2004, 16:52

Wie plugin mit libm-Funktionen erstellen ?

Beitrag von buribu »

Hallo,

ich möchte ein plugin für die DBox2 (neutrino, yadi 2.1.0.7) erstellen, und brauche dazu Funktionen aus der libm (sin, cos ...). Solange ich keine Funktionen aus der Library benutze, funktioniert das ganze bestens (habe ein existierendes Plugin als Vorlage benutzt). Um die libm benutzen zu können, habe ich das makefile um die linkeroption -lm erweitert. Baue ich jedoch einen solchen Funktionsaufruf ein, erhalte ich beim Starten des Plugins folgende Fehlermeldung und das plugin startet nicht:

[CPlugins] (id,val):(end_x,679)
[CPlugins] (id,val):(off_y,26)
[CPlugins] (id,val):(off_x,43)
[CPlugins] (id,val):(video_format,0)
[CPlugins] (id,val):(fd_lcd,21)
[CPlugins] (id,val):(rcblk_rep,250)
[CPlugins] (id,val):(rcblk_anf,0)
[CPlugins] (id,val):(fd_rcinput,18)
[CPlugins] (id,val):(fd_framebuffer,3)
/var/tuxbox/plugins/myplugin.so: symbol cos, version GLIBC_2.0 not defined in file libm.so.6 with link time reference

Kann mir jemand sagen, wie ich in einem plugin auf die Funktionen der libm zugreifen kann ?

Danke

Buribu
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

scheinbar ist die funktion aus deiner libm rausgestrippt worden.
du kannst auch die libm statisch dazulinken, dann sollte es kein Problem geben, oder die libm im Image gegen eine "komplette" austauschen
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Houdini hat geschrieben:scheinbar ist die funktion aus deiner libm rausgestrippt worden.
Beim Imagebauen werden die zu installierte Libraries aus Platzgrunden auf einem Minumum beschnitten (mklibs etc).

Zu Houdinis zwei Vorschläge kommt:

3. Deine eigene Image bauen, und dabei dein Plugin drin integrieten. Dann wird deine benötigte funktionen von libm nicht gelöscht,

evt auch

Sogenanntes "yadd" (rootfilesystem auf NFS-Server) benutzen.
buribu
Neugieriger
Neugieriger
Beiträge: 6
Registriert: Mittwoch 6. Oktober 2004, 16:52

Beitrag von buribu »

Danke für die Infos.

Ich habe inzwischen eigene sin-/cos-/sqrt-Funktionen erstellt (google sei dank), die ihren Zweck erfüllen.