2010-07-09 50 views
1

我在solaris 10上編譯perl DBI軟件包,比如說SERVER1上安裝了perl 5.8.10,並創建DBI。在沒有C編譯器的情況下在solaris 10上安裝perl DBD-MySQL軟件包

現在我將上面的DBI.so和DBI.pm文件複製到另一臺具有相同硬件和相同版本的perl的solaris SERVER2機器上。

我可以確定DBI軟件包能夠順利運行,我將來不會遇到任何運行時錯誤?

請注意,我沒有安裝C編譯器SERVER2的靈活性。

回答

1

硬件並不像你想象的那麼重要,操作系統很好地抽象了這一點。對於二進制兼容性,次要版本必須匹配,所以其他Perl也必須來自5.8系列。 (順便說一句,5.8.9是最後一個,5.8.10不存在。)

正如你在談論動態庫時,C級的集成更重要。是否兼容DBI.so(例如libc.so在兩臺機器上具有相同版本)?使用ldd命令進行檢查。

在不匹配的情況下,你不會得到運行時錯誤,但是當perl嘗試加載DBI時,在編譯時崩潰非常明顯。

1

答案與此問題相同:How can I install Perl modules on a restricted server? - 將模塊和庫安裝到具有相同體系結構(使用特殊安裝目錄)的系統上,然後將這些模塊複製到受限制的系統中。 (除非您可以找到需要的.so或.dll文件的預編譯二進制文件),但它不必位於預期的目標上。

相關問題