felipemdc: The source code might be portable, but the executable is definitely OS specific - actually, in my case, the application doesn't run under Linux although it compiles OK. However, it does run under Wine and on a real Windows virtual machine. And this is with the TDbf component, not Firebird.
The problem is that the Lazarus Run command doesn't launch the executable. It gives the SIGSEGV error I mentioned. Instead I have to manually launch the executable using Wine.
The advantage of having an executable that runs under Wine is that I only need one executable for Linux and Windows. Therefore, and because my application doesn't seem to want to work directly in Linux, I'm using Wine to develop it.