이 질문은 Google에서 쉽게 찾을 수있는 여러 질문 및 기타 장소에서 적절하게 해결 된 것으로 보이지만 아래 설명 된 이유로 만족스러운 해결책을 찾지 못했습니다. 그러나 완성을 위해 몇 가지 관련 링크를 포함했습니다.
https://askubuntu.com/questions/138284/how-to-downgrade-a-package-via-apt-get https://askubuntu.com/questions/428772/how-to-install-specific-version-of - 일부 패키지 / 428778 https://askubuntu.com/questions/26498/choose-gcc-and-g-version ...
다른 사람.
그러나이 질문은 Kali Linux에 GCC의 매우 특정한 버전을 설치하는 것과 관련이 있습니다. 이는 특정 패키지로 쉽게 사용할 수없는 것으로 보입니다. 특히 특정 프로그램을 컴파일하려면이 버전이 필요하므로 버전 6.3.0을 설치하는 방법에 관한 질문입니다. https://www.reddit.com/r/Monero/comments/6d0ah8/xmrig_miner_new_release/
(보너스 질문으로, 다른 버전의 GCC를 사용하지 않고이 특정 문제를 해결하는 더 건전한 방법이 있다면 자유롭게 대답하십시오. 그러나이 질문은 일반적이라고 생각하며, 어떻게해야할지 알고 싶습니다. 앞서 언급 한 프로그램 링크를 올바르게 만드는 방법)
gcc와 같은 패키지 설치에 사용할 수있는 버전은 다음을 사용하여 결정할 수 있습니다.
apt-cache showpkg gcc
"versions :"아래에 사용 가능한 버전이 나열됩니다. 예 :
4:7.2.0-1d1
4:4.9.2-2
설치는 발급만큼 간단합니다.
apt-get install gcc:4:4.9.2-2
이것은 7.2.0-1d1 설치를 덮어 쓰는 것으로 이전 버전 4 : 4.9.2-2를 설치할 것입니다.
버전 4 얻으려면 : 전혀 4.9.2-2 사용할 수를, 내가 추가 한 deb http://old.kali.org/kali sana main non-free contrib
나의에 /etc/apt/sources.list
파일 한 후 실행 apt-get update
.
그러나 필요한 버전이 목록에 없으면 어떻게합니까?
저는 다양한 소스를 실험했습니다. 예를 들어 여기에서 찾을 수있는 소스 : http://snapshot.debian.org/ 및 Google 검색의 다양한 기타 질문과 웹 사이트에서.
대부분은 다음과 같이 무시하거나 오류를 발생시킵니다.
Ign:3 http://snapshot.debian.org/archive/debian/20091004T111800Z lenny InRelease
이것이 작동하더라도, 임의의 소스를 추가하면 내가 원하는 특정 버전이 없을 수 있으므로 특정 버전을 설치하는 것은 매우 나쁜 접근 방식으로 보입니다.
snapshot.debian.org에서 gcc를 검색하면 아주 오래된 버전 만 얻습니다 : http://snapshot.debian.org/package/gcc/
나는 결국이 접근 방식에 실망했고 소스 tarball에서 GCC 6.3.0을 컴파일했습니다. 컴파일은 성공적 이었지만 설치 방법에 직면했습니다. 나는 실행에 대한 조심 해요 make install
내가이 무단으로 변경됩니다 우려로 apt
와 dpkg
가능성이 시스템을 휴식.
대신 빌드 디렉토리에서 직접 실행하려고했습니다. 작동하지 않는 PATH의 첫 번째 항목으로 빌드 디렉토리를 추가하려고했습니다. 그런 다음 gcc-6.3.0 실행 파일이있는 위치 로 이름을 바꾸고 /usr/bin/gcc
심볼릭 링크를 시도했습니다 /usr/bin/gcc
. 이로 인해 다음과 같은 문제가 발생합니다.
cc: error trying to exec 'cc1': execvp: No such file or directory, which
이것은 내 PATH의 다른 항목으로 수정되었습니다.
그런 다음이 오류가 발생합니다.
/usr/include/stdio.h:34:21: fatal error: stddef.h: No such file or directory
내가 생각하는 것은 /usr/lib/gcc/x86_64-linux-gnu
. 6에서 6.3.0으로 심볼릭 링크를 만들려고했지만 이것만으로는 충분하지 않았습니다. 나는 또한 실제로 모든 것을 cp -R
동일한 결과로 복사하려고 시도했습니다 .
이것은 64 비트 프로그램이어야하지만 /usr/lib/gcc/i686-linux-gnu
.
strace
파일을 열고, 로그 파일을 읽고, 소스를 읽으려고 시도하는 위치를 확인하기 위해 작업 을 시작할 수 있다고 확신 합니다. 결국 제대로 생각되지 않은 솔루션을 함께 해킹하는 방법을 알아낼 수있을 것이라고 생각합니다. 그러나 누군가가이 일을 건전한 방식으로 수행하는 방법을 알려 주면 좋을 것입니다.
Kali Linux에서 특정 버전의 GCC를 설치하는 방법은 무엇입니까?
GCC 6은 kali linux에서 사용할 수 있으며 다음과 같이 설치할 수 있습니다.
apt install g++-6 gcc-6
gcc6과 gcc7간에 전환하려면
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1 --slave /usr/bin/g++ g++ /usr/bin/g++-7
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 2 --slave /usr/bin/g++ g++ /usr/bin/g++-6
update-alternatives --config gcc
샘플 출력 :
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-6 2 auto mode
1 /usr/bin/gcc-6 2 manual mode
2 /usr/bin/gcc-7 1 manual mode
Press <enter> to keep the current choice[*], or type selection number:
기본 gcc
버전을 선택하십시오 .
2017년 8월 5일에 GCC-6 버전에서 업그레이드 6.3.0
에 6.4.0
.
설치
xmrig
다음 빌드의 지침을.
apt-get install git build-essential cmake libuv1-dev libmicrohttpd-dev
git clone https://github.com/xmrig/xmrig.git
cd xmrig
mkdir build
cd build
cmake ..
make
특정 gcc 버전 빌드 6.3.0
가장 가까운 미러 에서 tarball 다운로드 : GCC 릴리스
wget https://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
tar xvf gcc-6.3.0.tar.gz
cd gcc-6.3.0
apt build-dep gcc
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-6.3.0/configure --prefix=/usr/bin/gcc-6.3 --enable-languages=c,c++,fortran,go --disable-multilib
make -j 8
make install
추가 gcc-6.3
로update-alternatives
중요 :이 --disable-multilib
옵션은 gcc
현재 아키텍처 를 구성하고 빌드 하는 데 필요합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다