#18326: mpir-2.7.0-alpha12 fails to configure on SLES11SP1 power7 (ppc64) with 
gcc
5.1
--------------------------------------+------------------------
       Reporter:  fbissey             |        Owner:
           Type:  defect              |       Status:  new
       Priority:  major               |    Milestone:  sage-6.7
      Component:  packages: standard  |   Resolution:
       Keywords:                      |    Merged in:
        Authors:                      |    Reviewers:
Report Upstream:  N/A                 |  Work issues:
         Branch:                      |       Commit:
   Dependencies:                      |     Stopgaps:
--------------------------------------+------------------------
Description changed by fbissey:

Old description:

> Just as it says in the title. mpir configuration fails, this was done
> with sage 6.7.beta3's tarball. It is not a C++11 problem, it seems to be
> C11 problem, possibly ppc64 specific.
> {{{
> /hpc/scratch/frb15/sandbox/sage-6.7.beta3/build/pipestatus "sage-spkg -f
> mpir-2.7.0-alpha12 2>&1" "tee -a
> /hpc/scratch/frb15/sandbox/sage-6.7.beta3/logs/pkgs/mpir-2.7.0-alpha12.log"
> Found local metadata for mpir-2.7.0-alpha12
> Found local sources at
> /hpc/scratch/frb15/sandbox/sage-6.7.beta3/upstream/mpir-2.7.0-alpha12.tar.bz2
> Checksum: 6a46071d007a5284dbb67c4db70306deeb3e6513 vs
> 6a46071d007a5284dbb67c4db70306deeb3e6513
> mpir-2.7.0-alpha12
> ====================================================
> Setting up build directory for mpir-2.7.0-alpha12
> mv: cannot stat `mpir-2.7.0-alpha12*': No such file or directory
> Finished set up
> ****************************************************
> Host system:
> Linux p2n14-c 2.6.32.54-0.3-ppc64 #1 SMP 2012-01-27 17:38:56 +0100 ppc64
> ppc64 ppc64 GNU/Linux
> ****************************************************
> C compiler: gcc
> C compiler version:
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/hpc/home/projects/packages/local.linux.ppc/pkg/gcc/5.1.0/bin/../libexec/gcc/powerpc64-linux/5.1.0
> /lto-wrapper
> Target: powerpc64-linux
> Configured with: ../configure --build=powerpc64-linux
> --host=powerpc64-linux --target=powerpc64-linux --with-cpu=default64
> --prefix=/usr/local/pkg/gcc/5.1.0 --with-long-double-128 --enable-
> secureplt --enable-threads=posix --enable-languages=c,c++,fortran
> --enable-__cxa_atexit --enable-shared --enable-checking=release --enable-
> lto --enable-gnu-indirect-function --without-libelf --with-cpu=power7
> --with-tune=power7 --with-build-time-tools=/opt/at7.0/powerpc64-linux/bin
> Thread model: posix
> gcc version 5.1.0 (GCC)
> ****************************************************
> Applying patches to upstream sources...
> patching file gmp-h.in
> patching file mpirxx.h
> patching file mpn/x86/fat/fat.c
> Building a 64-bit version of MPIR.
> Building MPIR with the C++ interface and (also) static libraries.
> ------------------------------------------------------------------------
> Configuring MPIR with empty CFLAGS to determine the defaults:
> checking build system type... power7-unknown-linux-gnu
> checking host system type... power7-unknown-linux-gnu
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /bin/mkdir -p
> checking for gawk... gawk
> checking whether make sets $(MAKE)... yes
> checking whether to enable maintainer-specific portions of Makefiles...
> no
> checking ABI=mode64
> checking compiler gcc -m64  ... no, long long reliability test 1
> checking compiler gcc  ... no, long long reliability test 1
> configure: error: could not find a working compiler, see config.log for
> details
> Error configuring MPIR (with CFLAGS unset).
> Consult
> /hpc/scratch/frb15/sandbox/sage-6.7.beta3/local/var/tmp/sage/build/mpir-2.7.0-alpha12/src/config.log
> for for details.
> }}}
> Inspecting `config.log` the code not compiling is
> {{{
> /* The following provokes a segfault in the compiler on powerpc-apple-
> darwin.
>    Extracted from tests/mpn/t-iord_u.c.  Causes Apple's gcc 3.3 build
> 1640 and
>    1666 to segfault with, e.g., -O2 -mpowerpc64.  */
>
> #if defined(__GNUC__) && !defined(__clang__)
> typedef unsigned long long t1;typedef t1*t2;
> __inline__ t1 e(t2 rp,t2 up,int n,t1 v0)
> {t1 c,x,r;int
> i;if(v0){c=1;for(i=1;i<n;i++){x=up[i];r=x+1;rp[i]=r;}}return c;}
> f(){static const struct{t1 n;t1 src[9];t1 want[9];}d[]={{1,{0},{1}},};t1
> got[9];int i;
> for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
> h(){}g(){}
> #else
> int dummy;
> #endif
>
> int main () { return 0; }
> }}}
> which give rise to the following warnings and errors
> {{{
> gcc conftest.c
> conftest.c:9:1: warning: return type defaults to 'int' [-Wimplicit-int]
>  f(){static const struct{t1 n;t1 src[9];t1 want[9];}d[]={{1,{0},{1}},};t1
> got[9];int i;
>  ^
> conftest.c: In function 'f':
> conftest.c:10:44: warning: implicit declaration of function 'h'
> [-Wimplicit-function-declaration]
> for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
>                                             ^
> conftest.c:10:48: warning: implicit declaration of function 'g'
> [-Wimplicit-function-declaration]
> for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
>                                                 ^
> conftest.c: At top level:
> conftest.c:11:1: warning: return type defaults to 'int' [-Wimplicit-int]
>  h(){}g(){}
>  ^
> conftest.c:11:6: warning: return type defaults to 'int' [-Wimplicit-int]
>  h(){}g(){}
>       ^
> /tmp/cc80AtKw.o: In function `f':
> conftest.c:(.text+0x50): undefined reference to `e'
> collect2: error: ld returned 1 exit status
> }}}
> I only had to to use `-std=gnu90` to compile that code `-std=gnu99` and
> the default both gave the above errors.

New description:

 Just as it says in the title. mpir configuration fails, this was done with
 sage 6.7.beta3's tarball. It is not a C++11 problem, it seems to be C11
 problem, possibly ppc64 specific.
 {{{
 /hpc/scratch/frb15/sandbox/sage-6.7.beta3/build/pipestatus "sage-spkg -f
 mpir-2.7.0-alpha12 2>&1" "tee -a
 /hpc/scratch/frb15/sandbox/sage-6.7.beta3/logs/pkgs/mpir-2.7.0-alpha12.log"
 Found local metadata for mpir-2.7.0-alpha12
 Found local sources at
 /hpc/scratch/frb15/sandbox/sage-6.7.beta3/upstream/mpir-2.7.0-alpha12.tar.bz2
 Checksum: 6a46071d007a5284dbb67c4db70306deeb3e6513 vs
 6a46071d007a5284dbb67c4db70306deeb3e6513
 mpir-2.7.0-alpha12
 ====================================================
 Setting up build directory for mpir-2.7.0-alpha12
 mv: cannot stat `mpir-2.7.0-alpha12*': No such file or directory
 Finished set up
 ****************************************************
 Host system:
 Linux p2n14-c 2.6.32.54-0.3-ppc64 #1 SMP 2012-01-27 17:38:56 +0100 ppc64
 ppc64 ppc64 GNU/Linux
 ****************************************************
 C compiler: gcc
 C compiler version:
 Using built-in specs.
 COLLECT_GCC=gcc
 
COLLECT_LTO_WRAPPER=/hpc/home/projects/packages/local.linux.ppc/pkg/gcc/5.1.0/bin/../libexec/gcc/powerpc64-linux/5.1.0
 /lto-wrapper
 Target: powerpc64-linux
 Configured with: ../configure --build=powerpc64-linux
 --host=powerpc64-linux --target=powerpc64-linux --with-cpu=default64
 --prefix=/usr/local/pkg/gcc/5.1.0 --with-long-double-128 --enable-
 secureplt --enable-threads=posix --enable-languages=c,c++,fortran
 --enable-__cxa_atexit --enable-shared --enable-checking=release --enable-
 lto --enable-gnu-indirect-function --without-libelf --with-cpu=power7
 --with-tune=power7 --with-build-time-tools=/opt/at7.0/powerpc64-linux/bin
 Thread model: posix
 gcc version 5.1.0 (GCC)
 ****************************************************
 Applying patches to upstream sources...
 patching file gmp-h.in
 patching file mpirxx.h
 patching file mpn/x86/fat/fat.c
 Building a 64-bit version of MPIR.
 Building MPIR with the C++ interface and (also) static libraries.
 ------------------------------------------------------------------------
 Configuring MPIR with empty CFLAGS to determine the defaults:
 checking build system type... power7-unknown-linux-gnu
 checking host system type... power7-unknown-linux-gnu
 checking for a BSD-compatible install... /usr/bin/install -c
 checking whether build environment is sane... yes
 checking for a thread-safe mkdir -p... /bin/mkdir -p
 checking for gawk... gawk
 checking whether make sets $(MAKE)... yes
 checking whether to enable maintainer-specific portions of Makefiles... no
 checking ABI=mode64
 checking compiler gcc -m64  ... no, long long reliability test 1
 checking compiler gcc  ... no, long long reliability test 1
 configure: error: could not find a working compiler, see config.log for
 details
 Error configuring MPIR (with CFLAGS unset).
 Consult
 
/hpc/scratch/frb15/sandbox/sage-6.7.beta3/local/var/tmp/sage/build/mpir-2.7.0-alpha12/src/config.log
 for for details.
 }}}
 Inspecting `config.log` the code not compiling is
 {{{
 /* The following provokes a segfault in the compiler on powerpc-apple-
 darwin.
    Extracted from tests/mpn/t-iord_u.c.  Causes Apple's gcc 3.3 build 1640
 and
    1666 to segfault with, e.g., -O2 -mpowerpc64.  */

 #if defined(__GNUC__) && !defined(__clang__)
 typedef unsigned long long t1;typedef t1*t2;
 __inline__ t1 e(t2 rp,t2 up,int n,t1 v0)
 {t1 c,x,r;int i;if(v0){c=1;for(i=1;i<n;i++){x=up[i];r=x+1;rp[i]=r;}}return
 c;}
 f(){static const struct{t1 n;t1 src[9];t1 want[9];}d[]={{1,{0},{1}},};t1
 got[9];int i;
 
for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
 h(){}g(){}
 #else
 int dummy;
 #endif

 int main () { return 0; }
 }}}
 which give rise to the following warnings and errors
 {{{
 gcc conftest.c
 conftest.c:9:1: warning: return type defaults to 'int' [-Wimplicit-int]
  f(){static const struct{t1 n;t1 src[9];t1 want[9];}d[]={{1,{0},{1}},};t1
 got[9];int i;
  ^
 conftest.c: In function 'f':
 conftest.c:10:44: warning: implicit declaration of function 'h'
 [-Wimplicit-function-declaration]
 
for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
                                             ^
 conftest.c:10:48: warning: implicit declaration of function 'g'
 [-Wimplicit-function-declaration]
 
for(i=0;i<1;i++){if(e(got,got,9,d[i].n)==0)h();g(i,d[i].src,d[i].n,got,d[i].want,9);if(d[i].n)h();}}
                                                 ^
 conftest.c: At top level:
 conftest.c:11:1: warning: return type defaults to 'int' [-Wimplicit-int]
  h(){}g(){}
  ^
 conftest.c:11:6: warning: return type defaults to 'int' [-Wimplicit-int]
  h(){}g(){}
       ^
 /tmp/cc80AtKw.o: In function `f':
 conftest.c:(.text+0x50): undefined reference to `e'
 collect2: error: ld returned 1 exit status
 }}}
 I had to use `-std=gnu90` to compile that code `-std=gnu99` and the
 default both gave the above errors.

--

--
Ticket URL: <http://trac.sagemath.org/ticket/18326#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to