Bill Hart wrote:
The second issue is almost certainly a bug. The first looks like it
could be, due to the presence of intmax_t in the output. But the cxx has
never built on some machines we have access to due to broken compilers.
I'll look into it.

While I do get the same results with GCC 4.1.2 and MPIR 2.5.2 [first / C++ issue], the linker error with GCC 4.7.0 [second issue] is a regression w.r.t. 2.5.2, i.e., MPIR 2.5.2's testsuite builds and passes all tests with GCC 4.7.0 (Linux IA64 / SLES 10 Itanium).

Haven't investigated further; someone^TM should install GCC 4.7.2 (or 4.7.1, which fixed the brokenness on Itanium)... ;-)


-leif


I forgot to mention that we need to run make tune on each arch we have
access to and put the resulting output in the correct gmp-mparam.h file
in the relevant mpn directory. Of course without svn access (we are
switching to git soon I promise), the best way is to just post the
output to the list along with the output from config.guess and let one
of us commit it.

Bill.

On Sunday, 7 October 2012, leif wrote:

    Bill Hart wrote:

        Hi all,

        It is with pleasure that we release MPIR 2.6.0 alpha1. The
        source and
        documentation can be downloaded at http://mpir.org/

        This release contains a new FFT, support for intmax_t integers, a
        Python build generator and various bug fixes.

        The alpha version has been tested on only a few architectures at
        this
        point. We appreciate any and all build/bug reports. Once testing is
        complete, the status will be upgraded to beta or perhaps final.


    FWIW, I've successfully built MPIR 2.6.0-alpha1 (with '--enable-cxx' and
    '--enable-gmpcompat') and run 'make check' on the following platforms:

       Linux PPC64 (SLES 11, POWER7), GCC 4.3.4 (without C++ support)

       Linux PPC64 (SLES 11, POWER7), GCC 4.6.3

       Solaris SPARC (SunOS 5.10, UltraSPARC III), GCC 4.7.0, ABI=32

       Solaris SPARC (SunOS 5.10, UltraSPARC III), GCC 4.7.0, ABI=64

    I didn't try to (re)build/test anything using GMP/MPIR though.


    On Linux IA64 (SLES 10, Itanium) in contrast, I got the following
    failures:

    With the (fairly old) "native" GCC 4.1.2, building the testsuite fails:

    make[4]: Entering directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.1.2/__tests/cxx'
    g++ -DHAVE_CONFIG_H -I. -I../../../mpir-2.6.0-alpha1/__tests/cxx
    -I../.. -I../../../mpir-2.6.0-alpha1
    -I../../../mpir-2.6.0-alpha1/__tests    -O2 -c -o t-assign.o
    ../../../mpir-2.6.0-alpha1/__tests/cxx/t-assign.cc
    ../../../mpir-2.6.0-alpha1/__mpirxx.h:1587: error:
    ‘__gmp_expr<__mpz_struct [1], __mpz_struct
    [1]>::__gmp_expr(intmax_t)’ cannot be overloaded
    ../../../mpir-2.6.0-alpha1/__mpirxx.h:1578: error: with
    ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr(long int)’
    ../../../mpir-2.6.0-alpha1/__mpirxx.h:1588: error:
    ‘__gmp_expr<__mpz_struct [1], __mpz_struct
    [1]>::__gmp_expr(uintmax_t)’ cannot be overloaded
    ../../../mpir-2.6.0-alpha1/__mpirxx.h:1579: error: with
    ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>::__gmp_expr(long
    unsigned int)’
    ../../../mpir-2.6.0-alpha1/__mpirxx.h:1656: error:
    ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>&
    __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(intmax_t)’
    cannot be overloaded
    ../../../mpir-2.6.0-alpha1/__mpirxx.h:1647: error: with
    ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>&
    __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(long int)’
    ../../../mpir-2.6.0-alpha1/__mpirxx.h:1657: error:
    ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>&
    __gmp_expr<__mpz_struct [1], __mpz_struct
    [1]>::operator=(uintmax_t)’ cannot be overloaded
    ../../../mpir-2.6.0-alpha1/__mpirxx.h:1648: error: with
    ‘__gmp_expr<__mpz_struct [1], __mpz_struct [1]>&
    __gmp_expr<__mpz_struct [1], __mpz_struct [1]>::operator=(long
    unsigned int)’
    make[4]: *** [t-assign.o] Error 1
    make[4]: Leaving directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.1.2/__tests/cxx'
    make[3]: *** [check-am] Error 2
    make[3]: Leaving directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.1.2/__tests/cxx'
    make[2]: *** [check-recursive] Error 1
    make[2]: Leaving directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.1.2/__tests'
    make[1]: *** [check-recursive] Error 1
    make[1]: Leaving directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.1.2'
    make: *** [check] Error 2

    $ gcc -v
    Using built-in specs.
    Target: ia64-suse-linux
    Configured with: ../configure --enable-threads=posix --prefix=/usr
    --with-local-prefix=/usr/local --infodir=/usr/share/info
    --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib
    --enable-languages=c,c++,objc,__fortran,obj-c++,java,ada
    --enable-checking=release
    --with-gxx-include-dir=/usr/__include/c++/4.1.2 --enable-ssp
    --disable-libssp --disable-libgcj --with-slibdir=/lib
    --with-system-zlib --enable-shared --enable-__cxa_atexit
    --enable-libstdcxx-allocator=__new --program-suffix=
    --enable-version-specific-__runtime-libs --with-system-libunwind
    --host=ia64-suse-linux
    Thread model: posix
    gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)

    (No idea whether any recent version of MPIR does build with that
    version of GCC.)

    Without '--enable-cxx', the testsuite builds and passes.


    With GCC 4.7.0 (and CFLAGS="-O0 -finline-functions
    -fschedule-insns", since this version is severely broken on Itanium)
    I get:

    libtool: link: ranlib .libs/libtests.a
    libtool: link: ( cd ".libs" && rm -f "libtests.la
    <http://libtests.la>" && ln -s "../libtests.la <http://libtests.la>"
    "libtests.la <http://libtests.la>" )
    gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../mpir-2.6.0-alpha1/__tests
    -I.. -I../../mpir-2.6.0-alpha1    -O0 -finline-functions
    -fschedule-insns -c ../../mpir-2.6.0-alpha1/tests/__t-bswap.c
    /bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -O0
    -finline-functions -fschedule-insns   -o t-bswap t-bswap.o
    libtests.la <http://libtests.la> ../libmpir.la <http://libmpir.la>
    libtool: link: gcc -std=gnu99 -O0 -finline-functions
    -fschedule-insns -o .libs/t-bswap t-bswap.o  ./.libs/libtests.a
    /home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.7.0/.__libs/libmpir.so
    -lm ../.libs/libmpir.so
    /home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.7.0/.__libs/libmpir.so:
    undefined reference to `mpn_addmod_2expp1_1'
    collect2: error: ld returned 1 exit status
    make[4]: *** [t-bswap] Error 1
    make[4]: Leaving directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.7.0/__tests'
    make[3]: *** [check-am] Error 2
    make[3]: Leaving directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.7.0/__tests'
    make[2]: *** [check-recursive] Error 1
    make[2]: Leaving directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.7.0/__tests'
    make[1]: *** [check-recursive] Error 1
    make[1]: Leaving directory
    `/home/leif/src/mpir-2.6.0-__alpha1-build.iras-gcc-4.7.0'
    make: *** [check] Error 2


    Btw, invalid options to 'configure' (e.g. '--enable-gmp-compat' or
    '--enable-foo') are silently ignored, even with '-v'; probably just some
    (newer) autotools "feature"...


    -leif



        Thank you to the all people who made comments on our development
        list,
        who provided bug reports and helped with testing. This includes, but
        is probably not limited to Case van Horsen, David Cleaver, Pavel
        Holoborodko and Sisyphus.

        A full list of code contributions to MPIR can be found in the
        AUTHORS
        file in the source tarball.

        Best Wishes,

        The MPIR Team.


    --
    () 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 post to this group, send email to mpir-devel@googlegroups.com.
    To unsubscribe from this group, send email to
    mpir-devel+unsubscr...@googlegroups.com.
    For more options, visit this group at
    http://groups.google.com/__group/mpir-devel?hl=en
    <http://groups.google.com/group/mpir-devel?hl=en>.

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


--
() 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 post to this group, send email to mpir-devel@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to