kdebase się nie buduje

Jakub Bogusz qboosh w pld-linux.org
Czw, 18 Lis 2004, 21:45:33 CET


On Thu, Nov 18, 2004 at 08:54:29PM +0100, Michal Kochanowicz wrote:
> On Thu, Nov 18, 2004 at 08:11:20PM +0100, havner wrote:
> > Nie uzywaj, nikt nie kaze, masz zawsze *BSD.
> 
> Jedyne co mnie w tej chwili powstrzymuje od zainstalowania BSD to
> niestrawny dla mnie system portów.
> 
> > Tak, kto powiedzial, ze kernel _musi_ miec te same naglowki co
> > wykorzystywane przez userspace?
> 
> Nagłówki opisują interfejs.

Tak.
Nagłówki jądra opisują interfejs wewnątrz jądra - zawierają
definicje funkcji - które można wywoływać z poziomu jądra/modułów i tylko
stamtąd - oraz używane przez nie definicje stałych i struktur.
Interfejs między przestrzenią użytkownika a jądrem jest inny - syscall,
dev, ioctl, procfs, sysfs, selinuxfs etc.
Tylko część stałych i struktur jest ta sama[1].

> Jeśli program z userspace chce gadać z
> kernelem to powinien mieć te same - bo się nie dogada.

Porównaj <linux/i2c.h> z jąder 2.6.x i <linux/i2c-dev.h>
z linux-libc-headers.
W tym pierwszym są deklaracje extern wewnętrznych funkcji jądra - żaden
program userspace się w ten sposób z jądrem nie dogada.
W tym drugim z kolei są wywołania ioctl - dla programów userspace,
całkowicie zbędne dla kodu w jądrze.


[1] docelowo plany są takie, żeby te wspólne definicje wydzielić do
jakichś nagłówków "Linux ABI", wspólnych dla jądra i userspace - które
to z kolei byłyby używane przez resztę nagłówków (już oddzielnych dla
obu przestrzeni) oraz kod.
Ale tego nikt jeszcze nie zrobił od początku istnienia Linuksa.
Na LKML coś mruczeli o zaczęciu przy okazji 2.7.


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/




Więcej informacji o liście dyskusyjnej pld-devel-pl