[tor-bugs] #9711 [Tor bundles/installation]: Test out crosstools-ng for Gitian OSX builds (instead of toolchain4 binaries)
Tor Bug Tracker & Wiki
blackhole at torproject.org
Wed Oct 9 17:34:08 UTC 2013
#9711: Test out crosstools-ng for Gitian OSX builds (instead of toolchain4
binaries)
------------------------------------------+-------------------------------
Reporter: mikeperry | Owner: erinn
Type: task | Status: needs_information
Priority: normal | Milestone:
Component: Tor bundles/installation | Version:
Resolution: | Keywords: tbb-3.0, gitian
Actual Points: | Parent ID:
Points: |
------------------------------------------+-------------------------------
Comment (by mingwandroid):
I've had an initial look and here's what I've gleamed:
There's currently an issue which forces us to need to clean out both the
builddir and any existing installation before doing subsequent builds in
the same directories. For you this would mean doing:
rm -rf /home/firefox/crosstool-ng/ct-ng-final /home/firefox/x-tools
You're currently basing your build on the darwin10 sample, but actually
you'd be better off starting from my darwin11 one (see note [1]) so I'd
replace samples/i686-apple-darwin10/crosstool.config with samples/i686
-apple-darwin11/crosstool.config and then, to turn it back into a darwin10
config, change the following entries:
CT_DARWIN_MAC_OSX_V_10_7=y
to:
CT_DARWIN_MAC_OSX_V_10_6=y
CT_DARWIN_VERSION="11"
to:
CT_DARWIN_VERSION="10"
CT_DARWIN_SDK_PATH="${HOME}/MacOSX10.7.sdk"
to:
CT_DARWIN_SDK_PATH="${HOME}/MacOSX10.6.sdk"
.. if you want to be able to use the generated toolchains without passing
--sysroot $MacOSXSDKDir then change (I don't recommend this - see note
[2]) change
CT_DARWIN_COPY_SDK_TO_SYSROOT=n
to:
CT_DARWIN_COPY_SDK_TO_SYSROOT=y
.. depending on whether you would want to debug issues if/when we run into
them change (likely worthwhile for now, provided you've got ~20GB to
spare)
CT_DEBUGGABLE_TOOLCHAIN=n
to:
CT_DEBUGGABLE_TOOLCHAIN=y
Notes:
[1] I suspect I maintain my darwin11 samples a bit more regularly, whereas
Yann generates new ones each time via make menuconfig. Also my samples
will always use the latest versions of things that are in a reasonably
working state (LLVM and clang 3.3 in this case)
[2] I don't recommend this as it's not a use-case I have verified as
working, specifically, AFAIK the frameworks are not copied over so
building anything that requires more components than a C and C++ library
is likely to fail. Further, toolchains built like this cannot be legally
distributed.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/9711#comment:13>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list