пятница, 24 декабря 2010 г.

1С + postgresql на Fedora

Вообще замечательно это описано на этом ресурсе
Это надо сделать сразу:
В /etc/sysctl.conf прописать:
kernel.shmmax=1073741824
kernel.shmall=2097152
Обновить командой:
sudo sysctl -p
Перейти в директорию с RPM пакетами платформы 1С и установить её командой:
$ sudo rpm -i *.rpm
Starting 1C:Enterprise 8.2 server: OK
Далее, скачиваем исходники с сайта 1С и разворачиваем пакет:
$ rpm -ihv postgresql-8.4.3-3.1C.src.rpm
Устанавливаем необходимые приложения для компиляции базы:
$ sudo yum install rpm-build gcc make glibc-devel bison flex python-devel tcl-devel readline-devel zlib-devel openssl-devel krb5-devel e2fsprogs-devel gettext pam-devel openldap-devel icu libicu libicu-devel
Также необходимо исправить параметр уровня подгона патча, на RHEL он равен 2, но в новой rpm системе его предполагается установить в 0, а поскольку Fedora – есть тестовая платформа для RHEL, то тут уже все новое работает в тестовом режиме. Для этого открываем файл /usr/lib/rpm/macros находим в нем строчку
%_default_patch_fuzz 0
и заменяем ее на
%_default_patch_fuzz 2
Если мы этого не сделаем устанавливаемые патчи будут обрабатываться новыми скриптами и совсем не правильно.
Создаём символьные ссылки:
sudo ln -s /opt/1C/v8.2/i386/libicudata.so.40 /usr/local/lib/libicudata.so.34
sudo ln -s /opt/1C/v8.2/i386/libicui18n.so.40 /usr/local/lib/libicui18n.so.34
sudo ln -s /opt/1C/v8.2/i386/libicuuc.so.40 /usr/local/lib/libicuuc.so.34
Сами файлы *.so.40 (или какие там будут) следует взять из /opt/1C/v8.2/i386/ (появится после установки 1C).
Перед компиляцией так же комментируем тест timestampz из postgresql-8.4.1C.spec,
что бы избежать ошибки на этапе тестирования при компиляции:
# %patch2 -p1
После этого запускаем компиляцию
$ rpmbuild -ba /home/Юзер_из_под_которого_компилировали/rpmbuild/SPECS/postgresql-8.4.1C.spec
Затем перходим в папку
/home/Юзер_из_под_которого_компилировали/rpmbuild/RPMS/i386/
и устанавливаем postgresql:
sudo rpm -i *.rpm
Так же символьные ссылки *.so.34 надо скопировать по пути /usr/lib/pgsql/:
sudo cp /usr/local/lib/libicudata.so.34 /usr/lib/pgsql/
sudo cp /usr/local/lib/libicui18n.so.34 /usr/lib/pgsql/
sudo cp /usr/local/lib/libicuuc.so.34 /usr/lib/pgsql/