Firebird issue in fb.so - ruby: symbol lookup error:

1) Install the following gems:

fb (0.5.9) fb_adapter (0.5.8)

2) Make sure that you have libfbclient.so in your /usr/lib

3) Go to where fb-0.5.9 folder is. In mine it is found at /usr/lib/ruby/gems/1.8/gems/fb-0.5.9 4) Type sudo make install. This will build the fb.so for the version of firebird you are using. I have tried it with FB 2.0.x and 2.1.x

That's it.

Hope that solves your problem.

All the best,

Fidel.

Hi,

Fidel Viegas wrote: ...

2) Make sure that you have libfbclient.so in your /usr/lib

3) Go to where fb-0.5.9 folder is. In mine it is found at /usr/lib/ruby/gems/1.8/gems/fb-0.5.9 4) Type sudo make install. This will build the fb.so for the version of firebird you are using. I have tried it with FB 2.0.x and 2.1.x

thanks, but the problem still persists. If I try make install then "make: Nothing to be done for `install'." So if I perform make clean and then make install and then try to attempt to connect I get the same error. ruby: symbol lookup error: /usr/lib/ruby/gems/1.8/gems/fb-0.5.9/./fb.so: undefined symbol: isc_attach_database

Which version of Firebird are you using and how did you install it? Was it from the repository? Or from the rpm?

I have installed mine from the .tar.gz archive, and it created the symbolic links for all the libraries in /opt/firebird/lib to /usr/lib

I know if you install from the repository (at least for Ubuntu), you will need to install also firebird-devel.

Just a note that I get some warnings for make install too, eg. : fb.c: In function ‘fb_error_check’: fb.c:380: warning: passing argument 1 of ‘isc_sqlcode’ from incompatible pointer type

(I'm trying to connect like : db = Database.new( :database => "x.x.x.x:d:\\database\\tesdb.gdb", :username => 'username', :password => 'password') conn = db.connect rescue db.create.connect )

That seems to be ok, but the path should be /database/testdb.gdb. Are you using interbase or firebird? Or is it just a habit from interbase to give your database files a .gdb extension?

Anyway, try to check if you have the development libraries all in place. When I first installed the fb gem, I had the same error you did, but then I cleaned up all the fb libraries in /usr/lib and then created the symbolic links by hand, and that solved my problem. But, as I said, I installed from the .tar.gz archive on Ubuntu. Don't know if the same will resolve your issue with CentOS, but I think it should.

Hope that helps you solve your problem.

Fidel.

Fidel Viegas wrote:

4) Type sudo make install. This will build the fb.so for the version of firebird you are using. I have tried it with FB 2.0.x and 2.1.x

thanks, but the problem still persists. If I try make install then "make: Nothing to be done for `install'." So if I perform make clean and then make install and then try to attempt to connect I get the same error. ruby: symbol lookup error: /usr/lib/ruby/gems/1.8/gems/fb-0.5.9/./fb.so: undefined symbol: isc_attach_database

Which version of Firebird are you using and how did you install it? Was it from the repository? Or from the rpm?

FirebirdCS-2.1.2.18118-0.i686.rpm, but I have tried older version too. This package is from the rpm, because in the repo is no Firebird available. Hope this include devel too. I have checked libraries in the /usr/lib and it looks sane. I'm going to delete them and add manually.

I have installed mine from the .tar.gz archive, and it created the symbolic links for all the libraries in /opt/firebird/lib to /usr/lib

I know if you install from the repository (at least for Ubuntu), you will need to install also firebird-devel.

� � � �conn = db.connect rescue db.create.connect )

That seems to be ok, but the path should be /database/testdb.gdb. Are you using interbase or firebird? Or is it just a habit from interbase to give your database files a .gdb extension?

Anyway, try to check if you have the development libraries all in place. When I first installed the fb gem, I had the same error you did, but then I cleaned up all the fb libraries in /usr/lib and then created the symbolic links by hand, and that solved my problem. But, as I said, I installed from the .tar.gz archive on Ubuntu. Don't know if the same will resolve your issue with CentOS, but I think it should.

I will try. Libraries looks sane.

Hope that helps you solve your problem.

Fidel.

Thanks koca