Homebrew / homebrew-core

🍻 Default formulae for the missing package manager for macOS (or Linux)
https://brew.sh
BSD 2-Clause "Simplified" License
13.71k stars 12.4k forks source link

Formulae missing High Sierra bottles #18493

Closed fxcoudert closed 6 years ago

fxcoudert commented 7 years ago

Remaining

Top formulas (> 200 installs a month)

(sorted by usage)

Done, 13 March 2018

Other formulas

Done

zmwangx commented 7 years ago

Ha, didn't realize they removed 2to3. While Python 2.7 is 2.5 years from final death and even the most entrenched are moving to Python 3, Apple is backing away.

(Feel free to delete this lament.)

ilovezfs commented 7 years ago

There is now 2to3- and 2to3-2.7

zmwangx commented 7 years ago

Oh yeah, I missed those. What the heck is 2to3-...

ilovezfs commented 7 years ago

@zmwangx no idea. I could come up with theories but the only one that seems plausible is that someone hit the wrong key on their keyboard.

zmwangx commented 7 years ago

They do something funny with 2to3: https://opensource.apple.com/source/python/python-97.50.7/Makefile.auto.html

ilovezfs commented 7 years ago

I guess 2to3- isn't actually new though

zmwangx commented 7 years ago

No it's not. At least it's present on 10.12.

zmwangx commented 7 years ago
$ ls /usr/bin/2to3*
/usr/bin/2to3  /usr/bin/2to3-  /usr/bin/2to3-2.7  /usr/bin/2to32.6
ilovezfs commented 7 years ago

Going to mass replace 2to3 to 2to3- until I get around to converting those to patches https://github.com/Homebrew/homebrew-core/pull/18501 so that we can haz bottles.

SMillerDev commented 7 years ago

Gearman doesn't seem to compile on high Sierra, as mentioned here: https://github.com/Homebrew/homebrew-php/pull/4447 so that can either be checked or crossed of.

scpeters commented 7 years ago

I've tested bullet on high sierra, and it builds from source fine. This issue says help wanted, but I'm not sure how you build bottles for the new OS release. I haven't seen pull requests; I just see commits from @brewtestbot that are merged by a maintainer. Not sure if there's anything I can do.

fxcoudert commented 7 years ago

@scpeters bullet fails to build on our CI machines. This is due to b3GjkPairDetector.cpp failing to compile with Xcode9's clang when -target-cpu core2 (or -march=core2) is passed.

ilovezfs commented 7 years ago

@SMillerDev this list represents things that do not have bottles on High Sierra. So none of them built. If the box is checked that means there's no longer an issue, and the formula has a bottle now or the formula has been deleted. So gearman being on the list without a check mark already conveys the fact that it doesn't build on 10.13.

SMillerDev commented 7 years ago

Right, I thought it was just things that didn't happen to have one yet. My bad.

ilovezfs commented 7 years ago

@SMillerDev ah, I see. No worries. Just didn't want you to think we were ignoring you :)

lugray commented 7 years ago

I found a hacky way to build libgda on High Sierra for anyone else who comes looking. It should also provide some insight into how to fix it properly:

1) Apply patch to /usr/local/opt/glib/bin/glib-mkenums to deal with latin-1 encoded libgda files:

410a411,415
>     if curfilename.startswith("gda-") or curfilename.startswith("libgda-"):
>         encoding = "latin-1"
>     else:
>         encoding = "utf-8"
>
412c417
<         curfile = io.open(curfilename, encoding="utf-8")
---
>         curfile = io.open(curfilename, encoding=encoding)

2) In shell, make mysql libraries findable when libgda goes looking for them in the wrong places (replace 5.7.10 below with whichever mysql client version you have):

brew install mysql
cd /usr/local/include/
for f in ../Cellar/mysql-client/5.7.10/include/mysql/*.h; do ln -s "$f"; done
cd mysql
ln -s mysql/psi
for f in mysql/*.h; do ln -s "$f"; done
brew install libgda
scpeters commented 7 years ago

@fxcoudert thanks for the info about bullet. It compiled fine with -march=native, but I was able to reproduce the problem with -march=core2. I tinkered with flags and it seems to be fine with -O1 and lower, but clang just takes forever with -O2 and higher. I've reported it upstream to bullet https://github.com/bulletphysics/bullet3/issues/1347

erwincoumans commented 7 years ago

How are you building Bullet exactly? I'm using cmake or premake usually, and both work out-of-the-box fine with Bullet on High Sierra, but there isn't a flag -march=core2 in neither of those build systems. So how would I reproduce the issue using any of the default Bullet build systems?

Also, what is the output of clang --version?

scpeters commented 7 years ago

@erwincoumans The bullet homebrew formula uses cmake and the -march= compiler flags are supplied by brew to ensure support for a wide range of supported CPU architectures. We can continue discussion in https://github.com/bulletphysics/bullet3/issues/1347 unless you have specific questions for the homebrew maintainers.

CamJN commented 7 years ago

fix for bdsup2sub https://github.com/Homebrew/homebrew-core/pull/18716 and a fix for passenger is coming but we're trying to squeeze in some other things to the release too.

ilovezfs commented 7 years ago

@CamJN is there a passenger patch we can backport in the meantime?

CamJN commented 7 years ago

@ilovezfs Not really, it's spread over a few commits and they aren't tested without the intermediary commits. The most important commit is this one: https://github.com/phusion/passenger/commit/416894542e3c689f4d609e6ce7f6c9a298ca3992 but I'm not sure if it can stand alone.

CamJN commented 7 years ago

Note today's Passenger releases do not fix the High Sierra issue, they are due to a forced Enterprise release.

CamJN commented 7 years ago

Apparently rake apache2 in the formula becomes /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/bin/rake apache2 now? Even though /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.3/bin/rake doesn't exist? Can someone explain why you guys broke rake? We need rake to build Passenger, and I'm assuming you'll uphold your usual policy of not letting me fix this myself.

fxcoudert commented 7 years ago

@CamJN please file an issue describing in detail your issue. On my 10.13 system it is correctly calling /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/rake apache2, which then fails:

clang -o buildout/apache2/mod_passenger.o  -Isrc/agent -Isrc/cxx_supportlib -Isrc/cxx_supportlib/vendor-copy -Isrc/cxx_supportlib/vendor-modified -fPIC -D_REENTRANT -I/usr/local/include -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -fvisibility=hidden -DVISIBILITY_ATTRIBUTE_SUPPORTED -g -DHAS_ALLOCA_H -DHAS_SFENCE -DHAS_LFENCE -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -c src/apache2_module/mod_passenger.c
src/apache2_module/mod_passenger.c:26:10: fatal error: 'httpd.h' file not found
#include <httpd.h>
         ^~~~~~~~~
1 error generated.
rake aborted!
CamJN commented 7 years ago

I'm referring to a system that uses the new portable-ruby not the system ruby like one would expect. I know that passenger <= 5.1.10 won't compile on High Sierra but I was trying to test on el cap and found that portable-ruby is broken/crippled.

fxcoudert commented 7 years ago

@CamJN if this is not on High Sierra, I am unclear why this is here. Please file an issue describing in detail your issue.

CamJN commented 7 years ago

It's mentioned here because it has become one more yak to shave.

fxcoudert commented 7 years ago

@CamJN Worry no more, that animal has been depilated. https://github.com/Homebrew/homebrew-core/pull/19376

CamJN commented 7 years ago

It won't work, I said so in https://github.com/Homebrew/homebrew-core/issues/18493#issuecomment-336224014, But now I have to fight with the homebrew maintainers to fix their new bugs before I can work on getting the release that will fix High-Sierra out.

CamJN commented 7 years ago

and this is how they behave: https://github.com/Homebrew/brew/issues/3310

fxcoudert commented 7 years ago

@CamJN I am a Homebrew maintainer, and I did fix the rake issue in that commit, less than an hour after you reported it above.

I guess now you can return to “work on getting the release that will fix High-Sierra out”, since High Sierra has been released for weeks (and months if we count betas)

CamJN commented 7 years ago

Huh, so system "rake" is allowed? That's the exact kind of thing that gets my PRs rejected all the time by you guys.

fxcoudert commented 7 years ago

That's the exact kind of thing that gets my PRs rejected all the time by you guys.

??? Not in this universe

This is my final comment off-topic, and we'll try to focus this PR on getting High Sierra bottles!

CamJN commented 7 years ago

More like in this universe: https://github.com/Homebrew/legacy-homebrew/pull/49567#issuecomment-189703317 https://github.com/Homebrew/legacy-homebrew/pull/48377#issuecomment-174352599

ilovezfs commented 7 years ago

@CamJN Please read, or re-read, our Code of Conduct and adjust your future communication accordingly.

CamJN commented 7 years ago

I've read it, and I'm sorry I got angry. Homebrew is by far the most infuriating project I've ever interacted with, and because of the official and often enforced policy of not caring about the users I tend to read replies as having an air of condescension and dismissal that may not always be present.

I realize the policy isn't going to change, and that I have to live with it if I want to interact with the project at all, but being treated badly sucks; as you well know given you tell me not to do it to you all.

JCount commented 7 years ago

@CamJN Please stop being inflammatory, it is not constructive and helps no one.

The comment

because of the official and often enforced policy of not caring about the users

is entirely unnecessary, and furthermore is not factually accurate. It may be a personally held belief or opinion, but by including it in what is framed as a conciliatory statement perverts the apologetic tone into one that could be received in a number of quite negative ways.

Please, try to temper your tone and overall manner.

SConaway commented 7 years ago

tinyproxy seems to build fine now

offlinenow commented 7 years ago

For passenger, just add dependence httpd and apr when building with apache2 module

xwkuang5 commented 6 years ago

Hi! I'm on High Sierra (version 10.13.1) and when I try to install OpenCV 3.4 by running the command brew install opencv --with-contrib option, I got the warning from homebrew saying that Warning: opencv: this formula has no --with-contrib option so it will be ignored!. I try doing brew options opencv and nothing shows up. Is this because OpenCV 3.4.0 was only released several weeks ago and no updates have been made to homebrew?

Thanks!

ilovezfs commented 6 years ago

it's always built with contrib now

queengooborg commented 6 years ago

Just created a PR that fixes ucspi-tcp, meaning that there's just one more popular formula to go! (At least, if #22681 is accepted and merged. 😛)

hazcod commented 6 years ago

What about htop? (https://github.com/Homebrew/homebrew-core/issues/22622)

Might be related to https://github.com/hishamhm/htop/issues/682

apjanke commented 6 years ago

Some updates:

Are we still doing depends_on MaximumMacOSRequirement? Might be time to slap that on nethacked; the formula's already kind of a mess of hacks.

ilovezfs commented 6 years ago

Are we still doing depends_on MaximumMacOSRequirement?

Only in cases where it's not feasible to backport a fix, but a fix is nonetheless expected or already merged, and at the same time an or_later bottle won't work. For example: valgrind.

HesselM commented 6 years ago

Patched ddd with PR #25233

fxcoudert commented 6 years ago

Thanks to everyone who helped on this enormous task! We've got them all working… well, except a few we removed :)

ilovezfs commented 6 years ago

A special thanks to @fxcoudert for his tireless and skillful work getting everything patched and bottled for High Sierra.