dadv: (Default)
Choose your future ([personal profile] dadv) wrote2011-08-14 05:32 pm

GCC Forever

# 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, а требует настоящий файл, в котором определяется гораздо больше типов. Поэтому на нём я решил пока остановиться.


Post a comment in response:

This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org