[darwinbuild] Re: LibSecurity Keychain
Hi Kevin: When you say "you will also need to build the Security framework", that's just darwinbuild Security isn't it? I'm getting an error in the log (sorry, it's on my Mac, and I'm on a wintel box now) where it's failing during linking: ld: Can't open /AppleInternal/Developer/seg_addr_table for -seg_addr_table /AppleInternal/Developer/seg_addr_table (No such file or directory... Obviously, that's a i386 thing, and I'm building on my PPC Mac. Can we completely build Security? John ----- Original Message ----- From: "Kevin Van Vechten" <kevin@opendarwin.org> To: "Will Hickie" <Will.Hickie@HISC.com> Cc: <apple-cdsa@lists.apple.com> Sent: Wednesday, January 18, 2006 12:18 PM Subject: Re: LibSecurity Keychain
I recommend using DarwinBuild[1] to build OS components such as libsecurity_keychain. There's a small tutorial[2] which you can follow which uses apache_mod_php as an example. SImply substitute in libsecurity_keychain instead.
The libsecurity suite of projects is unique in that each of these projects produce a small framework that isn't normally distributed on a Mac OS X system (they are in /usr/local). After building libsecurity_keychain, you will also need to build the Security framework.
The final result will be in the Roots/Security directory (this will make more sense after you follow the tutorial), which you can install on your system. Be sure to make a backup copy of the existing Security framework though, just in case things do go as planned.
- Kevin
[1] <http://www.opendarwin.org/projects/darwinbuild/> [2] <http://www.opendarwin.org/projects/darwinbuild/doc/tools/ index.html>
On Jan 18, 2006, at 8:45 AM, Will Hickie wrote:
How would one go about rebuilding LibSecurity_Keychain? What does it build to, and where does the target go in the OS? (i.e. how do I install the rebuilt copy of libsecurity_keychain).
I want to slightly modify the code.
I only want to rebuild this one piece.
Thanks, Will
_______________________________________________ Do not post admin requests to the list. They will be ignored. Apple-cdsa mailing list (Apple-cdsa@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/apple-cdsa/johnc%40cryptocard.com
This email sent to johnc@cryptocard.com
On Jan 19, 2006, at 12:34 PM, John Cebasek wrote:
When you say "you will also need to build the Security framework", that's just
darwinbuild Security
isn't it?
Yes.
I'm getting an error in the log (sorry, it's on my Mac, and I'm on a wintel box now) where it's failing during linking:
ld: Can't open /AppleInternal/Developer/seg_addr_table for - seg_addr_table /AppleInternal/Developer/seg_addr_table (No such file or directory...
Obviously, that's a i386 thing, and I'm building on my PPC Mac.
Not a i386 thing, actually. Apparently DarwinBuild is missing some dependency information, so I'll have to look into that. You can work around this by manually typing the following command: # darwinbuild -load OrderFiles Which will install the /AppleInternal/Developer/seg_addr_table file into the BuildRoot.
Can we completely build Security?
Unfortunately the Security team hasn't fully-factored all of the open / closed sources pieces out, so it is usually necessary to patch Security. The easiest way to do this is to grab the plist from one of the OpenDarwin releases (choose any one of the curl commands below that corresponds to the build you're working with currently). You can re- init the directory you already have, you won't need to throw anything away or start over. When you build with the OpenDarwin plist, patches are automatically applied to make the build succeed. # curl -O http://release.opendarwin.org/release/8.4.1/plists/ 8G32od1.plist # curl -O http://release.opendarwin.org/release/8.3.1/plists/ 8F46od1.plist # curl -O http://release.opendarwin.org/release/8.2.1/plists/ 8C46od1.plist # curl -O http://release.opendarwin.org/release/8.1.1/plists/ 8B15od1.plist # darwinbuild -init 8G32od1.plist # darwinbuild Security Hope this helps. - Kevin
participants (2)
-
John Cebasek
-
Kevin Van Vechten