簡體   English   中英

如何使用存儲庫中的 APT 安裝較舊的 gcc package?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM