LINUX.ORG.RU

не совпадают версии glibc


0

1

Доброго дня уважаемые

возник такой вопрос необходимо собрать на своем компютере программу которая будет запускаться на другой машине(кластер).

проблема в том что на той машине стоит другая версия glibc и в результате получаю такую ошибку:

/usr/bin/mpirun: relocation error: /usr/lib64/libopen-pal.so.0: symbol strlen, version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference

причем в случае не mpi сборки все работает нормально

подскажите что делать в таком случае

Заранее спасибо за ответы

Поставить в виртуалочку нужный дистрибутив (максимально близкий тому, что на кластере) и собирать свою программу в нем.

anonymous
()

из чего и как собираешь? я собирал из src.rpm, RPM позволяет создать отдельный воркспейс, в который можно ставить любые версии пакетов, не затрагивая саму систему, наподобие chroot'a

marvin_yorke ★★★
()
Ответ на: комментарий от marvin_yorke

На кластере не установлен компилятор?!

дело в том что часть исходников у меня написана на паскаль и собираю я их с помощю gpc которого там нет

из чего и как собираешь?

если имеется виду систем то Debian

SherKhan
() автор топика
Ответ на: комментарий от marvin_yorke

у дебиана, емнип, тоже есть src.deb - из них или просто из архивов с исходниками (tar.gz, tar.bz2)?

ясно спасибо буду изучать

SherKhan
() автор топика
Ответ на: комментарий от SherKhan

по копашвись еще немного пришел к выводу что проблема похоже не в крос сборке тк простейшие примеры на чистом с работают отлично

похоже что дело в gpc

также попытался установить подменить верстию glibc с помощью

export LD_ASSUME_KERNEL=2.2.5

в результате получил:

date: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory

/usr/bin/mpirun: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory

хотя

[*******@server-2 CV0250a]$ ldd ../mb_mpi 
        linux-vdso.so.1 =>  (0x00007fff599fe000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003dbd600000)
        libgfortran.so.1 => /usr/lib64/libgfortran.so.1 (0x00002aaaaaacd000)
        libmpi.so.0 => /usr/lib64/libmpi.so.0 (0x00000035bca00000)
        libopen-rte.so.0 => /usr/lib64/libopen-rte.so.0 (0x00000035bc600000)
        libopen-pal.so.0 => /usr/lib64/libopen-pal.so.0 (0x00000035bc200000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003dbda00000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003dc2a00000)
        libutil.so.1 => /lib64/libutil.so.1 (0x0000003dca400000)
        libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x0000003dbee00000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003dbde00000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003dbd200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003dbce00000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003dc0200000)

эти ошибки мне совсем не понятна

SherKhan
() автор топика
Ответ на: комментарий от SherKhan

в общем все решилось установкой

export LD_ASSUME_KERNEL=2.6.9

SherKhan
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.