我試圖將一個Python腳本移植到舊的Solaris 10機器上。我從sunfreeware下載並安裝了所有必需的軟件包。它在進口線崩潰(進口CGIHTTPServer)與此錯誤消息:這個工作嗎?十六進制編輯文件,並將inet_aton更改爲inet_pton
ImportError: ld.so.1: python: fatal: relocation error: file /usr/local/lib/python2.6/lib-dynload/_socket.so: symbol inet_aton: referenced symbol not found
我試着用libresolve重新編譯,但我不想這樣做,所以我將文件複製到_socket.so我的Linux機器並用ghex2編輯。我用inet_pton替換了inet_aton,因爲我讀到solaris使用inet_pton。我也讀過python documentation that both system calls are similar。
我將文件_socket.so複製回原來的目錄,備份了舊的並替換爲已打補丁的文件。它正在運行,並且目前看起來還不錯。
您認爲python套接字模塊將在未來破?
做inet_aton
和inet_pton
返回結構兼容嗎?
我不知道,用十六進制編輯器對二進制文件進行黑客攻擊是非常忍者。如果這是爲了生產使用,我只需從源代碼重建......否則,如果它工作到目前爲止,您可能沒問題。 – larsks