From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hufnus Subject: Re: Dosemu 1.3.2 and linux 2.6.7 headers Date: Tue, 12 Jul 2005 16:15:22 -0800 Message-ID: <20050712161523.5f58ce04.tonyb@sysdev.org> References: <20050712120721.67306d8a.tonyb@sysdev.org> <20050712124958.00ea4bea.tonyb@sysdev.org> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-msdos-owner@vger.kernel.org List-Id: Content-Type: text/plain; charset="us-ascii" To: linux-msdos@vger.kernel.org Cc: Maciek Stopa On Wed, 13 Jul 2005 11:35:03 +1200 (NZST) Bart Oldeman wrote: > On Tue, 12 Jul 2005, Hufnus wrote: > > > On Tue, 12 Jul 2005 12:07:21 -0800 > > Hufnus wrote: > > > > > Anybody runing 1.3.2 or trying with Linux 2.6 ???? > > > > > > So I tried to compile with Linux 2.6.7 headers, but the make > > > gets some obsolete warnings and then fails with many parse > > > errors in /usr/include/linux/mod_devicetable.h related to > > > symbols like__u32 etc.... > > > > > > Now, if I relink 'ln -sf linux-2.4.31 linux' it still complains > > > about using -malign-????? is obsolete to use -falign-????? but > > > it builds fine. > > > > I know I am using Skackware's default symbolic link > > /usr/include/linux -> /usr/src/linux-2.6.7/include/linux !!! > > This is not its default symbolic link. You must have created it > yourself, manually. > > > My question is what should I do .... > > > I've go a deja vu feeling here, this has been discussed before. > You need to install Slackware's kernel-headers package (it's in the > d series, over here for instance: > ftp://ftp.slackware.com/pub/slackware/slackware-current/slackware/d/kernel-headers-2.4.31-i386-1.tgz > They contain sanitized 2.4.31 headers that were used to compile > glibc, and that is what user space (incl dosemu) sometimes sees > indirectly. > > Just don't mess with /usr/include/linux, unless you really know > what you are doing and are willing to recompile glibc. > > Bart Looking at those kernel headers vs the kernel distribution ones, I guess that should work. Unfortunately I am usually in a higher kernel than Slackware-current is, so always get in trouble. Looking at /usr/include/linux headers, I think there is a bug in . It #includes , at the top and outside of an #ifdef __KERNEL__ which is located further down, where #include is also present. It seems to me that inside the #ifdef __KERNEL__ is where it should be placed. I tested just modifying , rather than having to modify /usr/include/linux/mod_devicetable.h and dosemu's src/emu.c to add the types.h and make it compile correctly and it worked too! Maybe the kernel guys will pick that change up, if it carries no other implications ... TonyB -- __ __ _ I N C. http://www.sysdev.org / __|\\// __|| \ __ __ / tonyb@sysdev.org \__ \ \/\__ \||)|/ O_)\/ / \/ System Tools / Utilities |___/ || ___/|_ /\___|\_/ WIntel / Linux Device Drivers