Re: sqlite error with roundup-demo
"John P. Rouillard" <[email protected]> Wed, 08 Nov 2023 21:05:28 -0500
| Newsgroups | gmane.comp.bug-tracking.roundup.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Tonu:
In message
<CABDFm8hZ4n8zdc7Q+T7mr7SbjNsOOOEBP3t23HHO_ZNU=2n4fw@mail.gmail.com> ,
Tonu Mikk via Roundup-users writes:
>I am trying to install the latest Roundup issue tracker on Red Hat Linux 7.
Are you installing Roundup 2.3.0, or are you using the repository
version?
>I installed Python 3 and created a virtual environment according to this
>guide
><https://developers.redhat.com/blog/2018/08/13/install-python3-rhel#tl_dr>.
Ok. With the virtual env enabled, what does:
% python -V
report?
What commands did you use to install Roundup?
I assume your virtual-env is at: /home/tmikk/pydev/py36-venv?
Is that a local filesystem or an NFS filesystem?
>I then ran the roundup-demo to create a demo tracker, but got an
>error with sqlite3. I tried downloading and installing the latest
>version of sqlite, but that did not work.
>
>Any suggestions?
>
>(py36-venv) [tmikk@drc-roundup-prd-web bin]$ sudo roundup-demo
You shouldn't be running roundup as root. Run it as it's own user or
run it as yourself.
What is the #! line at the top of roundup-demo?
>> Enter directory path to create demo tracker [./demo]:
>> /swadm/roundup/trackers/demo-classic
Is /swadm/roundup/trackers a local or NFS filesystem?
>> Enter tracker template to use (one of
>> (minimal,jinja2,classic,responsive,devel)) [classic]:
This looks fine.
>> Nuking directory left from the previous demo instance.
This is odd. It is supposed to nuke the previous contents *ONLY IF*
nuke is specified on the roundup-demo command line. This could be a
bug. I can reproduce it interacively:
(roundup)$ roundup-demo
Enter directory path to create demo tracker [./demo]: /tmp/demo-classic
Enter tracker template to use (one of (minimal,issue,jinja2,classic,responsive,devel,classic-demo,classic-postgres)) [classic]:
Nuking directory left from the previous demo instance.
Trying to set up web server on port 8917 ...
should be ok.
[...]
Apparently the interactive path doesn't require a nuke
keyword. However I can't reproduce your crash.
>> Trying to set up web server on port 8917 ...
>> should be ok.
>> Traceback (most recent call last):
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py",
>> line 202, in open_connection
>> self.load_dbschema()
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py",
>> line 305, in load_dbschema
>> self.cursor.execute('select schema from schema')
>> sqlite3.OperationalError: no such table: schema
This looks like an init failed. Try removing the target directory
(demo-classic) entirely and rerunning roundup-demo so it doesn't try
to nuke the existing directory since there is no existing directory.
If a valid tracker directory exists (e.g. at d in my example), you
should be seeing:
% roundup-demo d
Demo Tracker Home: d
Server running - connect to:
http://localhost:8917/demo/
It should never nuke the directory unless you specify nuke. For example:
(roundup)$ roundup-demo /tmp/demo-classic nuke
Enter tracker template to use (one of (minimal,issue,jinja2,classic,responsive,devel,classic-demo,classic-postgres)) [classic]:
Nuking directory left from the previous demo instance.
Trying to set up web server on port 8917 ...
>> During handling of the above exception, another exception occurred:
>>
>> Traceback (most recent call last):
>> File "/home/tmikk/pydev/py36-venv/bin/roundup-demo", line 11, in <module>
>> load_entry_point('roundup==2.3.0', 'console_scripts', 'roundup-demo')()
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/scripts/roundup_demo.py",
>> line 173, in run
>> use_port=cli_args.urlport or DEFAULT_PORT)
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/demo.py",
>> line 120, in install_demo
>> tracker.init(password.Password('admin', config=config))
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py",
>> line 209, in init
>> db = self.open('admin')
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/instance.py",
>> line 115, in open
>> 'db': backend.Database(self.config, name)
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py",
>> line 227, in __init__
>> self.open_connection()
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py",
>> line 211, in open_connection
>> self._add_fts5_table()
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/back_sqlite.py",
>> line 255, in _add_fts5_table
>> self.sql('CREATE virtual TABLE __fts USING fts5(_class, '
>> File
>> "/home/tmikk/pydev/py36-venv/lib64/python3.6/site-packages/roundup/backends/rdbms_common.py",
>> line 266, in sql
>> cursor.execute(sql)
>> sqlite3.OperationalError: no such module: fts5
What version of sqlite are you using? SQLite version 3.9.0 (released:
2015-10-14) and newer have fts5 support by default.
What does:
% sqlite3 -version
show?
My main dev platform is debian based (ubuntu 18.04) with Python 3.6
and sqlite works fine.
What happens if you run (from within the venv):
% roundup-demo -b sqlite -t classic /tmp/demo-classic
This is what I get:
$ roundup-admin -V
Roundup 2.3.0 ready for input.
(type exit to exit the admin interface)
(roundup)$ roundup-demo -b sqlite -t classic /tmp/demo-classic
Trying to set up web server on port 8917 ...
should be ok.
Demo Tracker Home: /tmp/demo-classic
Server running - connect to:
http://localhost:8917/demo/
[...]
when restarting I get:
(roundup)$ roundup-demo /tmp/demo-classic
Demo Tracker Home: /tmp/demo-classic
Server running - connect to:
[...]
python version:
(roundup)$ python -V
Python 3.6.9
python sqlite3 version info:
(roundup)$ python -c 'import sqlite3; print(sqlite3.version_info, sqlite3.sqlite_version_info)'
(2, 6, 0) (3, 22, 0)
sqlite3 cli version
$ sqlite3 -version
3.22.0 2018-01-22 18:45:57 0c55d[...]
Compare these to what you get.
Have a great day.
--
-- rouilj
John Rouillard
===========================================================================
My employers don't acknowledge my existence much less my opinions.