Заметки о работе с ОС FreeBSD. Статьи об установке и настройке ПО для FreeBSD.

9 июля 2009 г.

Установка Firebird 1.5.5 на FreeBSD 7.0 и выше

Дело в том, что начиная с ветки 7.0 во FreeBSD используется GCC 4, а Firebird 1.5 хочет GCC 3 версии. О чем, собственно, он и сообщает при попытке установки:


Client does not compile with GCC 4.2. Please use firebird2 instead

Предлагает установить Firebird2, но нам то нужен 1.5.5

Но это можно обойти достаточно безболезненно.

Итак:
Устанавливаем GCC 3.4 из /usr/ports/lang/gcc34
Правим файл /usr/ports/databases/firebird-server/Makefile
Комментируем в нем строки:

.if ${OSVERSION} >= 700042
IGNORE= Client does not compile with GCC 4.2. Please use firebird2 instead
.endif

После этого ставим Firebird как обычно. Т. е. даем права 777 на /usr/ports/databases/firebird-server и /usr/ports/databases/firebird-client

[root@test44 ~]# chmod -R 777 /usr/ports/databases/firebird-server
[root@test44 ~]# chmod -R 777 /usr/ports/databases/firebird-client

Заходим по юзером и делаем make


[lehan@test44 /usr/ports/databases/firebird-server]# make

В процессе установки (когда будет устанавливаться firebird-client) система попросит рутовый пароль.

После завершения сборки пакета меняем юзера на root

[lehan@test44 /usr/ports/databases/firebird-server]# su -

И завершаем установку:

[root@test44 ~]# cd /usr/ports/databases/firebird-server
[root@test44 /usr/ports/databases/firebird-server]# make install clean

Проверяем чтобы в /etc/services были эти строки:

gds_db 3050/tcp #InterBase Database Remote Protocol
gds_db 3050/udp #InterBase Database Remote Protocol

Добавляем в /etc/inetd.conf эту строку:

gds_db stream tcp nowait firebird /usr/local/sbin/fb_inet_server fb_inet_server

Не забываем перезапустить inetd
[root@test44 ~]# /etc/rc.d/inetd restart
Stopping inetd.
Starting inetd.

[root@test44 ~]# pkg_info | grep firebird
firebird-client-1.5.5 The open-source InterBase(tm) 6.0 spin-off (client)
firebird-server-1.5.5 The open-source InterBase(tm) 6.0 spin-off (Classic version