Re: binńre Aliens unter FreeBSD nutzen

From: Marc Santhoff <M.Santhoff(at)web.de>
Date: Wed, 14 Dec 2011 12:42:24 +0100

Am Dienstag, den 13.12.2011, 18:37 +0100 schrieb Oliver Fromme:
> Marc Santhoff wrote:
> > Oliver Fromme wrote:
> > > - Falls es wenigstens eine Library f├╝r Linux (*.so) gibt:
> > > Diese unter FreeBSD zu verwenden, ist in der Regel
> > > deutlich einfacher als bei einer Windows-DLL. Im Notfall
> > > kann man zumindest die Software als Linux-Binary ent-
> > > wickeln (auch das geht unter FreeBSD, am einfachsten
> > > mit einem linux_dist*-Port) und dann im Linuxulator
> > > laufen lassen.
> >
> > Kannst Du dazu bitte noch etwas ins Detail gehen? Ich habe noch nicht
> > geguckt, aber im Prinzip w├╝rde das doch hei├čen, alle eingebundenen
> > Bibliotheken bereitzustellen und au├čerdem benutze System Calls
> > umzuleiten, ├Ąhnlich, wie der Linuxolator das tut?
>
> In solchen F├Ąllen ist es h├Ąufig das Einfachste und Sauberste,
> ein kleines Linux-Binary als Wrapper zu schreiben. Das Linux-
> Binary bindet die fragliche Library ein und ├╝bersetzt alle
> ben├Âtigten Funktionsaufrufe in eine externe API, die z.B.
> ├╝ber Sockets oder Pipes kommuniziert. Also im Prinzip sowas
> ├Ąhnliches wie RPC.

Ah ja, das ist wirklich ein gangbarer Weg mit relativ begrenztem
Aufwand, sehr gut.

> Dein FreeBSD-Binary, das die eigentliche Arbeit macht, startet
> das Linux-Binary (das dann ganz normal unter dem Linuxulator
> l├Ąuft). Immer, wenn das FreeBSD-Programm einen Funktions-
> aufruf in die Library machen w├╝rde, benutzt es stattdessen
> einen API-Aufruf via Socket oder Pipe (oder was auch immer)
> zum Linux-Wrapper.

Klar.

> > Interessant w├Ąre nat├╝rlich auch die Frage, wie kompliziert eine echte
> > Portierung auf FreeBSD w├Ąre, mit Linux habe ich sonst wenig zu tun.
>
> Du meinst, wenn Du den Source-Code der Library hast?
> Sollte eigentlich nicht schwer sein, sofern die Library die
> libusb f├╝r die USB-Zugriffe verwendet (was ├╝blich ist).
> Die libusb von FreeBSD und Linux sind weitgehend kompatibel.

Ja, so meinte ich das. Und zwei Kandidaten, die ich genauer untersucht
habe,´╗┐ ´╗┐benutzen ´╗┐libusb. W├Ąre auch merkw├╝rdig, wenn nicht, wer w├╝rde
schon das Rad neu erfinden wollen.

> Aber es kommt nat├╝rlich drauf an, was die Library sonst noch
> so macht, und wie schlimm sie mit "Linuxismen" verseucht
> ist. Wenn die Autoren den Code von Anfang an nur f├╝r Linux
> geschrieben haben, haben sie sich vermutlich nicht besonders
> viel M├╝he gegeben, ihn portabel zu machen. Das kommt leider
> h├Ąufig vor; so mancher Port-Maintainer kann ein Lied davon
> singen.

Das kann wohl der Anbieter selbst bewerten, gibt es irgendwo ein Art
Liste dieser Linux-Spezialit├Ąten oder existiert die nur in den K├Âpfen
der Befroffenen? Oder kann man alle Abweichungen von POSIX als Leitlinie
benutzen?

Im Inhaltsverzeichnis des Porters Handbook bin ich nicht f├╝ndig
geworden.

-- 
Marc Santhoff <M.Santhoff(at)web.de>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 14 Dec 2011 - 12:40:39 CET

search this site