Bill Hart wrote:
Is it passing --enable-fat to MPIR's configure? If it is, then it shouldn't be.

If SAGE_FAT_BINARY=yes (set by the user, on Linux x86/x86_64 only IIRC). Why shouldn't we?


But the real problem here seems to be an upstream (i.e., MPIR) bug:

While config.guess yields core-pc-linux-gnu on the failing system, 'core[-*]' isn't handled by MPIR's configure (such that abilist finally contains only the dummy value, not '32', which we request):


...

# abilist needs to be non-empty, "standard" is just a generic name here
abilist="standard"

...

case $host in # from config.guess (Sage doesn't configure with --host=... or the like)

  ...

  # AMD and Intel x86 configurations, including AMD64
  #
  # Rumour has it gcc -O2 used to give worse register allocation than just
  # -O, but lets assume that's no longer true.
  #
  # -m32 forces 32-bit mode on a bi-arch 32/64 amd64 build of gcc.  -m64 is
# the default in such a build (we think), so -m32 is essential for ABI=32.
  # This is, of course, done for any $host_cpu, not just x86_64, so we can
  # get such a gcc into the right mode to cross-compile to say i486-*-*.
  #
# -m32 is not available in gcc 2.95 and earlier, hence cflags_maybe to use
  # it when it works.  We check sizeof(long)==4 to ensure we get the right
  # mode, in case -m32 has failed not because it's an old gcc, but because
  # it's a dual 32/64-bit gcc without a 32-bit libc, or whatever.
  #
i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | x86_64-*-* | netburst-*-* | netburstlahf-*-* | k8-*-* | k10-*-* | k102-*-* | k103-*-* | core2-*-* | penryn-*-* | nehalem-*-* | westmere-*-* | sandybridge-*-* | atom-*-* | nano-*-* | bobcat-*-* | bulldozer-*-*)
    abilist="32"
    cclist="gcc icc cc"
    gcc_cflags="-O2 $fomit_frame_pointer"
        case $host in
        *-*-linux-gnu)
            gcc_32_ldflags="-Wl,-z,noexecstack" ;;
        esac
    gcc_32_cflags_maybe="-m32"
    icc_cflags="-no-gcc"
    icc_cflags_optlist="opt"
    icc_cflags_opt="-O3 -O2 -O1"
    any_32_testlist="sizeof-long-4"
    CALLING_CONVENTIONS_OBJS='x86call.lo x86check$U.lo'

    ...

    case $host_cpu in
      i386*)                   path="x86/i386 x86" ;;
      i486*)                   path="x86/i486 x86" ;;
      i586 | pentium)          path="x86/pentium x86" ;;
      pentiummmx)              path="x86/pentium/mmx x86/pentium x86" ;;
      i686 | pentiumpro)       path="x86/p6 x86" ;;
      pentium2)                path="x86/p6/mmx x86/p6 x86" ;;
      pentium3)                path="x86/p6/p3mmx x86/p6/mmx x86/p6 x86";;
      k6[23])                path="x86/k6/k62mmx x86/k6/mmx x86/k6 x86" ;;
      k6)                      path="x86/k6/mmx x86/k6 x86" ;;
      athlon | k7 | x86_64 | atom)   path="x86/k7/mmx x86/k7 x86" ;;
k102 | k103 | bulldozer) path="x86/k7/mmx/k8/k10/k102 x86/k7/mmx/k8/k10 x86/k7/mmx/k8 x86/k7/mmx x86/k7 x86" ;; k10) path="x86/k7/mmx/k8/k10 x86/k7/mmx/k8 x86/k7/mmx x86/k7 x86" ;; k8 | bobcat) path="x86/k7/mmx/k8 x86/k7/mmx x86/k7 x86" ;;
      core2 | penryn)           path="x86/core2 x86" ;;
i786 | pentium4) path="x86/pentium4/sse2 x86/pentium4/mmx x86/pentium4 x86" ;;
      nehalem | westmere | sandybridge) path="x86/nehalem x86" ;;
prescott | netburst | netburstlahf) path="x86/pentium4/sse2 x86/pentium4/mmx x86/pentium4 x86" ;;
      # VIA/Centaur processors, sold as CyrixIII and C3.
      nano | viac32)           path="x86/p6/p3mmx x86/p6/mmx x86/p6 x86";;
      viac3*)                  path="x86/pentium/mmx x86/pentium x86";;
      *)                       path="x86" ;;
    esac

    ...


(There are more case distinctions not matching 'core[-*]'. Looks like 'prescott-*' was also missing in the /outer/ pattern, while it is used in some inner ones.)


-leif



On 24 February 2013 15:37, leif <not.rea...@online.de> wrote:
Bill Hart wrote:

Is it really trying to build a fat binary? I doubt that will work very
many places. The fat binary support is there for binary builders to
build binaries for multiple users, not for users to build
binaries themselves.

I doubt the fat binary option is compatible with many of the other
options either.



Well, this seems to be again someone running a 32-bit OS on a 64-bit CPU
(core-pc-linux-gnu according to the configure output).

I recall we explicitly had to set ABI=32 (hence added it to Sage's
spkg-install script) on such systems a while ago... (i.e., for MPIR 2.4.0)

Not sure why ABI="standard" (meaning what on x86/x86_64?) is required here.
(The C compiler, some GCC 4.7.2, is configured to build 32-bit binaries by
default, but also with --enable-targets=all.)


(I don't think --enable-fat is causing the problem.)


-leif



On Sunday, 24 February 2013, Jean-Pierre Flori wrote:

     This was reported here:
     https://groups.google.com/d/topic/sage-devel/9hpOtZYu8kI/discussion

     Also see #14172

     Apparently MPIR does not like the ABI=32 var (???) but prefers
     ABI=standard.

--
() The ASCII Ribbon Campaign
/\   Help Cure HTML E-Mail

--
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mpir-devel+unsubscr...@googlegroups.com.
To post to this group, send email to mpir-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/mpir-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to