Thanks for the suggestions guys.  Looking through the NDIS wrapper package
Makefile I see that KERNEL would be defined if the macros were working
properly.  CFLAGS is set differently depending on the target, but for whatever
reason the macros aren't running properly so CFLAGS is never set at all.  Since
I'm not proficient with make, I resolved the problem by manually changing the
CFLAGS variable to the right setting before running each target.

I got the package from this page:
http://www.opensolaris.org/os/community/laptop/wireless/ndis/

Again I'm running nexenta with opensolaris build 61 and GNU Make 3.81beta4.  I
compiled the driver with gcc 4.0.3 and though I saw warnings it compiled
properly.  I had to clean up my driver inf file to remove unicode, but
otherwise it seemed ok.

The driver for my card (wli-cb-g54hp) came from here:
http://ndiswrapper.sourceforge.net/mediawiki/index.php/List

It loaded but the "driver failed to attach".  So now that I can compile I'll
try a few drivers and compiling with gcc3.4 as was suggested.  Is there a way I
can get more details about why it failed to attach?  Or does it simply mean
that the driver and device do not match up?

Thanks!
Cory

On Sun, Apr 22, 2007 at 11:01:10PM -0700, Edward Pilatowicz wrote:
> well, given to the error message below i'm guessing that the problem is
> not with your usage of ddi_acc_handle_t, but whatever comes before it in
> the source file.  probably a struct or union that doesn't have a semicolon
> after it?
> 
> also, if make sure you compile with KERNEL defined, otherwise you
> won't get the definition for ddi_acc_handle_t even if you include
> sys/dditypes.h.
> 
> ed
> 
> On Sat, Apr 21, 2007 at 09:26:23PM -0700, Cory Petkovsek wrote:
> > Guys, I'm attempting to compile the NDIS driver for a buffalo wifi card
> > (wli-cb-g54hp) and have run accross simple definition errors compiling.  Gcc
> > complains about
> >
> >     ../if_ndisvar.h:60: error: syntax error before 'ddi_acc_handle_t'
> >     ../if_ndisvar.h:60: warning: no semicolon at end of struct or union
> >
> > I've found ddi_acc_handle_t is defined here as such:
> >
> >     /usr/include/sys/dditypes.h:
> >     typedef struct __ddi_acc_handle *ddi_acc_handle_t;
> >
> > The results don't change if I manually include <sys/dditypes.h>.  Also in 
> > this
> > same struct are ddi_dma_handle_t and ddi_dma_cookie_t which are both 
> > defined in
> > dditypes.h.  Gcc never complains about them.  If I remove the 
> > ddi_acc_handle_t
> > line it has no further problems with that struct, but I'm sure I don't want 
> > to
> > do that.
> >
> > How can I get this to compile?
> >
> > I'm running nexenta with build 61 of opensolaris, gcc 4.0.3, make 3.81beta4.
> >
> > Thanks,
> > Cory
> >

-- 
Cory Petkovsek                                       Adapting Information
Adaptable IT Consulting                                Technology to Your
(858) 705-1655                                                   Business
cory at AdaptableIT.com                                  www.AdaptableIT.com

Reply via email to