2015-12-26 125 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 

并选择想要的版本。