Thread: [Ndiswrapper-general] ndiswrapper and some 2.6.x source trees...
Status: Beta
Brought to you by:
pgiri
From: <lis...@or...> - 2004-01-09 07:43:52
|
Hi, I just wanted to give you a heads up regarding some 2.6.x source trees incompatibility (well as of 0.3 and 0.3+CVS, I did not try 0.4 or later). I initially installed my 2.6.0 kernel initially from: http://people.redhat.com/arjanv/2.6 (or alternatively) http://people.redhat.com/arjanv/2.5 These are the basis for 2.6.x kernels for Redhat 9 and oncoming Fedora core 2 releases. The kernel sources from these cause ndiswrapper compile errors but the source tree from kernel.org was OK. I traced the problem is related to #define packed __attribute__ (packed) in ndis.h and used in loader.c. In loader.c, ndis.h is included before linux header files and some structures in the linux include files has __attribute__ (packed). Thus this causes packed macro expanded recursively and giving compile errors. One way to solve this is to change the order of include files in loader.c but perhaps better way is to get rid of packd macro in ndis.h and change it everywhere to __attribute__ (packed) Tolunay |
From: Nathaniel D. <da...@ga...> - 2004-01-09 08:42:33
|
Yeah I have been pointing this out on the list for a month, and I am not sure why it has never been fixed. I could send in an actual patch if it would help, but the fix is so entirely trivial that I didnt think it worth it. "packed" is a compiler reserved word, and it should not be redefined in ndis.h since it is potentially used in other headers and code (and actually is in the redhat/fedora 2.6 tree, causing ndiswrapper not to parse or compile there). I guess you could think of this as just a distribution specific problem (since the generic kernel.org 2.6 kernel sources don't seem to manifest it) but it is related to a straightforward *error* in the ndiswrapper sources, and it has now affected at least three people on this list, so I see no reason not to fix it. As the message below describes, the best solution is to eliminate the "packed" macro, and expand it out where it is used (which is only in ndis.h), but if someone is attached to this improper usage for some reason, then other solutions include renaming the "packed" macro to something that is not a compiler reserved word, like "ndiswrapper_packed", or at minimum rearranging the headers so ndis.h occurs last (in loader.c). Another hack fix would be to "#undef packed" at the bottom of ndis.h, so that the scope of potential damage is contained. On Fri, 9 Jan 2004 lis...@or... wrote: > Hi, > > I just wanted to give you a heads up regarding some 2.6.x source trees > incompatibility (well as of 0.3 and 0.3+CVS, I did not try 0.4 or later). > > I initially installed my 2.6.0 kernel initially from: > > http://people.redhat.com/arjanv/2.6 (or alternatively) > http://people.redhat.com/arjanv/2.5 > > These are the basis for 2.6.x kernels for Redhat 9 and oncoming Fedora > core 2 releases. The kernel sources from these cause ndiswrapper > compile errors but the source tree from kernel.org was OK. > > I traced the problem is related to > > #define packed __attribute__ (packed) > > in ndis.h and used in loader.c. In loader.c, ndis.h is included before linux > header files and some structures in the linux include files has > __attribute__ (packed). Thus this causes packed macro expanded > recursively and giving compile errors. > > One way to solve this is to change the order of include files in loader.c > but perhaps better way is to get rid of packd macro in ndis.h and change > it everywhere to __attribute__ (packed) > > Tolunay > > > ------------------------------------------------------- > This SF.net email is sponsored by: Perforce Software. > Perforce is the Fast Software Configuration Management System offering > advanced branching capabilities and atomic changes on 50+ platforms. > Free Eval! http://www.perforce.com/perforce/loadprog.html > _______________________________________________ > Ndiswrapper-general mailing list > Ndi...@li... > https://lists.sourceforge.net/lists/listinfo/ndiswrapper-general > |
From: Giridhar P. <gi...@lm...> - 2004-01-09 15:18:36
|
I have fixed this problem in the cvs yesterday. This is not a real fix, as you say; I would leave this for Pontus to decide on how to fix. For some reason anon cvs hasn't been updated since yesterday. I have filed a support request to sf.net team already about it. Yes, a patch is always easy to add, instead of general discussion/comments. Giri. |