Re: bcc dpmi ver1.2.0

Bart Oldeman
2004-06-13T19:11:30Z

On Sat, 12 Jun 2004, R.L. Horn wrote:

> On Sat, 12 Jun 2004, Stas Sergeev wrote:
>
> > You have to upgrade your dosemu from CVS (to version 1.3.1) to get it
> > working. And it will work reliably only with 2.4 kernels or with the
> > latest 2.6.7-pre kernels because earlier 2.6 kernels have bugs in that
> > area.
>
> Will CVS dosemu build against the 2.6 kernel headers? I had to use 2.4
> headers for version 1.2.1 since matrox.c includes <sys/pci.h>, which in
> turn includes <linux/pci.h>, which, I suppose, is one of those headers
> we're not supposed to use anymore... :-(

sys/pci.h should be fine and non-controversial though.
In a way /usr/include/linux/pci.h isn't a true kernel header but a
sanitized copy for internal use by glibc (it used to be symlinked to the
kernel source but that was during libc5 times (before 1999)). A very messy
situation indeed.

The problem is that this sanitized copy wasn't clean enough. You need to
remove the #include <linux/mod_devicetable.h> from /usr/include/linux/pci.h.
This is at least the solution from Debian when I contacted them about the
problem (they fixed it last December, and that's why i didn't bother
about a workaround). I don't know about other distro's but Fedora doesn't
seem to have problems with pci.h, and most other ones include dosemu so
that should work too.

Bart