GCC Forever

Aug 14, 2011 17:32



# uname -sr
FreeBSD 4.11-STABLE
# gcc -v
Using builtin specs.
gcc version 2.95.4 20020320 [FreeBSD]
# pkg_info -Ix gcc
gcc-3.4.6_20051206 GNU Compiler Collection 3.4
gcc-4.2.5.20090325_5 GNU Compiler Collection 4.2
gcc-4.4.7.20110628 GNU Compiler Collection 4.4
gcc-4.5.4.20110721 GNU Compiler Collection 4.5

Пособирал разные версии GCC на 4.11-STABLE. Как уже ранее писал, часть практически нужного софта типа LLVM в составе clamav уже не собирается gcc-2.95.4.
  • Зато gcc-3.4.6 прекрасно собирается им из портов, результирующий пакет не имеет зависимостей, а им уже можно собирать порты через make USE_GCC=3.4

    Пакет можно установить командой pkg_add -r http://www.grosbein.net/freebsd/packages-4.11/gcc-3.4.6_20051206.tgz

  • gcc-4.2.5 (он уже новее, чем штатный в FreeBSD 8.2) прекрасно собирается с использованием gcc-3.4.6 и имеет зависимости, которые также собрались без проблем. Результирующий пакет с зависимостями можно установить командами:

    export PACKAGESITE=http://www.grosbein.net/freebsd/packages-4.11/
    pkg_add -r gmp-5.0.2
    pkg_add -r mpfr-3.0.1
    pkg_add -r libiconv-1.9.2_1
    pkg_add -r gcc-4.2.5.20090325_5
  • gcc-4.4.7 при сборке (с использованием 4.2.5) потянул за собой свежие binutils из портов ради as, а binutils захотел zlib посвежее, чем zlib-1.1.4 в базовой системе 4.11. Поэтому сделал порт zlib-1.2.5, который ставит свежий zlib со всеми модификациями от FreeBSD 9.0. После чего binutils прекрасно собрался, а после него и gcc-4.4.7:

    export PACKAGESITE=http://www.grosbein.net/freebsd/packages-4.11/
    pkg_add -r zlib-1.2.5
    pkg_add -r binutils-2.21.1
    pkg_add -r gmp-5.0.2
    pkg_add -r mpfr-3.0.1
    pkg_add -r libiconv-1.9.2_1
    pkg_add -r gcc-4.4.7.20110628
  • gcc-4.5.4 уже захотел /usr/include/stdint.h (C99), который появился во FreeBSD только с 5.0, но вполне удовольствовался симлинком stdint.h -> inttypes.h и после этого собрался (с USE_GCC=4.4), вместе со своим Java frontend, отчего размер пожатого пакета подскочил в шесть раз и превысил 100MB.

    export PACKAGESITE=http://www.grosbein.net/freebsd/packages-4.11/
    pkg_add -r zlib-1.2.5
    pkg_add -r binutils-2.21.1
    pkg_add -r gmp-5.0.2
    pkg_add -r mpc-0.9
    pkg_add -r mpfr-3.0.1
    pkg_add -r libiconv-1.9.2_1
    pkg_add -r gcc-4.5.4.20110721
  • gcc-4.6.2 уже не удовлетворяется симлинком на inttypes.h в качестве /usr/include/stdint.h, а требует настоящий файл, в котором определяется гораздо больше типов. Поэтому на нём я решил пока остановиться.

некромантия, gcc, freebsd

Previous post Next post
Up