2015-12-26 128 views
0

我想在當前的ArchLinux上降級我的gcc。Archlinux將gcc從5.2降級到4.8

Makefile:545: recipe for target 'libstdc++.la' failed 
    make[6]: *** [libstdc++.la] Error 139 
    make[6]: Leaving directory '/tmp/yaourt-tmp-jester/aur-gcc48/src/gcc-  build/x86_64-unknown-linux-gnu/libstdc++-v3/src' 
    Makefile:575: recipe for target 'all-recursive' failed 
    make[5]: *** [all-recursive] Error 1 
    make[5]: Leaving directory '/tmp/yaourt-tmp-jester/aur-gcc48/src/gcc-  build/x86_64-unknown-linux-gnu/libstdc++-v3/src' 
    Makefile:480: recipe for target 'all-recursive' failed 
    make[4]: *** [all-recursive] Error 1 
    make[4]: Leaving directory '/tmp/yaourt-tmp-jester/aur-gcc48/src/gcc-  build/x86_64-unknown-linux-gnu/libstdc++-v3' 
    Makefile:386: recipe for target 'all' failed 
    make[3]: *** [all] Error 2 
    make[3]: Leaving directory '/tmp/yaourt-tmp-jester/aur-gcc48/src/gcc-  build/x86_64-unknown-linux-gnu/libstdc++-v3' 
    Makefile:12181: recipe for target 'all-stage1-target-libstdc++-v3' failed 
    make[2]: *** [all-stage1-target-libstdc++-v3] Error 2 
    make[2]: Leaving directory '/tmp/yaourt-tmp-jester/aur-gcc48/src/gcc-build' 
    Makefile:19114: recipe for target 'stage1-bubble' failed 
    make[1]: *** [stage1-bubble] Error 2 
    make[1]: Leaving directory '/tmp/yaourt-tmp-jester/aur-gcc48/src/gcc-build' 
    Makefile:885: recipe for target 'all' failed 
    make: *** [all] Error 2 
    ==> ERROR: A failure occurred in build(). 
     Aborting... 
    ==> ERROR: Makepkg was unable to build gcc48. 
    ==> Restart building gcc48 ? [y/N] 
    ==> ------------------------------ 
    ==> 

當我試圖通過 安裝GCC yaourt --noconfirm --needed gcc48

有誰知道爲什麼它不工作。錯誤不會幫助我反正...

+0

請不要通過編輯添加答案。相反,發佈一個新的答案。 –

+0

這通常不是一個好主意。 –

回答

2

在Arch Linux的它是好的使用shell命令:

降級GCC

+0

是的,它的工作原理。 https://wiki.manjaro.org/index.php?title=Using_Downgrade – j35t3r

0

您是否嘗試刪除當前版本的gcc並下載PKGBUILD of gcc 4.8並手動安裝?

+0

嘗試後我可以安裝它,但我gcc5.3仍然是我的默認編譯器,但我想更改爲gcc48 - 我不知道如何?我無法刪除5.5,因爲依賴關係問題 – alexmina

+0

這對我有效:'sudo ln -s /usr/bin/gcc-4.8.5/usr/bin/gcc'' sudo ln -s /usr/bin/g++-4.8 .5/usr/bin/g ++' – alexmina

+0

現在,我的源碼不再可編譯。 'A_WowbaggerChoice.cpp :(。text + 0x3d):未定義的引用AbstractChoice :: AbstractChoice(std :: __ cxx11 :: basic_string ,std :: allocator >)'' 我也試過在我的kubuntu上編譯它,其中gcc48是最初安裝的 - 同樣的錯誤 – alexmina

2
cd /var/cache/pacman/pkg/ 
pacman -U <file_name_of_the_package> 

當然,你必須有你想要那邊的版本。

-> alexmina 
"downgrade gcc" 

您確定您使用的是Archlinux嗎?

0

您應該指定gccgcc-libs。例如,如果你想從7.1.1降級到6.3.1

方法1)

pacman -U /var/cache/pacman/pkg/gcc-6.3.1-2-x86_64.pkg.tar.xz /var/cache/pacman/pkg/gcc-libs-6.3.1-2-x86_64.pkg.tar.xz 

方法2)

downgrade gcc gcc-libs 

並選擇想要的版本。