Re: Dosemu 1.3.2 and linux 2.6.7 headers

2005-07-14 Thread Julius Schwartzenberg

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

2005-07-13 Thread Bart Oldeman
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

2005-07-13 Thread Stas Sergeev

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

2005-07-13 Thread Stas Sergeev

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

2005-07-13 Thread Julius Schwartzenberg

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

2005-07-13 Thread Stas Sergeev

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

2005-07-12 Thread Maciek Stopa

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

2005-07-12 Thread Hufnus
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

2005-07-12 Thread Maciek Stopa

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

2005-07-12 Thread Hufnus
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

2005-07-12 Thread Bart Oldeman
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

2005-07-12 Thread Julius Schwartzenberg

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

2005-07-12 Thread Hufnus
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

2005-07-12 Thread Bart Oldeman
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

2005-07-12 Thread Stas Sergeev

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

2005-07-12 Thread Hufnus
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

2005-07-12 Thread Hufnus
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