Flint 安装错误: make: *** [build/generic_files/memory_manager.lo] 错误 1

问题描述 投票:0回答:1

我正在尝试将

flint
v3.1.2 安装到我在 MPCDF HPC 集群上的帐户中。 我成功地在我的主目录中安装了 GMP 6.3.0、MPFR 4.2.1,并为这两个软件包安装了
./configure --prefix=$HOME/software/<packagename>

flint
目录中,我按照 在线文档 并设法使用以下方法到达
./configure
步骤:

>>> cd flint/
>>> ./bootstrap.sh
>>> ./configure --prefix=$HOME/software/flint/ --with-gmp-include=$HOME/software/gmp-6.3.0/include/ --with-gmp-lib=$HOME/software/gmp-6.3.0/lib/ --with-mpfr-include=$HOME/software/mpfr-4.2.1/include/ --with-mpfr-lib=$HOME/software/mpfr-4.2.1/lib/

但是,当我转到

make
步骤时,我得到以下输出:

/usr/bin/mkdir -p build/generic_files
  CC  generic_files/inlines.c
  CC  generic_files/profiler.c
  CC  generic_files/sprintf.c
  CC  generic_files/fscanf.c
  CC  generic_files/memory_manager.c
In file included from ./src/thread_pool.h:15:0,
                 from src/generic_files/memory_manager.c:18:
./src/flint.h:154:28: error: unknown type name ‘_Thread_local’
 #  define FLINT_TLS_PREFIX _Thread_local
                            ^
src/generic_files/memory_manager.c:340:1: note: in expansion of macro ‘FLINT_TLS_PREFIX’
 FLINT_TLS_PREFIX size_t flint_num_cleanup_functions = 0;
 ^
src/generic_files/memory_manager.c:340:25: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘flint_num_cleanup_functions’
 FLINT_TLS_PREFIX size_t flint_num_cleanup_functions = 0;
                         ^
In file included from ./src/thread_pool.h:15:0,
                 from src/generic_files/memory_manager.c:18:
./src/flint.h:154:28: error: unknown type name ‘_Thread_local’
 #  define FLINT_TLS_PREFIX _Thread_local
                            ^
src/generic_files/memory_manager.c:342:1: note: in expansion of macro ‘FLINT_TLS_PREFIX’
 FLINT_TLS_PREFIX flint_cleanup_function_t * flint_cleanup_functions = NULL;
 ^
src/generic_files/memory_manager.c:342:43: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
 FLINT_TLS_PREFIX flint_cleanup_function_t * flint_cleanup_functions = NULL;
                                           ^
src/generic_files/memory_manager.c: In function ‘flint_register_cleanup_function’:
src/generic_files/memory_manager.c:358:5: error: ‘flint_cleanup_functions’ undeclared (first use in this function)
     flint_cleanup_functions = flint_realloc(flint_cleanup_functions,
     ^
src/generic_files/memory_manager.c:358:5: note: each undeclared identifier is reported only once for each function it appears in
src/generic_files/memory_manager.c:359:10: error: ‘flint_num_cleanup_functions’ undeclared (first use in this function)
         (flint_num_cleanup_functions + 1) * sizeof(flint_cleanup_function_t));
          ^
src/generic_files/memory_manager.c: In function ‘_flint_cleanup’:
src/generic_files/memory_manager.c:380:21: error: ‘flint_num_cleanup_functions’ undeclared (first use in this function)
     for (i = 0; i < flint_num_cleanup_functions; i++)
                     ^
src/generic_files/memory_manager.c:381:9: error: ‘flint_cleanup_functions’ undeclared (first use in this function)
         flint_cleanup_functions[i]();
         ^
src/generic_files/memory_manager.c: At top level:
cc1: warning: unrecognized command line option "-Wno-stringop-overread" [enabled by default]
cc1: warning: unrecognized command line option "-Wno-stringop-overflow" [enabled by default]
Makefile:615: recipe for target 'build/generic_files/memory_manager.lo' failed
make: *** [build/generic_files/memory_manager.lo] Error 1

有人可以帮我找出问题出在哪里吗?

c linux makefile autotools flint
1个回答
0
投票

目前解决方案似乎是使用旧版本 v3.0.1。 执行上述相同步骤即可成功安装。 我确实做了一件稍微不同的事情 - 那就是加载 OpenMP 模块,但我不确定这是否有任何区别。现在我很高兴能够在安装 v3.0.1 后使用

python-flint

© www.soinside.com 2019 - 2024. All rights reserved.