Собираем gcc из исходников

    Набор компиляторов gcc очень бурно развивается и там часто появляются какие-то новые фичи(например, из нового стандарта C++), которые хочется попробовать уже сегодня, а релиза ждать не хочется. Здесь выход один — собирать компилятор из исходников. Здесь я поделюсь своим опытом в этом.

    1. Для начала сольем исходники с SVN'а:

    svn checkout svn://gcc.gnu.org/svn/gcc/trunk gcc

    Ждем. На моем соединении пришлось ждать около 30 минут.
    2. Теперь делаем так:

    cd gcc
    ./configure --enable-languages=c,c++,java


    Немного поясню последнюю строчку: здесь мы указываем через запятаю список необходимых нам компиляторов. Я указал те, которые мне надо(кстати, в gcc появилась ветка с поддержкой go, руководство по ее сборке тут)
    На моей Fedora 12 этот скрипт выдавал ругательства типа:

    configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

    Не беда! Ставим необходимые пакеты:

    yum install gmp mpfr mpc gmp-devel mpfr-devel libmpc libmpc-devel

    Теперь конфигурационный скрипт должен выполниться нормально
    3. Пытаемся выполнить make, но получаем нечто вроде этого:

    gcc: gengtype-lex.c: No such file or directory
    gcc: no input files


    Лечим так:

    yum install flex

    Если все равно не будет собираться, то можно попробовать выполнить make distclean, а потом заново выполнить скрипт configure.
    4. Оставляем собираться на несколько часов, а потом набираем:

    make install

    и используем свеженький gcc!
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 11

      +1
      **глянул на часы**
      Ну что ж. Собирать никогда не поздно! :)
        +1
        И я собирался уже идти спать. Нет, ну что же это делается товарищи?!
        В общем — собираем-с!
          0
          Под линукс то это как раз не проблема… вы бы лучше рассказали как gcc под windows собрать ^_^''
            0
            Просто у меня самого при сборке возникло парочку вопросов, поэтому решил тут описать как я это все делал.
            0
            Поправьте, пожалуйста, в первом параграфе слово «репозитОрий».
              +1
              Что-то у меня не получается:
              gcc: no such file or directory


              Чтоб скомпилировать gcc нужно скомпилировать gcc!
                +1
                Для компиляции требуется компилятор. Разве это не логично? ;)
                  0
                  чтобы понять рекурсию нужно сначала понять рекурсию!
                    0
                    Требуется gcc более ранней версии. Ведь целью действие, описанный в посте является сборка самой свеженькой версии gcc.
                      0
                      Нет, чтобы скопилировать g++ нужен gcc! (Типа в Ubuntu 10.04)
                      +2
                      emerge gcc, чувак.

                      Only users with full accounts can post comments. Log in, please.