Что такое "переигровка" предупреждения?

Во время компиляции mpichЯ получил несколько relinking предупреждения...

libtool: warning: relinking 'lib/libmpicxx.la'

Я не смог выяснить, что они означают, погуглив сообщение об ошибке. Что такое relinking? Почему это вызвано и как я могу избавиться от этого?

1 ответ

Предупреждение о повторном связывании выдается при установке, а не при компиляции. Libtool предупреждает вас, что во время установки выполняется потенциально медленная команда. Причины повторного связывания могут быть разными.

В случае mpichПричина совершенно безобидна. libmpicxx библиотека зависит от libmpi библиотека. Оба построены из одного источника. Libtool гарантирует, что если вы запустите любой исполняемый файл в каталоге сборки, он будет использовать библиотеки из каталога сборки, а не установленную библиотеку.

Нет никакого способа убедиться (по крайней мере, в Linux), что libmpicxx будет использовать локально построенный libmpi библиотека без жесткого кодирования пути поиска библиотеки (так называемый RPATH) в libmpicxx,

Для установленных библиотек требуется, чтобы они никогда не ссылались на дерево сборки, в котором они были собраны. Таким образом, RPATH должен быть исключен из установленного libmpicxx библиотека. Это делается путем перекомпоновки.

Еще раз, предупреждение не о вас или о том, что пакет делает что-то неправильно, а о потенциально медленной операции на этапе установки (ожидаются медленные операции на этапе сборки и предупреждение не требуется).

Другие вопросы по тегам