Skip to content

Conversation

scpeters
Copy link
Contributor

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Is your test running fine brew test <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

ZeroMQ uses libunwind by manually specifying its build flags since macOS provides libunwind but without a pkg-config file. That wasn't a problem until the recent zeromq 4.3.1 release changed its libzmq.pc pkg-config file to require libunwind.pc ( #35940 (comment) ). I first noticed this in downstream software outside of homebrew-core, but it has also caused a build failure of libbitcoin-protocol in the boost 1.69 pull request ( #35030 ).

I submitted a pull request to add libunwind.pc to brew in Homebrew/brew#5539 but that won't be accepted as long as Homebrew/brew#5068 is outstanding. So as suggested by a zeromq developer ( #35940 (comment) ), this pull request will disable libunwind support until we can resolve the pkg-config issue.

I've also added a test for the pkg-config file to the formula so we can catch this in the future.

@scpeters
Copy link
Contributor Author

the jenkins build complains that the urh bottle has broken linkage to uhd but that breakage exists already on the master branch, so I think it is unrelated to this pull request

# https://github.com/Homebrew/homebrew-core/pull/35940#issuecomment-454177261
# ENV["LIBUNWIND_LIBS"] = "-framework System"
# sdk = MacOS::CLT.installed? ? "" : MacOS.sdk_path
# ENV["LIBUNWIND_CFLAGS"] = "-I#{sdk}/usr/include"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's probably worth deleting rather than commenting out the code (that's what the Git history is for) and leaving the link to the PR comment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did so during brew pull --bottle

@@ -56,5 +59,7 @@ def install
EOS
system ENV.cc, "test.c", "-L#{lib}", "-lzmq", "-o", "test"
system "./test"
system "pkg-config", "libzmq", "--cflags"
system "pkg-config", "libzmq", "--libs"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding a test 👍

@scpeters scpeters closed this in 761de66 Jan 18, 2019
@scpeters scpeters deleted the zeromq_no_libunwind branch January 18, 2019 17:38
@scpeters
Copy link
Contributor Author

thanks for the reviews!

niheaven pushed a commit to niheaven/homebrew-core that referenced this pull request Jan 23, 2019
Closes Homebrew#36121.

Signed-off-by: Steven Peters <scpeters@openrobotics.org>
@lock lock bot added the outdated PR was locked due to age label Feb 17, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Feb 17, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants