Skip to content

Debian/Ubuntu: Executable isql is not firebird related #1

@mikini

Description

@mikini

On Debian/Ubuntu the isql executable in default $PATH (/usr/bin/isql) is from the unixodbc package (ubuntu/debian) and the isql from the firebird package (ubuntu/debian) has been renamed to isql-fb to avoid conflict.

On an Ubuntu 16.04 system:

$ dpkg -S $(which isql)
unixodbc: /usr/bin/isql
$ dpkg -S $(which isql-fb)
firebird2.5-super: /usr/bin/isql-fb
$ 

This means that using the src/1run_oltp_emul.sh script from the repository configured with $fbc=/usr/bin is failing of non-obvious reasons when it executes the unixodbc isql which takes different arguments than isql-fb:

...
Script that verifies finish of DB building process is NOT EMPTY.
...
db_build_finished_ok=|0|
Result: database needs to be REBUILT.

Database: >/web/db/oltp25_test.fdb< -- DOES exist but
process of creation its objects was not completed.
...
Error log /var/tmp/logs.oltp25/tmp_build_25.err is NOT EMPTY!
...
Additional info / advice:
Check SQL script at line that was specified in error message.

Script is terminated.

Even worse, a user cannot configure the script or environment to use the binaries directly from /usr/bin as the script is hardcoded to call the executables by absolute paths as $fbc/isql and $fbc/fbsvcmgr, respectively.

If the script just used the isql and fbsvcmgr in $PATH a user would be able to modify the path externally to satisfy oltp-emul.

Instead one has to do tricks like the below and point $fbc to ~/oltp-emul/bin to make the benchmark run:

$ mkdir ~/oltp-emul/bin
$ cd ~/oltp-emul/bin
$ ln -sv /usr/bin/fbsvcmgr .
'./fbsvcmgr' -> '/usr/bin/fbsvcmgr'
$ ln -sv /usr/bin/isql-fb isql
'isql' -> '/usr/bin/isql-fb'
$

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions