Gcc

Arch Linux on ARM 晶片組我只想安裝 gcc 4.7

  • March 11, 2015

這聽起來很簡單,但這讓我把頭髮拉了出來。

我在以前用作列印伺服器的 ARM 晶片組(特別是 Raspberry Pi)上執行 Arch Linux。它正在為我的三星列印機執行帶有通用 Splix 驅動程序的 CUPS,並且執行良好一段時間,直到不幸的超頻實驗完全破壞了文件系統。

所以我正在為列印伺服器重建作業系統和軟體,但似乎 Splix 2.0.0 不能再像以前那樣在 gcc 上編譯。Splix 項目自 2009 年以來沒有更改,因此我可以排除最近的程式碼更改。我嘗試編譯 Splix 時收到的錯誤消息似乎更像是抱怨原型與特定文件中的重載方法不完全匹配。我相信這是因為最新版本的 gcc (4.8.2-7) 不再向後兼容這個 Splix 驅動程序。

除了在有機會的時候不備份已編譯的二進製文件而自責,並清醒地意識到,這pacman是為了使降級成為一場噩夢,我試圖找出一種方法,我可以找到 gcc 的 ARM 晶片組包那是較舊的,最好是 4.7.x,pacman -U xxxx.tar.gz然後指示 pacman 不要升級此軟體包。我可能不得不對 gcc-libs 做同樣的事情。

這應該是相對較低的風險,因為 Splix 是我需要下載和編譯的唯一源,因為沒有為 ARM 晶片組建構此軟體的軟體包站點。

如果我必須下載 gcc 的 4.7 原始碼並進行編譯,但我不知道如何或從哪裡開始?除了 gcc 之外,還有其他我可以嘗試的 C++ 編譯器嗎?

更新:

我接受了指向回滾機器的答案,因為它確實具有我要求的確切版本的 GCC。我能夠手動下載並安裝它的所有依賴項,並且 GCC 似乎工作正常,但是我發現即使是這個版本也給了我編譯器錯誤。

我現在想踢自己的臉,因為我什至沒有意識到 Splix 2.0.0 實際上在pacman社區 repo 下是可用的!我一定是在查詢時拼錯了,pacman -Q slpix因為起初它告訴我找不到包裹。然後我想我一定是下載了原始碼並自己編譯了它,但顯然我沒有,因為我會遇到同樣的問題。

不用說我很尷尬,我感謝所有的幫助。我很好奇為什麼我無法建構 Splix 2.0.0。我一定遺漏了一些簡單的東西,但我不是最好的 C++ 開發人員,所以我會把這個問題留給專家。

您應該查看Arch Linux ARM Rollback Machine。那裡有 gcc 4.7.2 包。

引用自:https://unix.stackexchange.com/questions/124550