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

builds/posix/prefix.darwin_x86_64

extern/cloop/src/tests/test1/CTest.c

src/common/os/darwin/mod_loader.cpp

Change lines 45-47 from this

to this :

Also change line 100 from this

to this :

src/remote/SockAddr.h

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

Installing

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.

Python development with NetBeans in Ubuntu 8.10

For a time I’ve been searching for a good python editor under Ubuntu. I’ve tried :

  • SPE : Does not work in Turkish Locale. Have set LC_ALL = C before running. Also not so good in editing in html, css and js
  • Eric : Somehow I could not feel comfortable with it.
  • Komodo Edit : Fine in editing multiple types files, but lacks many python editing features. Comprasion with Komodo IDE is here.
  • Eclipse : Far too complex for me.
  • Komodo IDE : Powerfull enough for editing css, js, html and python. It has good code completion support, and can debug python. Also has a good source browser. Bu it is commercial and somehow it seemed slow for me while editing files, changing editor windows.

So far the ideal editor was the Komodo IDE. But I have new a candidate : NetBeans ! An early access edition of Netbeans with Python support is released. It can be downloaded from here. It nearly have all the features that I want from an editor :

  • Code completion
  • A Usable and fast source browser
  • A usable directory browser
  • Debugging
  • Fast response in editor
  • Renaming / refactoring
  • Good code highlighting
  • Ability to edit html, js and css
  • jQuery support

And the additional features I’ve liked are :

  • A database browser. Comes very handy when developing db applications.
  • Ability to connect to Firebird through Firebird JDBC driver.
  • Very nice tips about coding style
  • Very fast startup time.

More detailed information is on the wiki of NetBeans.

To install NetBeans 6.5, first install sun java6 SDK which is in multiverse repositories :

sudo apt-get install sun-java6-jdk

Then download it, and make it executable and run 🙂