Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upUse environment variables to specify OpenSSL location on OS X #479
Comments
|
I think it is pretty stable, for the general user docs I would leave the command there but for salt we can fix it to /usr/local/opt/openssl and just know that if in the future all builds on osx always fails on linking openssl is because of a more from homebrew. |
|
@santagada Due to how Buildbot works, it's much easier to set static environment variables than dynamic ones (i.e. those that shell out, which is the |
|
OK, from IRC it sounds like the output of that command should always be Files to change:
Tests:
We also need to somehow "unlink" openssl on our existing builders, so if you know a command for that we can run it by hand. |
|
@santagada I actually have taken care of this in #483, as part of upgrading Homebrew to 1.0.0. Feel free to work on another issue, and thanks again for your initial report and PR to make our OpenSSL usage via Homebrew better! |
Fix Homebrew 1.0.0 fallout Homebrew 1.0.0 has just been released with some breaking changes. To handle all of them, this PR has a lot of changes, here are the main points: - Add a new `homebrew` execution module and `hombrew_analytics` state module to fix analytics disabling - Fix `autoconf`/`autoconf213` installing and linking - Use env vars to specify OpenSSL location because linking fails (fixes #479) - Upgrade to XCode 8/OS X 10.11 on Travis (fixes #382) to fix installing git - Update Salt, leaping two major versions ahead to 2016.3.3 (the latest), due to changes in Homebrew Python/Salt packaging not available in our pinned old Salt - Make our install and dispatch scripts more robust: - Force apt-get to use existing configuration files and ignore updates in Salt packages during installation - Unlink Salt if we have installed it via Homebrew previously before installing a new one - Allow failures when building old revs when checking upgrades (upstreams change) - Manually invalidate the Salt cache between runs See commit messages for full details. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/saltfs/483) <!-- Reviewable:end -->
|
I'm on vacation, sorry for not unassining myself, and thanks for fixing this |
OpenSSL is a key-only homebrew crate, and doing
brew link --force opensslmeans weInstead, we need to explicitly pass the full include/lib paths to the compiler on our OS X builders, which is most easily done via environment variables.
Parts:
brew link --force opensslOPENSSL_INCLUDE_DIRandOPENSSL_LIB_DIRenvironment variables@santagada Can you give me example output for
"$(brew --prefix)"? Does this output vary (over time, with openssl package version, randomly, with homebrew updates)? How this varies will inform how we get the right environment variables, due to the property that the Buildbot configuration is executed on the Buildbot master (a Linux machine), not the actual builder. E.g., we may lock down the OpenSSL version and template the string, or we may dynamically get the version, or just wait for the move to NSS/ring/crypto-library-of-your-choice-here.Companion to servo/servo#13225.