| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
Hi,
regards,
filip-
--------------------------------------- Filip Aben Firmware Design Engineer Option International
On 20 May 2005, at 14:36, Ron Duritsch wrote:
Godfrey,
Yes, there is an IOService subclass, but the macro appears to be defined
properly. Here's my entry, with some old comments:
// REQUIRED! This macro defines the class's constructors, destructors, // and several other I/O Kit requires. Do NOT use super as the // second parameter. You must use the literal name of the superclass OSDefineMetaClassAndStructors(com_diaginc_iokit_SpotPCI, IOService)
But all problems disappeared when I placed a copy of the ansi file in:
/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks/ Kernel.framework/
Headers/ppc/ansi.h
Ron
On 5/19/05 6:05 PM, "Godfrey van der Linden" <email@hidden> wrote:
The ansi file is a red herring I'm afraid.
My best guess (they are usually pretty accurate guesses too ;-), is that you have an IOService subclass in your driver. IOService hasn't changed for quite a long time but it finally changed in 10.4. This means that we need to do a binary compatibility on all drivers compiled with a pre-10.4 IOService. For some reason your driver is not patching. This is usually because you haven't used the macro :-
OSDefineMetaClassAndStructors(<com_diaginc_ourdiagclass>, IOService);
Or you have the wrong 'superclass' name in it. Check it out.
Godfrey
On 05/19/2005, at 10:06 , Ron Duritsch wrote:
Dean,
After more searching (still not quite used to new search in 10.4) I did find the ppc/ansi.h file in the 10.2.8 SDK, but the compiler can't seem to find it, as shown by the error message in Xcode:
"/Developer/SDKs/MacOSX10.2.8.sdk/System/Library/Frameworks/ Kernel.framewor k/Headers/machine/ansi.h:33:22: error: ppc/ansi.h: No such file or directory
Ron
On 5/19/05 12:32 PM, "Ron Duritsch" <email@hidden> wrote:
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/rduritsch% 40diaginc.com
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/rduritsch% 40diaginc.com
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/gvdl% 40apple.com
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/f.aben% 40option.com
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
| References: | |
| >Re: Xcode 2.0 kext load problem (From: Ron Duritsch <email@hidden>) |
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.