Building & Running Firebird 3 On MacOS Sierra

Firebird 3 was released almost a year ago and it has already got two minor releases. But there is still no official packages for MacOS. So this post is about my humble attempt to build it on MacOs from source code. Most of the instructions are taken from Paul Beach’s Firebird Devel list post or from his blog.

This area is not my expertise so there may be inefficient or even wrong approaches  so use it on your own risk and any suggestions, corrections and improvements are always welcomed.

When building needed libraries and Firebird source code, my working directory was /Users/ct/prj so when you see these directory in code blocks below you have change it to your working directory name.

First we should stop firebird service if it is installed:

Building ICU

Firs step is downloading and building ICU library. I’ve used version 54.1, but I think more recent versions can also be used without problem. After downloading and extracting ICU, we have to modify icu/source/config/mh-darwin config file

Edit lines 30-35 from this

to this (note the install path change of LD_SONAME) :

then we can build icu.

Building Firebird

Download Firebird source code and extract it

File Modifications

I’ve made below modifications to source files in order to get rid of build errors




Change lines 45-47 from this

to this :

Also change line 100 from this

to this :


Change lines 91-95 from this

to this

Firebird needs libtommath to get built which is also distrubuted with Firebird source, but I’ve preferred pre-built library which can be installed via macports as

After this we can start to build Firebird, first configure

then make


At this point you should have compiled binaries in gen/Release/firebird directory. As I do not know how to make a pkg file for MacOs I’ve manually copied files to Library/Frameworks folder and made setup operations manually as :

If you have not installed firebird from an official package then your system does not have firebird user and group. To create them we can use copy user creation code from builds/install/arch-specific/darwin/install-script. Let’s create a temp script file :

copy and paste below code block :

Save file and

As we manually copied binary files we have to modify service loading script too.

Edit file contents as :

Now we can start Firebird service :

You should check /Library/Frameworks/firebird/firebird.log file for any error messages.

As I’ve stated above, although these steps let me build Firebird on MacOs they may not be a hundred percent correct so if you think they should be corrected in any way please do leave a comment.