Firebird 1.5.1 FreeBSD Release Notes                    19-Jul-2004
--------------------------------------
FB-V1.5.1.4481 Firebird 1.5 Release

    Welcome to the FreeBSD Firebird port!

    Firebird is installed SUID with owner and group `firebird'.
This does affect where you can and cannot create databases when
connecting remotely, as well as which existing databases you can
access.  If you want a database to be available remotely, be sure
it's readable and writeable to group firebird.

    There may be times when you manage to get your system into a
state where using any of the Firebird utilites (isql, gbak, gsec,
etc.) gives you the message "semget failed".  One surefire way to
do this is to build and install the port.  :)  If this happens,
make sure that the lock manager is not running and its semaphores
have been removed.  The former can be accomplished with 'ps ax
|grep fb' and 'kill'; the latter with 'ipcs -s' and 'ipcrm -s'.

    For example, after building and installing the port, you will
probably go through something like this:

# isql /usr/local/firebird/security.fdb
Statement failed, SQLCODE = -902

operating system directive semget failed
-No such file or directory

# ipcs -s
Semaphores:
T     ID     KEY        MODE       OWNER    GROUP
s 1310720  252034728 --rw-rw-rw-     root    wheel

# ipcrm -s 1310720

and you should be in business.

    Once this is done, you should be able to connect normally to
databases.  Your first connection will restart the lock manager.

    There may be times, however, when you still get "semget failed"
even though the lock manager is not running and the semaphores have
been cleaned up.  There seems to be a conflict with this release
and the PostgreSQL 7 release as installed from the ports collection.
If you're having trouble with Firebird and you're running PostgreSQL,
try stopping PostgreSQL:

	/usr/local/etc/rc.d/pgsql.sh stop

and see if that helps. Alternatively, increase the value of SEMMNS
by 48 in your kernel configuration file. This can be found by getting
the current value with 'sysctl -a | grep semmns'. You can either add
this to your kernel config, or add the following line to /boot/loader.conf:

	kern.ipc.semmns=X

where is is the current value plus 48. If this doesn't resolve the issue,
try adding 48 again. 

    Please note that as of RC8, the libgds.so symlink now points to
libfbembed.so. This has been done to resolve compatability issues with
older versions of Firebird. The FreeBSD port of RC7 had libgds.so
pointing to libfbclient.so. libfbclient.so is a remote access-only
shared library with threaded support, which requires target applications
to link with a threaded library such as libc_r.so, libpthread.so or libthr.so.

    Super Server support in Firebird 1.5 for FreeBSD is not currently
available due to the Firebird code using POSIX threads APIs not available
in FreeBSD 4.x or not yet complete in FreeBSD 5.x. This issue will become
more important once the scalability issues of Super Server have been
resolved.

    This installation has already inserted the necessary line to
/etc/inetd.conf so that you can connect to Firebird across the network.
However you may need to add the remote host to /etc/hosts.equiv. For
example, to allow the local machine to make connections to Firebird
using TCP, the following command needs running:

	echo localhost >> /etc/hosts.equiv

Please note that adding machines to /etc/hosts.equiv can reduce the
security of your system. If in doubt, try connecting to Firebird with
a username and password already defined in security.fdb. For example:

gsec
> add myuser -pass mypass
> quit
isql -u myuser -p mypass localhost:/usr/local/firebird/examples/employee.fdb

This should reduce the need for hosts defined in /etc/hosts.equiv.

    Complete documentation for InterBase(tm) is available (free of
charge) from http://www.interbase.com/ in PDF format.  While
InterBase and Firebird are two distinct entities, all InterBase
documentation is pertinent to Firebird.  More information on Firebird
and InterBase can be found at the following:

	http://sourceforge.net/projects/firebird/
	http://www.ibphoenix.com/
	http://www.interbase2000.org/
	http://www.firebirdsql.org/

    Please also see the doc directory in the Firebird package for
documentation specific to Firebird.

Chris Knight
<chris@e-easy.com.au>
