Opened 9 years ago

Closed 8 years ago

#1031 closed defect (fixed)

configure does not check if sqllite3 is installed.

Reported by: Alex Toader Owned by: Dimitar Misev
Priority: major Milestone: 9.2
Component: build system Version: development
Keywords: Cc:
Complexity: Medium

Description

rasdaman now uses by default sqlite, but the configure step does not check if sqlite is installed. This leads to runtime errors later on.

Shouldn't the check be done at configuration time?

Change History (4)

comment:1 by Dimitar Misev, 9 years ago

I'm pretty sure dev headers at least are checked, otherwise you wouldn't be able to compile rasdaman. Otherwise I don't think it's usual practice to check if the DBMS itself is installed. Maybe I'm just compiling on this machine but plan to use the binaries on another, e.g. I'm generating RPM packages?

comment:2 by Bang Pham Huu, 8 years ago

I agree with Dimitar when run ./configure I can see it check SQLite3 (compile from source). It is best if Alex Toader give the context where you don't see it.

comment:3 by Alex Toader, 8 years ago

rasdaman@atoader:~/Installs/beta/bin$ ./create_db.sh
create_db.sh: Creating database, rasdaman v9.0 on base DBMS sqlite
create_db.sh: rasdaman dictionary initialization…\crasdl: rasdaman schema and database manipulation tool, rasdaman v9.1.0-ge9f8ffd on base DBMS sqlite — generated on 04.11.2015 20:04:08.
Creating base RASBASE…04/11/2015 20:31:08.339 [INFO] Connected successfully to '/home/rasdaman/Installs/beta/data/RASBASE'
04/11/2015 20:31:08.444 [ERROR] SQL query failed: close RASBASE connection
04/11/2015 20:31:08.444 [ERROR] Database warning, code: 5, message: unable to close due to unfinalized statements or unfinished backups
ok
/home/rasdaman/Installs/beta/bin/rasdl done.
rasdl: rasdaman schema and database manipulation tool, rasdaman v9.1.0-ge9f8ffd on base DBMS sqlite — generated on 04.11.2015 20:04:08.
04/11/2015 20:31:08.449 [INFO] Connected successfully to '/home/rasdaman/Installs/beta/data/RASBASE'
Reading rasdaman data definition file /home/rasdaman/Installs/beta/share/rasdaman/examples/rasdl/basictypes.dl…inserting symbols into database…ok
ok
/home/rasdaman/Installs/beta/bin/rasdl done.
create_db.sh: done.

rasdaman@atoader:~/Installs/beta/bin$ ./create_db.sh
create_db.sh: Creating database, rasdaman v9.0 on base DBMS sqlite
create_db.sh: rasdaman dictionary initialization…\crasdl: rasdaman schema and database manipulation tool, rasdaman v9.1.0-ge9f8ffd on base DBMS sqlite — generated on 04.11.2015 20:04:08.
Creating base RASBASE…04/11/2015 20:31:17.760 [INFO] Connected successfully to '/home/rasdaman/Installs/beta/data/RASBASE'
04/11/2015 20:31:17.761 [FATAL] Database exists already.
EDL003 rasdaman error: 832: base DBMS Error: Database exists already.
/home/rasdaman/Installs/beta/bin/rasdl done.
create_db.sh: rasdl failed.

rasdaman@atoader:~/Installs/beta/bin$ ./update_db.sh
update_db.sh: sqlite database to update: /home/rasdaman/Installs/beta/data/RASBASE
update_db.sh: sqlite3 missing, please install.
update_db.sh: exiting.

So the message appears when I try to run ./update_db.sh. This is a clean install and I followed the instructions for quick install on Debian 8. Installing sqlite3 fixes the problem.

comment:4 by Dimitar Misev, 8 years ago

Resolution: fixed
Status: newclosed

Ah true update_db.sh uses sqlite3. I updated the installation guide.

Note: See TracTickets for help on using tickets.