More information, and problems: After reading up a bit more in the darwin
mailing list archives I saw where a couple of years ago there was a similar
problem whose root cause was that the original project file emanated from
the old ProjectBuilder application, and there were flags problems. That's
the case here in that the project file has moved along from Project builder
through Xcode 1.0, 1.5, and now 2.0. So I decided to create a new project
file in Xcode 2.0. This was done quickly and easily, and compiled against
the Current SDK in GCC 4.0. The resultant PCI kext runs fine in Tiger. I
then tried to target the 10.2.8 SDK. The kext would not build because it
can't find the "ppc/ansi.h" file, referenced from "machine/ansi.h" in the
10.2.8 SDK:
#if defined (__ppc__)
#include "ppc/ansi.h"
#elif defined (__i386__)
#include "i386/ansi.h"
#else
#error architecture not supported
#endif
Indeed, this "ppc/ansi.h" file is not on my machine. The same missing file
problem occurs when I target the 10.3.9 SDK.
So I tried kextload on the kext I built targeting the 10.4 SDK onto a 10.3.9
system, and I get the original "... is not compatible with its superclass"
error message.
Still hoping for some clues,
Ron Duritsch
Diagnostic Instruments, Inc.
On 5/19/05 10:03 AM, "Ron Duritsch" <email@hidden> wrote:
> I am maintaining a PCI kext for a digital camera that operates on 10.2,
> 10.3, and now 10.4.1. If I build the kext in Xcode 1.5 it will load and work
> fine on all three operating systems. If, however, I build it on Xcode 2.0
> in Tiger, it will only load and run on Tiger. It will not load at boot time
> on 10.3.9. If I try kextload in Terminal on 10.3.9 I get the following error
> message:
>
> 25com_diaginc_iokit_SpotPCI is not compatible with its superclass,
> 9IOService superclass changed?
> kextload: a link/load error occured for kernel extension
> /System/Library/Extensions/SpotPCI.kext
> load failed for extension /System/Library/Extensions/SpotPCI.kext
>
> I am building against the 10.2.8 SDK. I get the same load error whether I
> compile using GCC 4.0 or 3.3 in Xcode 2.0.
>
> In the Xcode 2.0 release notes "About Xcode Tools", under the section
> entitled "Compatibility of Built Binaries" it reads "IOKit-based device
> drivers built with the GCC 3.3 or GCC 4.0 compilers will run on Mac OS X
> v10.2 (Jaguar), Mac OS X v10.3 (Panther), and Mac OS X v10.4 (Tiger)
> systems."
>
> Any clues or hints as to what I need to change to get this to work?
>
> Thanks,
>
> Ron Duritsch
> Diagnostic Instruments, Inc.
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Darwin-drivers mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
> http://lists.apple.com/mailman/options/darwin-drivers/email@hidden
>
> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-drivers/email@hidden
This email sent to email@hidden