所以我們有這樣的計劃,正在編制中了OpenSuse 13.1以下配置:在其他的編譯環境編譯
- GCC 4.6-15.1.3
- GLIBC 2.14
- Libcrypto 1.0
然而,它應該具有了OpenSuse 10.3它具有以下配置中運行:
- GCC 4.2-24
- GLIBC 2.6.1-18
- Libcrypto 0.9.8
我能找到到目前爲止唯一的依賴是其在GLIBC 2.7引入了__isoc99_sscanf
。我試圖用我自己寫sscanf函數解決這個問題,並通過添加下面一行在我的源代碼替換它: __asm__(".symver __isoc99_sscanf1, [email protected]@GLIBC_2.7");
現在我只剩下libcrypto依賴,它也看起來像它的段錯誤上則munmap( )當我嘗試在舊的OpenSuse環境中運行它(可能是一個GCC的東西?)時(當我跨越程序)功能
所以基本上,我不知道什麼標準程序是固定這種向後兼容性問題。有關於此的任何想法?
爲什麼不簡單地在每個目標上編譯一個二進制文件? – Mat 2012-08-02 07:07:32
這是一種可能性,但我想知道是否有更多的人面臨這個問題,並且可以做些什麼來解決這個問題。 – Evert 2012-08-02 07:09:32