2010-08-01 74 views
1

雪豹10.6.4我得到一个未解决的符号OS X:查找KEXT库包含一个符号

$ sudo kextutil KRPC.kext 
(kernel) kxld[com.machackershandbook.kext.KRPC]: The following symbols are unresolved for this kext: 
(kernel) kxld[com.machackershandbook.kext.KRPC]: _mig_buckets 

使用kextfind我找不到这个符号,但是这个符号在内核导出:

$ kextfind -dsym _mig_buckets 
$ nm -arch i386 /mach_kernel |grep _mig_buckets 
00844b00 S _mig_buckets 
$ nm -arch x86_64 /mach_kernel |grep _mig_buckets 
ffffff8000672e40 S _mig_buckets 

如何查找使用OSBundleLibraries字典与此符号链接的kext库?

回答

0

您是否尝试过在您的kext上运行kextlibs?它可能会给你正确的依赖。 否则,它可能是以下中的一个:

  • com.apple.kpi.mach
  • com.apple.kpi.unsupported

看到this apple Q&A关于不支持的KPI

更多信息
+0

谢谢,除了com.apple.kpi.mach和com.apple.kpi.unsupported之外,我还添加了大部分的kext。 – Freeman 2010-08-01 21:48:48

+0

我还用你提出两种方法,并且这些方法共享相同的运气: $ sudo的kextlibs rpc_server.kext 对所有架构: com.apple.kpi.libkern = 10.4 i386的: 2个符号中找不到任何图书馆kext。 $ /Developer/usr/bin/FindKPI.py _mig_buckets _mig_buckets not found – Freeman 2010-08-01 21:50:58

+0

这里有一些奇怪的地方,因为它似乎实际上是在内核中输出的。 $ nm -arch i386/mach_kernel | grep _mig_buckets 00844b00 S _mig_buckets – Freeman 2010-08-01 21:52:03