Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How to install Interbase 6.01 on Gentoo 2005.1
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
yassen
Apprentice
Apprentice


Joined: 26 Mar 2004
Posts: 194

PostPosted: Tue Nov 15, 2005 1:29 pm    Post subject: How to install Interbase 6.01 on Gentoo 2005.1 Reply with quote

Nobody knows what may fall over his/her head. Once upon a time I had to provide Interbase 6.01 database server for some 20 client machines in a medical center. Yes, no firebird, no other version of Interbase, just only Interbase 6.01. And I was running Gentoo as a server platform there and it seemed like there cannot be a conciliation between the two.

If you fall in a similar situation, do not loose hope! Here's what you should do:

Overview:

1. Download the Interbase server distro and unpack it
2. Run the supplied install script
3. Create an interbase user and group
4. (Optional:) move the server log to /var/log/
5. Symlink the libncurses library
6. Create (copy-paste) the startup and conf.d script
7. Test: Start, stop, execute queries

That's it. Works for me and I hope it will fork for you also.

-- Tested once at a Gentoo 2004.0 system;
-- Tested recently on a Gentoo 2005.1 stage1/3 installation with gcc-3.4.4 and nptl
(see 2005.1 related thread and the 2005.0 related thread for details on this method of installing Gentoo Linux)

Now in detail:

1. Download and unpack the appropriate Interbase server distro
The download page is at http://www.borland.com/devsupport/interbase/opensource/
I took the Super Server named InterBaseSS_LI-V6.0.1.tar (ftp://ftpc.borland.com/pub/interbase/devsupport/open_source/InterBaseSS_LI-V6.0.1.tar);
Didn't test this with the Classic Server but I guess it should work as well.

Now untar it:
Code:
myhost ~ # tar xvf InterBaseSS_LI-V6.0.1.tar


You should get these two files at the current directory where you untarred the original distro:
Code:
-rw-r--r--  1 root root 3088802 Jan  3  2001 InterBaseSS_LI-V6.0.tgz
-rwxr-xr-x  1 5626   36   10269 Jan  3  2001 install


2. Run the install script
The supplied install script should be executable, so you can do this:
Code:
myhost ~ # ./install -s InterBaseSS_LI-V6.0.tgz


The -s stands for "SuperServer" (I guess the script will determine that by itself, but I did not risk to check if it will ;-)

You should get an output like this:
Code:
Extracting files... Done
Updating access permissions... Done
Installing the header files... Done
Installing the libraries... Done
Updating service name database... Done
Updating configuration file for inetd...
Creating /etc/hosts.equiv ... Done
Creating the ibmgr shell script... Done

Install completed successfully
Install log can be found at /opt/interbase/ibinstall.log


3. Create an interbase user and group
I did it using these two commands:
Code:
groupadd -g 451 interbase
useradd -u 451 -d /opt/interbase -g interbase interbase


4. (Optional:) move the server log to /var/log/
Now if you like to have the interbase server log in /var/log/, do this:

Code:
myhost ~ # cd /opt/interbase
myhost ~ # mv interbase.log /var/log/
myhost ~ # ln -s /var/log/interbase.log


5. Symlink the libncurses library

If after installation you try to run the server wthout doing this step, the server will fail, telling you that it cannot find the libncurses library:
Code:
/opt/interbase/bin/ibmgr.bin: error while loading shared libraries: libncurses.so.4: cannot open shared object file: No such file or directory


Simply symlink the libncurses.so.4 to the current libncurses library:
Code:
myhost ~ # cd /lib/
myhost ~ # ln -s libncurses.so libncurses.so.4


On my system the current version was 5.4 but fortunately, this all worked out. Hope for the same for you.

6. Create the startup script and config
These two have been shamelessly stolen from the Gentoo firebird installation:

Code:
myhost ~ # cat /etc/conf.d/interbase
# /etc/conf.d/interbase
ISC_USER=SYSDBA
ISC_PASSWORD=masterkey
INTERBASE=/opt/interbase
IBRunUser=interbase


Code:
myhost ~ # cat /etc/init.d/interbase
#!/sbin/runscript

# Distributed under the terms of the GNU General Public License v2

# YD, 2004-11-30: this script was copied from the Gentoo /etc/init.d/firebird,
# which was distributed under the GNU General Public License v2.
# It was adopted then for the Interbase 6 server.

#  NOTE: make sure you have localhost in your hosts.equiv file see next 2
#  lines for example of hosts.equiv contents
#localhost.localdomain
#localhost

export INTERBASE
export ISC_USER
export ISC_PASSWORD
export IBRunUser
MANAGER=$INTERBASE/bin/ibmgr.bin

depend() {
        need net
}

start(){
        ebegin "Starting Interbase 6 server"
        su $IBRunUser -c "${MANAGER} -start -forever"
        eend $?
}

stop(){
        ebegin "Stopping Interbase 6 server"
        $MANAGER -shut
        eend $?
}

Now you should be ready for testing:


7. Test: Start, stop, execute queries

These commands:
Code:
myhost ~ # /etc/init.d/interbase start && /etc/init.d/interbase stop


generated the following messages in the server log:

Code:

myhost (Client) Tue Nov 30 23:13:56 2004
        INET/inet_error: connect errno = 111

myhost (Client) Tue Nov 30 23:13:56 2004
        /opt/interbase/bin/ibguard: guardian starting bin/ibserver

myhost (Client) Tue Nov 30 23:44:35 2004
        /opt/interbase/bin/ibguard: bin/ibserver normal shutdown.

(the error is harmless as explained at http://community.borland.com/article/0,1410,27663,00.html

Try connecting to a sample database via isql or using another client (like IBConsole).


Addendum: Tune your /etc/hosts and /etc/hosts.equiv

If you get this message on the console while trying to start the server:

Code:
 * Starting Interbase 6 server ...
check $INTERBASE/interbase.log file for errors
can not start server                                                                                      [ ok ]

and your log repeatedly shows things like:
Code:
myhost (Server) Fri Nov  4 16:19:46 2005
        SERVER/process_packet: connection rejected for interbase


then you have to make sure that each entry for the localhost (IP 127.0.0.1) in your /etc/hosts has a corresponding entry in your /etc/hosts.equiv. The Interbase server installer creates an /etc/hosts.equiv like this:
Code:
myhost ~ # cat /etc/hosts.equiv
localhost


In this case, make sure you have an entry like this in your /etc/hosts:
Code:
myhost ~ # cat /etc/hosts
127.0.0.1      localhost

# (other non-127.0.0.1 entries go here)


In case you have any additional entries for 127.0.0.1 in /etc/hosts and you want to keep them, then add their hostnames (e.g. localhost.mydomain) into the /etc/hosts.equiv as well.
_________________
:: Adopt an Unanswered Post ::
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum