Re: sysctl dependencies not working in Tiger?
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Hope this helps, - Dean _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... On Apr 14, 2005, at 10:26 PM, bjk02@hampshire.edu wrote: I'm trying to develop an updated version of a kext in time for Tiger's release (I am using build 8A420), but I can't get kextload to load it. Every time, it reports that any sysctls I try to register are undefined. Specifically, the error everytime when running kextload -t foo.kext is: kextload: extension foo.kext appears to be valid kld(): Undefined symbols: _sysctl__children _sysctl_handle_int _sysctl_register_oid _sysctl_unregister_oid kextload: kld_load_from_memory() failed for module /Users/username/project/ build/foo.kext/Contents/MacOS/foo kextload: a link/load error occured for kernel extension foo.kext load failed for extension foo.kext I even tried creating an entirely new kext project in Xcode 2.0, and added a few sysctl_register_oid calls and it stopped working. info.plist includes com.apple.kernel.libkern in OSBundleLibraries, so this ought to work. The four symbols listed above are only exported from bsd, not libkern, so you'll need to include a dependency on "com.apple.kpi.bsd" v8.0. Note that the "com.apple.kpi.*" interfaces may not be used in conjunction with the "com.apple.kernel.*" interfaces, so you'll need to change from "com.apple.kernel.libkern" to "com.apple.kpi.libkern" v8.0. When in doubt about which symbols come from where, cd into /System/Library/Extensions/System.kext and run "nm -m" on the mach-o binaries you find in there. This email sent to site_archiver@lists.apple.com
participants (1)
-
Dean Reece