Bugzilla – Bug 983
Unrecognized Token error in SQLite during initialization
Last modified: 2009-09-08 09:17:57 UTC
I'm receiving the following error messages which cause DBD::SQLite::db prepare_cached failed: unrecognized token: ":"(1) at dbdimp.c line 268 at /home/kolding/SlimP3/SlimServer_v2005-03-08/CPAN/Ima/DBI.pm line 391. DBD::SQLite::db prepare_cached failed: unrecognized token: ":"(1) at dbdimp.c line 268 at /home/kolding/SlimP3/SlimServer_v2005-03-08/CPAN/Ima/DBI.pm line 391. I'm seeing this on SlimServer 6.0b1, although I have been seeing it in 6.0 nightlies for a while. I'm running Perl 5.6.1 on Redhat Linux 7.something (7.3?).
Created attachment 313 [details] output of slimserver.pl --diag
can you paste the output of perl -V?
perl -V: Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration: Platform: osname=linux, osvers=2.4.21-1.1931.2.393.entsmp, archname=i386-linux uname='linux porky.devel.redhat.com 2.4.21-1.1931.2.393.entsmp #1 smp thu aug 14 14:47:21 edt 2003 i686 unknown ' config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dcccdlflags=-fPIC -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Uusethreads -Uuseithreads -Uuselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Dinc_version_list=5.6.0/i386-linux 5.6.0' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include', optimize='-O2 -march=i386 -mcpu=i686', cppflags='-fno-strict-aliasing -I/usr/local/include' ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.2)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=4, usemymalloc=n, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -ldl -lm -lc -lcrypt -lutil perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil libc=/lib/libc-2.2.4.so, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: Built under linux Compiled at Aug 18 2003 16:08:13 @INC: /usr/lib/perl5/5.6.1/i386-linux /usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/i386-linux /usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl/5.6.0/i386-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.6.1/i386-linux /usr/lib/perl5/vendor_perl/5.6.1 /usr/lib/perl5/vendor_perl
Created attachment 318 [details] DBI_TRACE=2 output Dan asked for output of slimserver with DBI_TRACE=2. I sent this to him under separate cover, but here it is for good measure.
Eric - does this happen with a clean/empty database as well?
Define clean/empty database. This is a fresh install of the 6.0 branch, so there should be no database at all in the SQL world. I have previously had a 5.4 build running on this machine, but that shouldn't have left any DB behind that 6.0 would be interested in. There is a mysql daemon running on the box, but I haven't attempted to use it at all. I assume that's an option rather than the default.
Yes - that's an option rather than the default. In fact some people have said it's slower. I would, however be curious to see if it works for you. If you edit the slimserver.conf / ~/.slimserver.pref file, find the dbuser, dbsource & dbpass. Set as appropriate for your mysql server. dbsource should look something like: dbsource=dbi:mysql:database=YourDBName
I'll see if I can give that a shot. May take a while to get that going though. I just updated to the 5.4.1 release, and once again, noticed something that I've seen on every release. When I try to run the version of Time::HiRes that comes packaged with slimserver, I get compilation errors. I have to use one that I've installed from CPAN, and physically remove the one in CPAN/Arch/5.6/i386-linux. I wonder if this is a clue? Some difference between what you guys ship and what comes with the RedHat 7.x drops? I tried removing the DBI stuff from the CPAN directory, and failed with an unsatisfied link error when trying to use the system installed version of DBI. I'll see if I can remove the system installed version entirely and get any further with the SlimServer shipped version.
Eric - can you download and run: http://svn.slimdevices.com/*checkout*/trunk/server/Bin/build-perl-modules.pl Thanks.
Ok - you're not going to like this. After much digging, I found what the issue is - perl 5.6 on RedHat 7.2 (and 7.1 I believe) don't seem to be working properly with the overload module, which is at the core of our code. overload itself comes with perl, and I tried to use a new, local version, but that didn't work either. I've verified that our code does work on RedHat 7.3, and a number of other perl 5.6 systems. LinkStation and SME Linux. RedHat 7.2 appears to be on it's way out - Fedora Legacy just stopped supporting it: http://fedoralegacy.org/