2012-01-18 29 views
0

我遇到了古老的IRIX 6.5系統上的問題。首先一個程序沒有找到共享庫,因爲我把程序從一臺機器移到另一臺機器上。在IRIX UNIX中加載共享庫:由於ENOSPC而失敗

然後我提取了庫並將其放在我用戶家中的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: 

什麼是沒有足夠的空間是什麼意思?內存不足?我能做些什麼嗎?

有沒有人在那裏誰仍然知道IRIX UNIX?

回答

1

What does the Not enough space mean?

這意味着一些系統調用rld執行失敗,ENOSPC錯誤。

例如,如果磁盤上沒有足夠的空間,則可以使用write系統調用may failENOSPC

你的第一個任務應該是找出哪個系統調用失敗。可能您可以使用stracepar來查明。

I then fetched the library

注意,如果庫從比你正在運行的一個較新的機器來了,各種奇怪的錯誤都有些期待:UNIX系統支持向後兼容性(較老的二進制文件繼續在新的系統上運行)但不是相反。

+0

感謝您的回答。我使用'uname -a'獲取了IRIX版本。對於目標機器,它顯示:「IRIX DEST 6.5 04191226 IP32」,以及用於從IRIX SOURCE 6.5 10181059 IP28中複製庫的源機器。 AFAIK,最後一個IRIX版本是6.5.30。 – GorillaPatch 2012-01-23 07:53:49