我創建了一個C程序的共享庫。我使用-Xlinker -G
選項創建了.so文件。這個庫將從Oracle Goldengate(userexit)中調用。但是當oracle試圖加載模塊時,它的異常結束說明「系統錯誤:exec格式錯誤」。 有沒有什麼方法可以調查更多關於加載庫時出錯的信息?如何調查有關某些.so文件給Sytem錯誤的更多信息:AIX中的exec格式錯誤
0
A
回答
2
檢查的file libyourname.so
輸出...
以我的經驗,這也可能是您的lib是32位和他們的是64位的,反之亦然,等等。
一個32位模塊將顯示:
libname.so: executable (RISC System/6000) or object module not stripped
64位模塊將顯示:
libname.so: 64-bit XCOFF executable or object module not stripped
1
當編譯的服務器上的應用程序,它可以不是在完全相同的操作系統版本作爲您希望運行它的一個,您可能會看到以下錯誤:
無法加載....:執行格式錯誤
這裏有一些事情要檢查:
1)確保你的庫是在正確的版本和級別(尤其是libc中):
轉儲-H /路徑/到/可執行
2)如果你有異步I/O編譯服務器上配置,使其在新服務器上,以及:
lsattr來-El aio0
檢查,以確保自動配置是否啓用它設置爲「可用」。
如果您需要能夠AIO:
用mkdev -l aio0
的chdev -l aio0 -a自動配置= '可用'
注:Oracle可執行文件需要異步I/O的工作正常。 示例
dump -H/path/to/executable; mkdev -l aio0;使用chdev -l aio0 -a自動配置= '可用'
此外,你可以參考以下鏈接: http://www-01.ibm.com/support/docview.wss?uid=swg21253974
+0
我已經檢查了所有這一切,但不幸的是它沒有幫助。 :( – n00b
相關問題
- 1. 如何讓Windows Azure給我更多有用的錯誤信息
- 2. libstdC++。so:錯誤添加符號:錯誤格式的文件
- 3. Java:XML/XSL Transformer如何獲取有關錯誤的更多信息?
- 4. 如何獲得有關該錯誤的更多信息?
- 5. 如何給錯誤信息
- 6. exec格式錯誤
- 7. 無效文件(錯誤的幻數):Exec格式錯誤
- 8. 格式錯誤信息
- 9. 不接收某些PHP錯誤信息
- 10. 改善格式錯誤的輸入格式錯誤信息?
- 11. .NET中的TransactionScope錯誤?更多信息?
- 12. 如何在將文件上傳到Azure CDN時獲取有關400錯誤請求錯誤的更多信息
- 13. 如何調試Rspec的某些錯誤
- 14. 如何獲得更多關於py2app錯誤的信息?
- 15. 查找更多關於內部錯誤的信息,aws elastik beanstalk
- 16. 如何給comman錯誤信息而不是codeigniter中的多個錯誤
- 17. dnx exec格式錯誤
- 18. 如何獲得更多關於貓鼬錯誤信息的詳細信息?
- 19. C++錯誤信息的輸出格式
- 20. 如何將值 - 錯誤格式中的某個值/錯誤更改爲值(錯誤)格式?
- 21. 「格式錯誤的htpasswd文件」啓動pypi-server時出現錯誤信息
- 22. 更多信息SASS錯誤消息?
- 23. 錯誤消息中有多少信息給普通用戶?
- 24. 我該如何強制cabal給我更多有意義的錯誤信息?
- 25. RIA Domainservice - Notfound錯誤 - 如何獲取更多調試信息?
- 26. COM:如何獲得有關COM錯誤的更多詳細信息?
- 27. 如何在Oozie中找到更多具體的錯誤信息
- 28. 關於此錯誤的任何信息
- 29. 在Heroku上調試500錯誤沒有任何錯誤信息
- 30. 如何獲得有關Oracle/TOAD中編譯錯誤的信息
'文件libyourname.so'的輸出是什麼?可能你的lib是64位的,他們的是32位的,反之亦然。 – JohnH
輸出是:可執行文件(RISC System/6000)或目標模塊未被刪除。 Oracle Goldengate 12c版本,所以它的確是64位。我不知道我的 – n00b
@JohnH:嘿,你的建議工作。轉出我的gcc編譯產生了一個32位庫。我編譯了一個64位版本,一切都開始正常工作。請張貼您的建議作爲答案,以便我可以標記問題解決:) – n00b