[英]How to install older gcc package using APT from a repository?
我有 GCC v9。 但是我正在嘗試安裝GCC 4.8.1版本來測試在那個非常舊版本的 GCC 上的庫編譯。
該版本在官方 Ubuntu 存儲庫中不可用,已棄用,但我在其他鏡像中找到了它,正如官方 GCC 網站所述。 這個似乎很流行:
https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
除了基本的之外,我對 linux package 系統知之甚少。 我想保留兩個版本。 所以我應該這樣做:
sudo apt -y install gcc-4.8.1 gcc-9
我想使用這個命令而不是從文件中安裝它的原因,除了對我來說這樣做的困難之外,我正在遵循一個指南以便在我的系統上安裝幾個 GCC: https://www .fosslinux.com/39386/how-to-install-multiple-versions-of-gcc-and-g-on-ubuntu-20-04.htm
當我將 url 添加到 sources.list 文件時,它似乎正在工作。
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update -q
但是當我嘗試使用 gcc-4.8.1 或 gcc-4.8,甚至 gcc-4 調用安裝時,package 不存在。
Package gcc-4.8 不可用,但被另一個 package 引用。 這可能意味着 package 缺失、已過時或只能從其他來源獲得 E: Package 'gcc-4.8' 沒有安裝候選
另外,我不知道是否可以將這樣的網站添加到 repos 列表中,以便使用 APT 找到 package:
http://www.netgull.com/gcc/releases/gcc-4.8.1/
[編輯]
我從我鏈接的網站下載了 package。 我不知道如何手動安裝它。 如果我能找到一個可以幫助我解決這個問題的存儲庫……我不知道如何讓 APT 幫助我進行安裝。
但是我正在嘗試安裝 GCC 4.8.1 版本來測試在那個非常舊版本的 GCC 上的庫編譯。
開發人員有自己的工具,因此他們不必為他們想要嘗試和測試的每個庫(以及該庫的每個配置)安裝依賴項和使系統膨脹。
使用 docker。 例如,假設您的項目使用 make,您可以編寫一個測試腳本:
# test_my_lib_in_gcc-4.8.sh
#!/bin/sh
docker run -ti --rm -v $PWD:/project -w /project gcc:4.8 -u $UID:$GID sh <<EOF
make && make test
EOF
這將使用 4.8 gcc 編譯和測試您的應用程序。 考慮更改 gcc 版本是多么容易 - 只需更改數字即可。 您可以在 gcc 中以不同的版本測試您的庫,並使用其他編譯器和不同的發行版來確保它適用於其他人。 如果您是該庫的開發人員,請編寫一個自動化 CI 管道,該管道將在特定 docker 環境中自動測試您的應用程序每次提交,使用 ex。 https://docs.gitlab.com/ee/ci/README.html or https://travis-ci.org/ .
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.