История изменений
Исправление ZenitharChampion, (текущая версия) :
Раньше я брал Debian (на тот момент Squeeze) и компилировал в нём - самый последний GCC. В юзерспейс. Затем я делал:
export PATH=/build/gcc/bin
export LD_LIBRARY_PATH=/build/gcc/lib
После чего, gcc --version
выдавал новую версию.
Скомпилированная таким образом программа а). Не требовала слишком дофига нового Glibc, как если бы я скомпилировал её в новом дистрибутиве Linux, в котором новый GCC есть «из коробки» б). Требовала новый C++ Runtime в виде файла «libstdc++.so.6». Хорошо что можно положить этот файл вместе с программой - в отличие от Glibc.
А потом я открыл для себя CentOS. Сначала нужно подключить репозиторий Devtoolset (гугл в помощь). Затем надо добавить цифровой ключ этого репозитория, но я так и не разобрался, где его взять. Поэтому сделал gpgcheck=0
для этого репозитория. Затем открыть yumex и установить devtoolset-2.0-*. Там вроде не всё надо, поэтому через yumex и мышкой, а не с помощью yum по запросу выше.
Затем открыть терминал, выполнить в нём:
scl enable devtoolset-2.0
И ура: новый GCC работает! И что интересно, этот самый GCC из репозитория devtoolset вообще не имеет libstdc++.so.6 - используется системный. Как они это сделали? Я собираю в GCC 4.9, а запускаю в системе, где выше GCC 4.1 ничего нет.
Что касается Firefox. Версия 45.9 собирается без проблем. В SRPM-пакете для el5 есть патчи «build-el5-*.patch». Версия 52.1 не собирается. Патчи прекрасно накладываются и не требут правки. Но теперь Firefox избавлен от зависимости X11-SHM в пользу XCB-SHM, потому что Firefox переходит на мультиядерность, а X11-SHM в ней нестабильна (так написано на странице фич-риквеста). Даже не знаю, пытаться ли собирать Firefox в CentOS 5 дальше, или всё-таки перейти на CentOS 6.
Исправление ZenitharChampion, :
Раньше я брал Debian (на тот момент Squeeze) и компилировал в нём - самый последний GCC. В юзерспейс. Затем я делал:
export PATH=/build/gcc/bin
export LD_LIBRARY_PATH=/build/gcc/lib
После чего, gcc --version
выдавал новую версию.
Скомпилированная таким образом программа а). Не требовала слишком дофига нового Glibc, как если бы я скомпилировал её в новом дистрибутиве Linux, в котором новый GCC есть «из коробки» б). Требовала новый C++ Runtime в виде файла «libstdc++.so.6». Хорошо что можно положить этот файл вместе с программой - в отличие от Glibc.
А потом я открыл для себя CentOS. Сначала нужно подключить репозиторий Devtoolset (гугл в помощь). Затем надо добавить цифровой ключ этого репозитория, но я так и не разобрался, где его взять. Поэтому сделал gpgcheck=0
для этого репозитория. Затем открыть yumex и установить devtoolset-2.0-*. Там вроде не всё надо, поэтому через yumex и мышкой, а не yum по запросу выше.
Затем открыть терминал, выполнить в нём:
scl enable devtoolset-2.0
И ура: новый GCC работает! И что интересно, этот самый GCC из репозитория devtoolset вообще не имеет libstdc++.so.6 - используется системный. Как они это сделали? Я собираю в GCC 4.9, а запускаю в системе, где выше GCC 4.1 ничего нет.
Что касается Firefox. Версия 45.9 собирается без проблем. В SRPM-пакете для el5 есть патчи «build-el5-*.patch». Версия 52.1 не собирается. Патчи прекрасно накладываются и не требут правки. Но теперь Firefox избавлен от зависимости X11-SHM в пользу XCB-SHM, потому что Firefox переходит на мультиядерность, а X11-SHM в ней нестабильна (так написано на странице фич-риквеста). Даже не знаю, пытаться ли собирать Firefox в CentOS 5 дальше, или всё-таки перейти на CentOS 6.
Исправление ZenitharChampion, :
Раньше я брал Debian (на тот момент Squeeze) и компилировал в нём - самый последний GCC. В юзерспейс. Затем я делал:
export PATH=/build/gcc/bin
export LD_LIBRARY_PATH=/build/gcc/lib
После чего, gcc --version
выдавал новую версию.
Скомпилированная таким образом программа а). Не требовала слишком дофига нового Glibc, как если бы я скомпилировал её в новом дистрибутиве Linux, в котором новый GCC есть «из коробки» б). Требовала новый C++ Runtime в виде файла libstdc++.so.6
А потом я открыл для себя CentOS. Сначала нужно подключить репозиторий Devtoolset (гугл в помощь). Затем надо добавить цифровой ключ этого репозитория, но я так и не разобрался, где его взять. Поэтому сделал gpgcheck=0
для этого репозитория. Затем открыть yumex и установить devtoolset-2.0-*. Там вроде не всё надо, поэтому через yumex и мышкой, а не yum по запросу выше.
Затем открыть терминал, выполнить в нём:
scl enable devtoolset-2.0
И ура: новый GCC работает! И что интересно, этот самый GCC из репозитория devtoolset вообще не имеет libstdc++.so.6 - используется системный. Как они это сделали? Я собираю в GCC 4.9, а запускаю в системе, где выше GCC 4.1 ничего нет.
Что касается Firefox. Версия 45.9 собирается без проблем. В SRPM-пакете для el5 есть патчи «build-el5-*.patch». Версия 52.1 не собирается. Патчи прекрасно накладываются и не требут правки. Но теперь Firefox избавлен от зависимости X11-SHM в пользу XCB-SHM, потому что Firefox переходит на мультиядерность, а X11-SHM в ней нестабильна (так написано на странице фич-риквеста). Даже не знаю, пытаться ли собирать Firefox в CentOS 5 дальше, или всё-таки перейти на CentOS 6.
Исправление ZenitharChampion, :
Раньше я брал Debian (на тот момент Squeeze) и компилировал в нём - самый последний GCC. В юзерспейс. Затем я делал:
export PATH=/build/gcc/bin
export LD_LIBRARY_PATH=/build/gcc/lib
После чего, gcc --version
выдавал новую версию.
Скомпилированная таким образом программа а). Не требовала слишком дофига нового Glibc, как если бы я скомпилировал её в новом дистрибутиве Linux, в котором новый GCC есть «из коробки» б). Требовала новый C++ Runtime в виде файла libstdc++.so.6
А потом я открыл для себя CentOS. Сначала нужно подключить репозиторий Devtoolset (гугл в помощь). Затем надо добавить цифровой ключ этого репозитория, но я так и не разобрался, где его взять. Поэтому сделал gpgcheck=0
для этого репозитория. Затем открыть yumex и установить devtoolset-2.0-*. Там вроде не всё надо, поэтому через yumex и мышкой, а не yum по запросу выше.
Затем открыть терминал, выполнить в нём:
scl enable devtoolset-2.0
И ура: новый GCC работает! И что интересно, этот самый GCC из репозитория devtoolset вообще не имеет libstdc++.so.6 - используется системный. Как они это сделали? Я собираю в GCC 4.9, а запускаю в системе, где выше GCC 4.1 ничего нет.
Что касается Firefox. Вресия 45.9 собирается без проблем. В SRPM-пакете для el5 есть патчи «build-el5-*.patch». Версия 52.1 не собирается. Патчи прекрасно накладываются и не требут правки. Но теперь Firefox избавлен от зависимости X11-SHM в пользу XCB-SHM, потому что Firefox переходит на мультиядерность, а X11-SHM в ней нестабильна (так написано на странице фич риквеста). Даже не знаю, пытаться ли собирать Firefox в CentOS 5 дальше, или всё-таки перейти на CentOS 6.
Исходная версия ZenitharChampion, :
Раньше я брал Debian (на тот момент Squeeze) и компилировал в нём - самый последний GCC. В юзерспейс. Затем я делал:
export PATH=/build/gcc/bin
export LD_LIBRARY_PATH=/build/gcc/lib
После чего, gcc --version
выдавал новую версию.
Скомпилированная таким образом программа а). Не требовала слишком дофига нового Glibc, как если бы я скомпилировал её в новом дистрибутиве Linux, в котором новый GCC есть «из коробки» б). Требовала новый C++ Runtime в виде файла libstdc++.so.6
А потом я открыл для себя CentOS. Сначала нужно подключить репозиторий Devtoolset (гугл в помощь). Затем надо добавить цифровой ключ этого репозитория, но я так и не разобрался, где его взять. Поэтому сделал gpgcheck=0
для этого репозитория. Затем открыть yumex и установить devtoolset-2.0-*. Там вроде не всё надо, поэтому через yumex и мышкой, а не yum по запросу выше.
Затем открыть терминал, выполнить в нём:
scl enable devtoolset-2.0
И ура: новый GCC работает! И что интересно, этот самый GCC из репозитория devtoolset вообще не имеет libstdc++.so.6 - используется системный. Как они это сделали? Я собираю в GCC 4.9, а запускаю в системе, где выше GCC 4.1 ничего нет.