Ошибки компоновщика при построении OpenMPI

#linux #docker #fedora #openmpi

Вопрос:

При попытке создать OpenMPI в образе докера Fedora 34 я получаю следующие ошибки компоновщика:

 #22 77.36 make[2]: Entering directory '/build/openmpi-4.1.1/opal/tools/wrappers'
#22 77.37   CC       opal_wrapper.o
#22 77.67   CCLD     opal_wrapper
#22 77.81 /usr/bin/ld: ../../../opal/.libs/libopen-pal.so: undefined reference to `opal_util_keyval_yytext'
#22 77.81 /usr/bin/ld: ../../../opal/.libs/libopen-pal.so: undefined reference to `opal_util_keyval_yyin'
#22 77.81 /usr/bin/ld: ../../../opal/.libs/libopen-pal.so: undefined reference to `opal_util_keyval_yylineno'
#22 77.81 /usr/bin/ld: ../../../opal/.libs/libopen-pal.so: undefined reference to `opal_util_keyval_yynewlines'
#22 77.81 /usr/bin/ld: ../../../opal/.libs/libopen-pal.so: undefined reference to `opal_util_keyval_yylex'
#22 77.81 /usr/bin/ld: ../../../opal/.libs/libopen-pal.so: undefined reference to `opal_util_keyval_parse_done'
#22 77.81 /usr/bin/ld: ../../../opal/.libs/libopen-pal.so: undefined reference to `opal_util_keyval_yylex_destroy'
#22 77.81 /usr/bin/ld: ../../../opal/.libs/libopen-pal.so: undefined reference to `opal_util_keyval_init_buffer'
#22 77.81 collect2: error: ld returned 1 exit status
 

Моя команда «Настроить» справедлива ./configure --prefix=/usr/local/openmpi .

Я также пытался ./configure --prefix=/usr/local/openmpi --disable-silent-rules --enable-builtin-atomics --with-hwloc=/usr --with-libevent=external --with-pmix=external --with-valgrind (аналогично тому, что есть в файле спецификации Fedora для OpenMPI), но это приводит к тем же ошибкам.

Ответ №1:

После того, как я опубликовал сообщение в списке пользователей OpenMPI, кто-то указал на строку

 ../../libtool: line 5705: find: command not found
 

в выводе make. find Команда в Fedora предоставляется findutils пакетом. После установки findutils в образ я смог успешно создать OpenMPI.

Комментарии:

1. Тем временем я сделал два запуска со сборкой openmpi-4.1.1, и, конечно, никаких ошибок при установке Fedora 34 по умолчанию. Результаты: пакеты rpm и т. Д. drive.google.com/drive/folders/…

2. @KnudLarsen, вы делали свои сборки из образа докера Fedora? Другие среды, вероятно, поставляются с уже установленными findutils, но в образе Docker, похоже, его по умолчанию нет.

3. Изображение докера Fedora : Нет. …. Операционная система устанавливается на раздел жесткого диска. …… Извините, что я неправильно истолковал ваш вопрос.