Opened 5 years ago

Closed 5 years ago

#23146 closed defect (fixed)

Upgrade to MPIR 3.0 broke SAGE_FAT_BINARY=yes

Reported by: embray Owned by:
Priority: blocker Milestone: sage-8.0
Component: packages: standard Keywords: mpir fat
Cc: wbhart, jpflori Merged in:
Authors: Erik Bray Reviewers: Jean-Pierre Flori
Report Upstream: N/A Work issues:
Branch: 8d25401 (Commits, GitHub, GitLab) Commit: 8d25401676bd431373153b10cd9d701062ca499b
Dependencies: Stopgaps:

Status badges

Description

[mpir-3.0.0] gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)
[mpir-3.0.0] ****************************************************
[mpir-3.0.0] Machine type (default): x86_64-unknown-linux-gnu
[mpir-3.0.0] Machine type (mpir): sandybridge-unknown-linux-gnu
[mpir-3.0.0] Building a 64-bit version of MPIR.
[mpir-3.0.0] Disable use of assembly because of GNU as < 2.23.
[mpir-3.0.0] Building MPIR with the C++ interface and (also) static libraries.
[mpir-3.0.0] ** Building with "fat binary" support for 64-bit CPUs **
[mpir-3.0.0] ------------------------------------------------------------------------
[mpir-3.0.0] Configuring MPIR with empty CFLAGS to determine the defaults:
[mpir-3.0.0] checking build system type... sandybridge-unknown-linux-gnu
[mpir-3.0.0] checking host system type... sandybridge-unknown-linux-gnu
...
[mpir-3.0.0] configure: error: no version of fat found in path: generic
[mpir-3.0.0] Error configuring MPIR (with CFLAGS unset).
[mpir-3.0.0] Consult /home/embray/src/sagemath/sage/local/var/tmp/sage/build/mpir-3.0.0/src/config.log for for details.

Any ideas?

Change History (17)

comment:1 Changed 5 years ago by embray

  • Cc wbhart added

comment:2 Changed 5 years ago by embray

I think I see--the part of Sage's spkg-install that outputs "Disable use of assembly because of GNU as < 2.23" is forcing MPN_PATH=generic which breaks the fat build.

comment:3 Changed 5 years ago by embray

  • Cc jpflori added

comment:4 Changed 5 years ago by embray

However,

$ as --version
GNU assembler (GNU Binutils for Ubuntu) 2.24
Copyright 2013 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-linux-gnu'.

comment:5 Changed 5 years ago by jpflori

Hum, but old gnu as do not support recent assembly opcodes...

comment:6 Changed 5 years ago by jpflori

Ah, so there is something wrong with the command line detecting the as version! Can you try it in a shell?

comment:7 Changed 5 years ago by embray

  • Authors set to Erik Bray
  • Branch set to u/embray/mpir/ticket-23146
  • Commit set to 5873c8ddcd3465ebdd0c8e1604b5ec36f5ab8589
  • Status changed from new to needs_review

This should fix it.

I also explicitly disabled SAGE_FAT_BINARY in this case, and added an additional warning message that it won't work.


New commits:

5873c8dFix GNU as version detection.

comment:8 Changed 5 years ago by jpflori

  • Status changed from needs_review to needs_work

I'd say it would be better to error out when one sets SAGE_FAT_BINARY and only provides an old as.

comment:9 follow-up: Changed 5 years ago by embray

Yes, I suppose you're right--otherwise the build will still proceed but you'll wind up with a broken FAT_BINARY build and (possibly) have a hard time tracking exactly where it broke.

comment:10 Changed 5 years ago by git

  • Commit changed from 5873c8ddcd3465ebdd0c8e1604b5ec36f5ab8589 to c79b903d66c13ac26ce88bf2aee67693b9304479

Branch pushed to git repo; I updated commit sha1. New commits:

c79b903Make it an error to build with SAGE_FAT_BINARY=yes if 'as' is outdated

comment:11 Changed 5 years ago by jpflori

A final minor comment: you check for version 2.24 but the message mentions "< 2.23".

comment:12 Changed 5 years ago by git

  • Commit changed from c79b903d66c13ac26ce88bf2aee67693b9304479 to 8d25401676bd431373153b10cd9d701062ca499b

Branch pushed to git repo; I updated commit sha1. New commits:

8d25401Fix error message accuracy

comment:13 Changed 5 years ago by embray

  • Status changed from needs_work to needs_review

comment:14 Changed 5 years ago by jpflori

  • Reviewers set to Jean-Pierre Flori
  • Status changed from needs_review to positive_review

comment:15 Changed 5 years ago by embray

Thanks for the review!

comment:16 in reply to: ↑ 9 Changed 5 years ago by jdemeyer

Replying to embray:

Yes, I suppose you're right--otherwise the build will still proceed but you'll wind up with a broken FAT_BINARY build and (possibly) have a hard time tracking exactly where it broke.

Exactly. If the user sets SAGE_FAT_BINARY=yes, it is probably for a very good reason which cannot be ignored.

comment:17 Changed 5 years ago by vbraun

  • Branch changed from u/embray/mpir/ticket-23146 to 8d25401676bd431373153b10cd9d701062ca499b
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.