Re: Dosemu 1.3.2 and linux 2.6.7 headers
Stas Sergeev wrote: The kernel header package that originally came with the version of Slackware I was using would always solve the problems for me. That's true and that's the 2.4 headers, but can you comment on this wrt compiling dosemu: ftp://ftp.slackware.com/pub/slackware/slackware-current/testing/packages/linux-2.6.11.11/kernel-headers-2.6.11.11-i386-1.tgz I haven't tried it with this exact version, but I have used other 2.6 versions from the testing directory of slackware-current. These headers probably will give problems and that is the single package that should not be installed when updating to a new kernel. Just ignoring that package and installing the rest, should allow everything to work without problems. If you do install that package, it probably won't be possible to compile Dosemu correctly. Julius - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
On Wed, 13 Jul 2005, Stas Sergeev wrote: Maybe add the proper headers to the dosemu source tree as we did before? The question is which headers? Many headers include some linux/*.h file but it seems that only sys/pci.h is problematic. It's easy to get rid of that #include by simply putting some extra #define's in our src/include/pci.h. But then is it just sys/pci.h? I mean sys/pci.h is undocumented as far as I can see (neither info libc nor man pages seem to mention it), but the same is true for sys/soundcard.h, sys/vt.h, sys/kd.h and perhaps some others. All goes to show that grepping headers isn't a good way to obtain documentation... The LSB contains a really clean header system. But that's *too* clean for dosemu, as things like vm86 and *mntent functions are missing, Bart - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
Hello. Bart Oldeman wrote: Maybe add the proper headers to the dosemu source tree as we did before? The question is which headers? I think some of them can be located if you symlink the kernel headers and try to compile. Of course it is not guaranteed to be all of them, but better than nothing. The thing is that the source tree of dosemu already contains a lot of the problematic headers (you added most of them anyway:). We can either keep adding to it, or remove it entirely. Right now it is there, yet it doesn't contain the sufficient amount of headers to get the thing compiled on 2.6, so basically it is useless. I still have the hopes it can be entirely removed but... not today:) (i.e. we really have to check about the slackware, I guess) - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
Hello. Hufnus wrote: After some googling I think I finally found the correct linux-libc-headers (as they are now called). http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ http://ep09.pld-linux.org/%7Emmazur/linux-libc-headers/ Yes, that's the correct headers, but unfortunately it doesn't save the world. This project was rather ambitious, but I am not sure it have achieved all of its goals. The intention was, AFAIK, to merge the headers back to the kernel tree so that the kernel folks to maintain it - failed. The other intention was to convince the distributors to include it - I think this hasn't happened too. Now you are really supposed to use the headers with which your glibc was compiled! And even though the headers you've found are the correct ones, your glibc was not compiled with those:( So the original suggestion still stays - using the slackware package of the 2.4 headers will work the best:( Note that compiling your software with 2.4 headers doesn't mean that you have to use the 2.4 kernel too. It actually means nothing. You won't loose any feature. Choosing the proper headers, even if they are very old, will never make your software any harm. just now that they have an alternate 2.6 kernel in the distribution and note that it is an alternate! kernel is the one thing, glibc-kernheaders is another. One have to understand that the glibc-kernheaders are not the same as those that come with the kernel. And now slackware have the 2.6 set of the glibc-kernheaders (or whatever they call it). No matter what kernel you use, the software (like dosemu) must compile with that headers (if glibc was compiled with them, at least). To the best of my knowledge, this is not the case with the slackware. The problem with pci.h, according to what I've heard, is there in their sanitized set of 2.6 headers, which is not good AFAICT. If you can verify this - would be nice. now I am going to switch to the libc headers or sanitized kernel headers, since they seem robust enough and I am now aware of them... Not so fast - you need the headers your glibc was compiled with - thats the problem. - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
Stas Sergeev wrote: those:( So the original suggestion still stays - using the slackware package of the 2.4 headers will work the best:( Yes. I think the thing is (I've also had this myself), that when updating a kernel on Slackware, many people just download all the tgz files from the directory with the new kernel and install them all. The problem with this is that the headers package is put in the same directory as the others and people also get the new headers that way. Making sure that you do not get the new header package instead of doing just *.tgz when downloading and installing lets Dosemu compile run without any problems. The kernel header package that originally came with the version of Slackware I was using would always solve the problems for me. Julius - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
Hello. Julius Schwartzenberg wrote: The kernel header package that originally came with the version of Slackware I was using would always solve the problems for me. That's true and that's the 2.4 headers, but can you comment on this wrt compiling dosemu: ftp://ftp.slackware.com/pub/slackware/slackware-current/testing/packages/linux-2.6.11.11/kernel-headers-2.6.11.11-i386-1.tgz - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
Hufnus wrote: Anybody runing 1.3.2 or trying with Linux 2.6 I can compile 1.3.2 with gcc 3.3.4 and Linux 2.4 headers, and run it on Linux 2.6.7, but it has some keyboard press problems. The same dosemu.bin works fine with our apps in 2.4.31, though! 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 run it on 2.6.12 from kernel.org, just linked ln -s /usr/src/linux-2.6.12 /usr/src/linux I had similar problems when compiling with different headers than running kernel, and also enabling additional optimizations to gcc also gave compilation errors, so i used pure 1.3.2 without my modifications and 2.6.12 form kernel.org and it works for me. oh sorry i forgot, i had to insert #include linux/types.h in some places... but i don't remember where, also # diff /usr/src/linux/include/linux/mod_devicetable.h /usr/src/linux/include/linux/mod_devicetable.h_bak 10,12d9 #include linux/types.h //#ifdef __KERNEL__ 13a11,13 #ifdef __KERNEL__ #include linux/types.h 15c15 //#endif --- #endif simply hashed the __KERNEL__ variable and always included linux/types.h there i dont really remember what was the real problem, but first try to modify the mod_devicetable.h Maciek Stopa - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
On Tue, 12 Jul 2005 12:07:21 -0800 Hufnus [EMAIL PROTECTED] 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 !!! My question is what should I do Delete the link? Copy that directory over to /usr/include/linux? or what??? Thanks TonyB -- __ __ _ I N C. http://www.sysdev.org / __|\\// __|| \ __ __ / [EMAIL PROTECTED] \__ \ \/\__ \||)|/ O_)\/ /\/ System Tools / Utilities |___/ || ___/|_ /\___|\_/WIntel / Linux Device Drivers - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
Hufnus wrote: On Tue, 12 Jul 2005 12:07:21 -0800 Hufnus [EMAIL PROTECTED] 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 !!! My question is what should I do Delete the link? Copy that directory over to /usr/include/linux? or what??? leave the link, and try to comment those lines in /usr/include/linux/mod_devicetable.h or simply add #include linux/types.h there, because compiler doesn't recognize data types. -- __ __ _ I N C. http://www.sysdev.org / __|\\// __|| \ __ __ / [EMAIL PROTECTED] \__ \ \/\__ \||)|/ O_)\/ /\/ System Tools / Utilities |___/ || ___/|_ /\___|\_/WIntel / Linux Device Drivers - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html -- EVIL is just LIVE spelled backwards - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
On Tue, 12 Jul 2005 22:58:32 +0200 Maciek Stopa [EMAIL PROTECTED] wrote: Hufnus wrote: On Tue, 12 Jul 2005 12:07:21 -0800 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 leave the link, and try to comment those lines in /usr/include/linux/mod_devicetable.h or simply add #include linux/types.h there, because compiler doesn't recognize data types. Let me play with adding linux/types.h tonight and see if build finishes. I am running 2.6.12.2 also, except I am building for an embedded system running 2.6.7 Thanks for the pointer TonyB -- __ __ _ I N C. http://www.sysdev.org / __|\\// __|| \ __ __ / [EMAIL PROTECTED] \__ \ \/\__ \||)|/ O_)\/ /\/ System Tools / Utilities |___/ || ___/|_ /\___|\_/WIntel / Linux Device Drivers - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
On Tue, 12 Jul 2005, Hufnus wrote: On Tue, 12 Jul 2005 12:07:21 -0800 Hufnus [EMAIL PROTECTED] 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 Delete the link? yes! Copy that directory over to /usr/include/linux? no! or what??? 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 - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
Bart Oldeman wrote: This is not its default symbolic link. You must have created it yourself, manually. I had a problem with compiling Dosemu on Slackware also at some point. That symlink turned out to be the problem. I believe Stas Sergeev pointed me at it. It hadn't created the symlink myself either, so it seems there are instances where that link is somehow created automaticly on Slackware. Removing the symlink and installing the proper version of the kernel headers that came with the version fixes all the problems. Julius - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
On Wed, 13 Jul 2005 11:35:03 +1200 (NZST) Bart Oldeman [EMAIL PROTECTED] wrote: On Tue, 12 Jul 2005, Hufnus wrote: On Tue, 12 Jul 2005 12:07:21 -0800 Hufnus [EMAIL PROTECTED] 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 linux/pci.h. It #includes linux/mod_devicetable.h, at the top and outside of an #ifdef __KERNEL__ which is located further down, where #include linux/types.h is also present. It seems to me that inside the #ifdef __KERNEL__ is where it should be placed. I tested just modifying linux pci.h, 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 / __|\\// __|| \ __ __ / [EMAIL PROTECTED] \__ \ \/\__ \||)|/ O_)\/ /\/ System Tools / Utilities |___/ || ___/|_ /\___|\_/WIntel / Linux Device Drivers - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
On Tue, 12 Jul 2005, Hufnus wrote: 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. Yes, but the deal is: that should not matter! In Slackware you should install kernel-headers-2.4.31 no matter what (independent of!) the kernel you happen to be running at any time, whether 2.2.22, 2.4.31, 2.4.32, 2.6.7 or 2.6.12. At least as long as you don't recompile glibc. Looking at /usr/include/linux headers, I think there is a bug in linux/pci.h. It #includes linux/mod_devicetable.h, at the top and outside of an #ifdef __KERNEL__ which is located further down, where #include linux/types.h is also present. It seems to me that inside the #ifdef __KERNEL__ is where it should be placed. No, those are not the /usr/include/linux headers, the ones you are talking about are those in include/linux in the kernel source code. Maybe the kernel guys will pick that change up, if it carries no other implications ... they won't, as they know that include/linux headers are broken beyond repair for user space inclusion. see here: http://lkml.org/lkml/2005/5/3/173 Bart - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
Bart Oldeman wrote: This is not its default symbolic link. You must have created it yourself, manually. Hi Bart, actually I've seen such a problem with Slackware in many different places, so I am starting to beleive it really uses a symlink. I remember Patrick Volkerding claimed in that very list that Slackware doesn't do this, but it looks like it was changed, or at least there is some bug... If some distro really does this, then rooting out this tendency among users is going to be really troublesome:( And some people claim that even installing the 2.6 headers from the slackware package still gives an error! And only that the 2.4 headers work properly. Maybe add the proper headers to the dosemu source tree as we did before? We can convince people to use the proper headers by answering the same question over and over again, but we really can't change the distribution. - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
On Wed, 13 Jul 2005 13:44:33 +1200 (NZST) Bart Oldeman [EMAIL PROTECTED] wrote: No, those are not the /usr/include/linux headers, the ones you are talking about are those in include/linux in the kernel source code. Maybe the kernel guys will pick that change up, if it carries no other implications ... they won't, as they know that include/linux headers are broken beyond repair for user space inclusion. Thanks, I found the latest official linux-libc-headers at: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ TonyB -- __ __ _ I N C. http://www.sysdev.org / __|\\// __|| \ __ __ / [EMAIL PROTECTED] \__ \ \/\__ \||)|/ O_)\/ /\/ System Tools / Utilities |___/ || ___/|_ /\___|\_/WIntel / Linux Device Drivers - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Dosemu 1.3.2 and linux 2.6.7 headers
On Wed, 13 Jul 2005 07:47:43 +0400 Stas Sergeev [EMAIL PROTECTED] wrote: to beleive it really uses a symlink. I remember Patrick Volkerding claimed in that very list that Slackware doesn't do this, but it looks like it was changed, or at least there is some bug... If some distro really does this, then rooting out this tendency among users is going to be really troublesome:( And some people claim that even installing the 2.6 headers from the slackware package still gives an error! And only that the 2.4 headers work properly. After some googling I think I finally found the correct linux-libc-headers (as they are now called). http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ So I will splice these to my devel box and see if 1.3.2 works better with Linux 2.6.7 (It does not work too bad with the 2.6.7 Kernel headers on 2.6.7, but not as well as with the 2.4.31 headers and kernel 2.4.31) The thing about Slackware is that they stuck with the 2.4 kernel for a long time, since very conservative. It was just now that they have an alternate 2.6 kernel in the distribution and note that it is an alternate! So I have been using plain 2.6 kernel headers for 2.6 development (dangerous, but most of time works for my purposes) but now I am going to switch to the libc headers or sanitized kernel headers, since they seem robust enough and I am now aware of them... TonyB __ __ _ I N C. http://www.sysdev.org / __|\\// __|| \ __ __ / [EMAIL PROTECTED] \__ \ \/\__ \||)|/ O_)\/ /\/ System Tools / Utilities |___/ || ___/|_ /\___|\_/WIntel / Linux Device Drivers - To unsubscribe from this list: send the line unsubscribe linux-msdos in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html