Несоответствие номера версии: несоответствие между gmp.h и libgmp

Я пытался установить библиотеку NTL на Ubuntu, и после использования «make» я получаю эту ошибку:

GMP version check (6.0.0/6.1.0)
*** version number mismatch: inconsistency between gmp.h and libgmp
Aborted (core dumped)
makefile:346: recipe for target 'setup3' failed
make[1]: *** [setup3] Error 134
make[1]: Leaving directory '/mnt/c/Users/pc-admin/ntl-11.0.0/ntl-11.0.0/src'
makefile:310: recipe for target 'setup-phase' failed
make: *** [setup-phase] Error 2

я видел посты

https://gmplib.org/list-archives/gmp-discuss/2009-March/003663.html

http://www.mpfr.org/faq.html#undef_ref1

Но все же это не совсем помогло. В настоящее время мой usr/local/lib имеет

XXX@SECURE2:/usr/local/lib$ ls
libgmp.a   libgmp.so     libgmp.so.23.0.3  libmpfr.la  libmpfr.so.6      libmpir.a   libmpir.so     libmpir.so.23.0.3  python3.5
libgmp.la  libgmp.so.23  libmpfr.a         libmpfr.so  libmpfr.so.6.0.1  libmpir.la  libmpir.so.23  pkgconfig

и /usr/local/include имеет

XXX@SECURE2:/usr/local/include$ ls
gmp.h  mpf2mpfr.h  mpfr.h  mpir.h

Пробовал изменить пути среды как

C_INCLUDE_PATH=usr/local/include
LIBRARY_PATH=usr/local/lib
LD_LIBRARY_PATH=usr/local/lib

Что-то я не понимаю, как решить. Любая помощь будет высоко ценится! Спасибо за терпеливость


gmp
person ChanBan    schedule 26.04.2018    source источник
comment
Проще всего было бы использовать диспетчер пакетов Ubuntu для установки пакета libntl-dev.   -  person Marc Glisse    schedule 26.04.2018


Ответы (3)


Я столкнулся с той же проблемой. Это было из-за версии библиотеки. Сначала я установил gmp-6.1.2 (используя команду configure, make, make install), а затем я скачал ntl-11.3.2, введите команды configure и make. И возникла проблема:

GMP version check (6.1.2/6.1.0)

*** version number mismatch: inconsistency between gmp.h and libgmp
Aborted (core dumped)

makefile:353: recipe for target 'setup3' failed

Я предположил, что мне нужно установить gmp 6.1.0. Итак, я сначала вошел в каталог gmp-6.1.2, используя команду sudo make uninstall, затем скачал gmp-6.1.0, и проблема была решена. Может быть, вы можете попробовать удалить gmp 6.0.0, установить 6.1.0.

person kangsouth    schedule 28.11.2018
comment
У меня была такая же проблема, но с GMP 6.2.0 и NTL 11.4.3 (2020.01.04). Сейчас я попробую предложение @Marc Glisse... apt-get install libntl-dev - person CodeSamurai-like; 29.03.2020
comment
К сожалению, пакет libntl-dev устанавливает libntl5, и оба они представляют собой версию NTL 6.2.1-1 от 2014 года. В то время как мне нужны последние функции, такие как безопасность потоков и более высокая производительность. Хм. - person CodeSamurai-like; 29.03.2020

Я столкнулся с этой проблемой сегодня, когда установил GMP после того, как NTL Makefile позволил мне это сделать.

Кажется, помогает следующая команда:

sudo ldconfig
person Weikeng Chen    schedule 31.12.2020
comment
Я тоже столкнулся с этой проблемой только сейчас. Решаю по вашему методу. Спасибо! - person Land; 10.06.2021

Я нашел решение, начни заново и позволь мастеру разобраться.

Во-первых, избавиться от всего, что мы делали раньше

make clobber
./configure

Затем отредактируйте make-файл и включите мастер (около строки 128).

#WIZARD=off
WIZARD=on
person CodeSamurai-like    schedule 29.03.2020