Search code examples
xcodemacoskernel-extension

kextutil: no compatible dependency found for com.apple.iokit.IOUSBFamily


Kextutil failed when loading my driver on Mac-pro 10.6.8, but it's OK on iMac 10.6.8. You're appreciated if you tell me something about that! Thanks

Information:

YAN:W$ uname -a
Darwin YAN.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64
YAN:W$ sudo kextutil /System/Library/Extensions/MyDriver64.kext
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.iokit.IOUSBFamily.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.iokit.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.libkern.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.mach.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.iokit.IOUSBFamily.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.iokit.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.libkern.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.mach.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.iokit.IOUSBFamily.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.iokit.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.libkern.
/tmp/MyDriver64.kext - no compatible dependency found for com.apple.kpi.mach.
/tmp/MyDriver64.kext has problems:
Dependency Resolution Failures: 
Only incompatible kexts found for these libraries: 
    com.apple.iokit.IOUSBFamily
    com.apple.kpi.iokit
    com.apple.kpi.libkern
    com.apple.kpi.mach

Solution

  • Thanks for your reply.My iMac is running x86_64 kernel too. I got the current IOUSBFamily version when using kextlibs MyDriver64.kext. And I changed my Info.plist, made the dependency libs version(dict section) same to current version. It works.

    YAN:W$kextlibs MyDriver64.kext
    For all architectures:
        com.apple.iokit.IOUSBFamily = 4.2.4
        com.apple.kpi.iokit = 10.8
        com.apple.kpi.libkern = 10.8
        com.apple.kpi.mach = 10.8
    

    And the Info.plist:

    ...
    <dict>
        <key>com.apple.iokit.IOUSBFamily</key>
        <string>4.2</string>
        <key>com.apple.kpi.iokit</key>
        <string>10.8</string>
        <key>com.apple.kpi.libkern</key>
        <string>10.8</string>
        <key>com.apple.kpi.mach</key>
        <string>10.8</string>
    </dict>
    ...
    

    @Thane Norton, @pmjordan, Thanks!!!