firebirdisqlfirebird-3.0

Firebird 3 on macOS, local connection fails with: Can not access lock files directory /tmp/firebird/


I've installed firebird 3.0 from the package provided by firebirdsql.org.

If I try to use a local connection to a database: isql employee -user SYSDBA it fails with:

Can not access lock files directory /tmp/firebird/

So adding read/write/execute permissions to /tmp/firebird/
sudo chmod a+rwx /tmp/firebird/
and executing the command again yields:

Statement failed, SQLSTATE = 08001
I/O error during "open" operation for file "/tmp/firebird/fb_init"
-Error while trying to open file
-Unknown error: -1

This all will work if I sudo the calls, but is this really necessary?

What is the correct way to use a local connection to firebird database on macOS?


Solution

  • I found CORE-3871 issue in the firebird issue tracker, which describes the problem and it's solution. The user which tries to open the local connection must be member of the firebird user group.

    So a user is added to the firebird group on mac bash with the following command:
    sudo dseditgroup -o edit -a myusername -t user firebird

    If you try to open the sample database employee, shipped with firebird, it's also necessary to grant the group write access to the employee.fdb:
    sudo chmod g+w /Library/Frameworks/Firebird.framework/Resources/examples/empbuild/employee.fdb

    Now /Library/Frameworks/Firebird.framework/Resources/bin/isql employee -user SYSDBA should work