GCC cilkplus branch fails to compile due to mismatched automake version?

GCC cilkplus branch fails to compile due to mismatched automake version?

Imagen de Jan M.

I'm trying to compile the cilkplus branch of gcc. The build fails with the following message:

make[2]: Entering directory `/dev/shm/cilk/x86_64-unknown-linux-gnu/libcilkrts'
CDPATH="${ZSH_VERSION+.}:" && cd /private/src/gcc-git/libcilkrts && /bin/sh /private/src/gcc-git/missing --run autoconf
aclocal.m4:16: warning: this file was generated for autoconf 2.64.
You have another version of autoconf.  It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.
configure.ac:24: error: Please use exactly Autoconf 2.64 instead of 2.69.
../config/override.m4:12: _GCC_AUTOCONF_VERSION_CHECK is expanded from...
configure.ac:24: the top level
autom4te: m4 failed with exit status: 1
make[2]: *** [/private/src/gcc-git/libcilkrts/configure] Error 1
make[2]: Leaving directory `/dev/shm/cilk/x86_64-unknown-linux-gnu/libcilkrts'
make[1]: *** [all-target-libcilkrts] Error 2
make[1]: Leaving directory `/dev/shm/cilk'
make: *** [all] Error 2

The last commit to compile is 90330cd (git), but it produces internal compiler errors, whenever the program includes cilk_for. A simple Fibonacci example works.

publicaciones de 5 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.
Imagen de Balaji Iyer (Intel)

Hi Jan,

      If you would like to do "autoconf" by yourself then GCC requires you to use autoconf 2.64. In general, you shouldn't need to do any special autoconf of libcilkrts. It should already have a Makefile.in and configure scripts in it and ready to go (you just need to configure gcc and built)

     I am not able to reproduce cilk_for issues that you mentioned when I tested the branch earlier this week. I will look into it and get back to you. Do you have a testcode for _Cilk_for that I can use?

Thanks,

Balaji V. Iyer.

Imagen de Jan M.

Hi Balaji,

I'm not running "autoconf" by hand. This was the end of a build that I configured with "/private/src/gcc-git/configure -enable-languages="c,c++" --prefix=$HOME/.local/gcc/4.9_cilk". I used the ./contrib/download_prerequisites script to download gmp-4.3.2, mpfr-2.4.2, and mpc-0.8.1. I created links mpc, mpfr, and gmp to the appropriate versioned directories.

#include <cilk/cilk.h>
#include <iostream>
int main(int argc, char** argv){
    double a[1000];
    double b[1000];
    double c = 0.5;
    cilk_for(int i = 0; i < 1000; ++i){
        a[i] = 1;
        b[i] = 2;
    }
    
    a[:] = c * b[:] - a[:];
    std::cout << "a[0] = " << a[0] << std::endl;
    return 0;
}

compiled with "g++ -fcilkplus -lcilkrts -o simple_test simple_test.cpp" causes

simple_test.cpp: In function 'int main(int, char**)':
simple_test.cpp:4:5: internal compiler error: Segmentation fault
 int main(int argc, char** argv){
     ^
0xae6cff crash_signal
        /private/src/gcc-git/gcc/toplev.c:334
0xb59b6a get_frame_type
        /private/src/gcc-git/gcc/tree-nested.c:221
0xb59b6a get_chain_decl
        /private/src/gcc-git/gcc/tree-nested.c:333
0xb5d542 get_chain_decl
        /private/src/gcc-git/gcc/tree-nested.c:842
0xb5d542 get_nonlocal_debug_decl
        /private/src/gcc-git/gcc/tree-nested.c:847
0xb5dc08 convert_nonlocal_reference_op
        /private/src/gcc-git/gcc/tree-nested.c:925
0xceefdb walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, pointer_set_t*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, pointer_set_t*))
        /private/src/gcc-git/gcc/tree.c:10810
0x95016c walk_gimple_op(gimple_statement_d*, tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1430
0x950744 walk_gimple_stmt(gimple_stmt_iterator_d*, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1724
0x9509d8 walk_gimple_seq_mod(gimple_statement_d**, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1267
0x95084b walk_gimple_stmt(gimple_stmt_iterator_d*, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1766
0x9509d8 walk_gimple_seq_mod(gimple_statement_d**, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1267
0x950802 walk_gimple_stmt(gimple_stmt_iterator_d*, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1734
0x9509d8 walk_gimple_seq_mod(gimple_statement_d**, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1267
0x950802 walk_gimple_stmt(gimple_stmt_iterator_d*, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1734
0x9509d8 walk_gimple_seq_mod(gimple_statement_d**, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1267
0x950802 walk_gimple_stmt(gimple_stmt_iterator_d*, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1734
0x9509d8 walk_gimple_seq_mod(gimple_statement_d**, tree_node* (*)(gimple_stmt_iterator_d*, bool*, walk_stmt_info*), tree_node* (*)(tree_node**, int*, void*), walk_stmt_info*)
        /private/src/gcc-git/gcc/gimple.c:1267
0xb59271 walk_body
        /private/src/gcc-git/gcc/tree-nested.c:594
0xb59de8 walk_function
        /private/src/gcc-git/gcc/tree-nested.c:605
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

If I compile it with icpc everything is fine.

Jan

Imagen de Balaji Iyer (Intel)

Hi Jan,

   I have reproduced this issue. I will get back to you as soon as i get a fix.

Thanks,

Balaji V. Iyer.

Imagen de Robert M.

same problem here

I also tried to build autoconf 2.64 (instead of 2.6.9) from http://ftp.gnu.org/gnu/autoconf/, but make test failed (30: autom4te preselectons)

nevertheless added its folder as prefix of $PATH and started compilation of cilk enabled gcc again - same error

Inicie sesión para dejar un comentario.