Handbrake: Build failures on macOS Sierra.

Created on 25 Dec 2017  路  30Comments  路  Source: HandBrake/HandBrake

All 30 comments

@bradleysepos That was, once again, quick. :)

I'm waiting for the next wave of relatives to arrive for Christmas Eve dinner, so let me know if I can test anything for you.

Xcode 8.2
Build version 8C38

/Users/bradley/HandBrake/macosx/HBPreviewView.m:288:4: error: expected a type
- (NSAccessibilityRole)accessibilityRole
   ^

Probably additional issues once we get past Xcode 8.2 compatibility (which we advertise).

@donmelton May take some work to get this one solved. In case you need it, here's a build from head on master: https://www.dropbox.com/sh/mcrts2msmctzdtg/AAAYqmM5F4DLOeOWlnB94df0a?dl=0&lst=

Have a wonderful holiday!

@bradleysepos Thanks for the special build!

OK, that's much improved as far handling line endings goes. But it still stutters when piped. By that I mean, I'm getting less than half the same number of progress lines in the pipe as I would if HandBrakeCLI is not piped.

Honestly, I thought it was hung at first. So something is still broken here.

But I can't re-open the bug the bug I originally filed to report that the regression is not (quite) fixed yet.

Fixed in cb4dc4ec0a70a166f20112671b83d7426c5c82cc

1080 builds for me with --disable-xcode and 10.12 SDK, with build dependencies installed by scripts/mac-toolchain-build.

@donmelton Please test that branch when you have time.

@bradleysepos Sure. Stupid question: is there a way to invoke scripts/mac-toolchain-build to get the GNU version of libtool (which seems to be the fix) without hammering my Homebrew installation in /usr/local?

@bradleysepos OK, I may have just answered my own question by looking at the docs. :) Seems like you can point scripts/mac-toolchain-build anywhere, but how does ./configure know how to find that later on? Does that toolchain destination have to be in $PATH or is it something you can pass to configure? ('Cause that detail isn't in the docs.)

@bradleysepos OK, the docs did answer that question. I just stupidly missed it. :) It is $PATH. Figures. That's the easiest solution.

Yep, if you're using Homebrew it's probably best to install elsewhere and adjust your PATH as necessary.

@bradleysepos Sorry, I was away all morning. Just getting to this now. So, while executing scripts/mac-toolchain-build I was prompted for a password to download autoconf 2.69. Obviously, I don't know the password. :)

Suggestions?

The only password prompt I can imagine you would receive would be for sudo.

@bradleysepos I must have misread what it was asking. But, ugh! I just looked at the script in detail and sudo is sprinkled all over. This always makes me nervous and I would rather not do this now. Is sudo really necessary? It's certainly not a good idea in this day and age.

It is if you're going to install to a directory that requires admin privileges, such as /usr/local. I'll try to make the script more intelligent about this down the road.

@bradleysepos I'm installing into a directory that only requires my permissions. So, looking at the error message and the build script again, it's likely this password prompt isn't from sudo. So there's something else screwy going on here. I'll investigate...

It looks like I already implemented the intelligent sudo/no-sudo but there's a bug. Will fix.

Fix for the script and building with 10.12 SDK are both now on master. Let me know how you get on.

@bradleysepos Thanks! Yeah, all those calls to sudo -v are gone now. :) I'm building HandBrakeCLI with your tools in my path now. I'll let you know how it works.

@bradleysepos Ugh. It looks like libtool was never built with the new scripts/mac-toolchain-build so the HandBrakeCLI build failed. That'll teach me to check more carefully next time. Trying to figure out why libtool is missing now...

@bradleysepos OK, I'm getting this failure with scripts/mac-toolchain-build:

Downloading [06/06] complete.
Building    [02/06] automake 1.15.1 [FAIL]

I swear I didn't see that the first time.

@bradleysepos It looks like the new scripts/mac-toolchain-build created the following valid binaries:

autoconf
autoheader
autom4te
autoreconf
autoscan
autoupdate
ifnames

... but nothing else.

Builds fine here, I wonder if one of your Homebrew installs is hosing something.

@bradleysepos I doubt it since Homebrew hides all conflicting GNU-style binaries from macOS by prefixing them with "g". I suspect that it builds for you because you already have the binaries built. :) In other words, you had a successful build in the past which is installed (probably in /usr/local) that is fulfilling some dependency in the current build script.

@bradleysepos BTW, I can execute a HandBrakeCLI-only build just fine if I pull a much older source tree. So I know it has nothing to do with Homebrew.

@bradleysepos For example, this builds just fine for me:

git clone https://github.com/HandBrake/HandBrake.git
cd HandBrake
git reset --hard 7c438ad5ae81c31c660fc9a208dacd7177f54a24
./configure --launch-jobs=$(sysctl -n hw.ncpu) --launch --disable-xcode

@bradleysepos I can start leap-frogging through commits for the past nine months to find out when it breaks, but that's probably gonna take awhile. :)

git bisect is your friend. :)

I believe I tried on a clean VM, but I'll double-check.

Indeed, automake needs autoconf to build. The script now adds prefix/bin to the working PATH during the build process. Good spot.

@bradleysepos No problem. I'm on the road now but I'll test this as soon as I get back. Thanks!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

a7dfj8aerj picture a7dfj8aerj  路  3Comments

28598519a picture 28598519a  路  4Comments

Cagliostrooo picture Cagliostrooo  路  3Comments

jeremymeyers picture jeremymeyers  路  4Comments

taxen picture taxen  路  3Comments