2010-08-01 71 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