Загрузка общих библиотек в IRIX UNIX: ошибка из-за ENOSPC - PullRequest
0 голосов
/ 18 января 2012

У меня проблемы с древней IRIX 6.5 системой. Сначала программа не нашла общую библиотеку, потому что я переместил программу с одного компьютера на другой.

Затем я взял библиотеку и поместил ее в папку lib у себя дома и адаптировал $LD_LIBRARY_PATH соответственно. Теперь rld находит библиотеку, но elfmap завершается с ошибкой для меня:

138076:/s/masslib/pro/masslib: rld: Error: elfmap: couldn't map /usr/people/guest/lib/libndguisvr.so: Not enough space
138076:/s/masslib/pro/masslib: rld: Fatal Error: Cannot Successfully map soname 'libndguisvr.so' under any of the filenames /usr/people/guest/lib/libndguisvr.so:/usr/lib32/libndguisvr.so:/usr/lib32/internal/libndguisvr.so:/lib32/libndguisvr.so:/opt/lib32/libndguisvr.so:

Что означает Недостаточно места ? Недостаточно памяти? Что я могу с этим поделать?

Есть ли кто-нибудь на SO, кто еще знает IRIX UNIX?

1 Ответ

1 голос
/ 22 января 2012

Что означает "Недостаточно места"?

Это означает, что какой-то системный вызов, выполненный rld, завершился с ошибкой ENOSPC.

Например, write системный вызов может завершиться ошибкой с ENOSPC, если на диске недостаточно места.

Ваша первая задача должна состоять в том, чтобы выяснить , какой системный вызов не выполняется. Возможно, вы можете использовать strace или par, чтобы узнать это.

Затем я взял библиотеку

Обратите внимание, что если библиотека пришла с более новой машины, чем та, на которой вы работаете, все виды странных ошибок несколько ожидаются: системы UNIX поддерживают обратную совместимость (более старые двоичные файлы продолжают работать на более новых системах), но не наоборот .

...