Предупреждение о «повторении» испускается при установке, а не при компиляции. Libtool предупреждает вас, что во время установки он запускает потенциально медленную команду. Могут быть разные причины для повторного использования.
В случае mpich
причина совершенно безобидная. Библиотека libmpicxx
зависит от библиотеки libmpi
. Оба они построены из одного источника. Libtool гарантирует, что если вы запустите любой исполняемый файл в каталоге сборки, он будет использовать библиотеки из каталога сборки, а не установленной библиотеки.
Там нет никакого способа, чтобы убедиться, что (по крайней мере на Linux), что libmpicxx
будет использовать локально построенную libmpi
библиотеку без жесткого кодирования пути поиска библиотек (так называемый RPATH) в libmpicxx
.
Для установленных библиотек необходимо, чтобы они никогда не ссылались на дерево сборки, где они были построены. Таким образом, RPATH необходимо исключить из установленной библиотеки libmpicxx
. Это делается путем его повторного использования.
Опять же предупреждение не о вас или о пакете, которое делает что-то неправильно, речь идет о потенциально медленной работе на этапе установки (ожидаются медленные операции на этапе сборки и не требуются предупреждения).
Вы пытаетесь связать одну и ту же библиотеку дважды в один двоичный файл. –
Итак, он создает мертвый код в двоичном формате? Соответствует ли компоновщик этому? –