The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Сборка MySQL с патчами pgcc (mysql gcc security patch)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: mysql, gcc, security, patch,  (найти похожие документы)
From: [IOR]esult.Luc!f3r <bender at cdev dot ru> Newsgroups: email Date: Mon, 5 Dec 2006 14:31:37 +0000 (UTC) Subject: Сборка MySQL с патчами pgcc Скачиваем нужные исходники: # wget http://www.goof.com/pcg/data/source/gcc-2.95.2.1-pgcc-2.95.2.1.diff.gz # cd .. # wget ftp://linuxforum.net/ftp.gcc.gnu.org/gcc/gcc-2.95.2.1.tar.gz # tar xvpzf gcc-2.95.2.1.tar.gz # cd gcc-2.95.2.1 # mv ../../gcc-pgcc-patch/gcc-2.95.2.1-pgcc-2.95.2.1.diff.gz ./ Применяем патч pgcc: # gunzip <gcc-2.95.2.1-pgcc-2.95.2.1.diff.gz |patch -p1 -E # find . -name "*.rej" -print # find . -name "*.orig" | xargs rm # find . -name "*.orig" -print Для компиляции pgcc потребуются следующие вещи: gperf autoconf bison flex Поставьте их yum'ом, apt-get'ом или любым удобным для вас способом. Создадим отдельную директорию и будем конфигурить оттуда (как завещали отцы): # cd .. # mkdir objdir # cd objdir/ # ../gcc-2.95.2.1/configure --enable-languages=c,c++ --disable-threads # make all-gcc install Note: --disable-threads употреблен здесь по той причине что pgcc не требуется библиотека libstdc++ Установка успешно завершена. Установка MySQL. Скачиваем/распаковываем сорсы нового MySQL'я( я использовал 4.1.22): # cd ../../../ # mkdir mysql # cd mysql/ # wget http://mysql.org/get/Downloads/MySQL-4.1/mysql-4.1.22.tar.gz/from/http: //mysql.mix.su/ # tar xvpzf mysql-4.1.22.tar.gz # cd mysql-4.1.22 Кофигурим с CFLAGS: # CFLAGS="-O3 -fomit-frame-pointer" \ CXX=gcc \ CXXFLAGS="-O3 -fomit-frame-pointer \ -felide-constructors -fno-exceptions -fno-rtti" \ ./configure --enable-assembler --disable-shared \ --with-mysqld-ldflags="-all-static" --with-client-ldflags="-all-static" \ --with-unix-socket-path=/tmp/mysql.sock --prefix=/usr Проверяем установились ли CXX и CXXFLAGS так, как нам нужно: # cat Makefile | grep CXX Должно быть CXX = gcc, в противном случае правим руками Makefile. # make Если make завершился с ошибкой о том, что он не может найти libgdc++, значит CXX не установлен в "gcc", либо gcc компилировался с --enable-threads. # make install Надеюсь это Вам помогло :)

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру