Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

mpfr fails installation tests due to illegal instruction #18944

Closed
staticfloat opened this Issue · 24 comments

6 participants

@staticfloat

Here is the documenting gist, it looks like the compile goes fine, but then during the testing phase, there are a bunch of Illegal Instruction outputs.

This is on an iMac, Early 2009.

@jacknagel
Owner

Any luck with --env=std or --use-llvm?

@staticfloat

Both fail in the same way. --use-clang also fails in the same way. Makes me wonder if these flags are even working. ;)

@jacknagel
Owner

Looks there is a 3.1.2 release, perhaps that has bug fixes.

@adamv
Owner

Please provide updated troubleshooting if this still happens after brew update.

@adamv adamv closed this
@staticfloat

I can confirm this still happens, but is only a problem with the gmp bottle is installed. If gmp is compiled from source, the issue disappears. Note that the bottle installs even though I have my homebrew outside of /usr/local/.

@mikemcquaid
Owner

Ok so it looks like the bottle cflags are not generic enough and/or are broken for your hardware. I'll try and have a look, thanks.

@mikemcquaid mikemcquaid reopened this
@mikemcquaid mikemcquaid closed this issue from a commit
@mikemcquaid mikemcquaid gmp: remove bottle.
Closes #18944.
Closes #19179.
cb72b5f
@mikemcquaid
Owner

I've removed the gmp bottle for now. I want to try and work out why our generic CFLAGS for bottles aren't working properly though and I'll rebottle when I've worked this out.

@brandt brandt referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@mikemcquaid mikemcquaid referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@mikemcquaid mikemcquaid referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@mikemcquaid mikemcquaid referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@mikemcquaid mikemcquaid referenced this issue from a commit in mikemcquaid/homebrew
@mikemcquaid mikemcquaid Fix --build-bottle CFLAGS.
The CFLAGS were previously not generic enough.

References #18944.
References #19179.
646150a
@mikemcquaid
Owner

I've fixed the bottling cflags for Clang, rebuilt the gmp bottle and pushed the new bottle in bd1cdb4. @staticfloat and others: can you see if it works properly for you now? Thanks!

@staticfloat

I will do this, but it may take me a few days to get back on the computer that was having the trouble.

@mikemcquaid
Owner

No worries, thanks.

@staticfloat

Works great for me, thanks!

@mikemcquaid
Owner

@staticfloat Sorry, the bottle worked? I removed it again but wondering if you got to it in the mean time. You could manually check out that revision to test it.

@staticfloat

Sorry, the gmp bottle worked great. You're saying that you haven't gotten the mpfr bottle uploaded yet? Basically, I installed Homebrew fresh on a new OSX machine in /usr/local/, watched it download a bottle for gmp, and tested Julia with it, and all tests passed. I don't remember if a mpfr bottle was downloaded or not.

@mikemcquaid
Owner

Hmm. Well glad the GMP bottle fixed it for you. My only concern is that people were using the old bottle which kept the problems. Sorry to be explicit but previously you had issues with mpfr that were no longer there when you reinstalled (which used a gmp bottle)? If you run brew info gmp it'll tell you if it came from a bottle.

@staticfloat

I had problems with both the gmp bottle and the mpfr bottle. Since the gmp bottle was fixed, and since this was a new computer so mpfr was built from source, I had no problem.

Unfortunately I don't have regular access to a mac right now, so I can only test when I go into the library at school and install homebrew from scratch on the computers. Therefore, if you create an mpfr bottle as well, I will test the mpfr bottle and the gmp bottle simultaneously if you wish.

@staticfloat

I checked out bd1cdb4, and open-mpi fails installation with the two bottles installed, so I'll wait until you think you've figured everything out and re-enabled the bottles before continuing testing.

@mikemcquaid
Owner

Thanks.

@lovelace lovelace referenced this issue from a commit
@mikemcquaid mikemcquaid Fix --build-bottle CFLAGS.
The CFLAGS were previously not generic enough.

References #18944.
References #19179.
5e72dfd
@handyman5 handyman5 referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@handyman5 handyman5 referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@tavert

I'm running into what looks to be the same problem in 10.9, see https://gist.github.com/7173253

This is in a VM, which may have something to do with the "mdfind[46645:1f03] Metadata.framework [Error]: client check-in failed: (268435460) (ipc/send) timed out" and "mdfind[46645:d07] Metadata.framework [Error]: couldn't get the client port" in config and doctor, I have no idea what that means or if it's making a difference here.

Tried a few different flags, to no avail. Did brew update immediately before running.

@staticfloat

If you're in a VM, these illegal instructions are likely because your VM software doesn't support AVX instructions. Try forcing Homebrew to compile instructions for the core2 gcc target instead of whatever your native instruction set is.

@mistydemeo
Owner

You can force Homebrew to build for core2 by passing --build-bottle.

@tavert

Ah, makes sense that the vector instruction sets could be trouble with libraries like MPFR and GMP (which was also giving me trouble)... @mistydemeo answered what was going to be my next question of how to go about changing target architecture without having to go in and edit the formulas, thanks. You folks are impressively responsive!

Interestingly --build-bottle did the trick, but I had to build one thing at a time. I'm going for gfortran here, but brew install --build-bottle gfortran failed during gmp. for dep in gmp mpfr pkg-config isl cloog libmpc gfortran; do brew install --build-bottle $dep; done is working so far, it's gotten all the way to downloading the gfortran source. Is this intended behavior, where --build-bottle compiles dependencies slightly differently than the desired end-product formula?

@mikemcquaid
Owner

Uninstall and reinstall the dependency tree. Yeh, build-bottle sometimes behaves differently.

@staticfloat
@mikemcquaid
Owner

It's intentional, like various other options.

@draftycode draftycode referenced this issue from a commit in draftycode/homebrew
@mikemcquaid mikemcquaid gmp: remove bottle.
Closes #18944.
Closes #19179.
8f19266
@draftycode draftycode referenced this issue from a commit in draftycode/homebrew
@mikemcquaid mikemcquaid Fix --build-bottle CFLAGS.
The CFLAGS were previously not generic enough.

References #18944.
References #19179.
15244ac
@shelhamer shelhamer referenced this issue from a commit
@mikemcquaid mikemcquaid gmp: remove bottle.
Closes #18944.
Closes #19179.
b7da729
@shelhamer shelhamer referenced this issue from a commit
@mikemcquaid mikemcquaid Fix --build-bottle CFLAGS.
The CFLAGS were previously not generic enough.

References #18944.
References #19179.
93fa6bc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.