Python related exception for Drizzle tests
Running on Debian Lenny
When running any test (from test run, or dbqp) the following exception occurs: 20110707-112222 INFO STATUS: 1
20110707-112225 =======
<type 'exceptions.
The client and server both work when not being tested.
The following packages are installed :
python-
python3.
Any help would be much appreciated.
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Drizzle Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- CaptTofu
- Solved:
- Last query:
- Last reply:
Revision history for this message
|
#1 |
Hrm - two things:
1) You probably shouldn't see this if you try drizzle-test-run / dtr. What you are showing is a python exception and test-run.pl (dtr) is perl. Could you run: ./dtr --suite=main and share any failure output?
2) For dbqp, this appears to be an issue with python not having access to string.format(). While the python package you have installed *should* be good, the fact that we are seeing this is saying that python isn't finding that method (which shouldn't be the case for 3.1)
Just to double check - could you run python --version? And also include any failure output?
Also, could you share the command lines that you are trying?
Thanks and here's hoping we can get this sorted.
Revision history for this message
|
#2 |
Thank you for the quick response, running ./dtr --suite=main works well thank you!
As for the dbqp, my computer seems to be running 2.5.2 (according to python --version) which explains the error I'm getting, even though all the packages for 3.1 have been installed. I shall do a clean install of Python which should hopefully solve the version problem.
The command I am running is (although I get the same error with all instances of ./dbqp) <code> ./dbqp --mode=randgen --randgen-
</code>
The output is <code> 20110707-143918 INFO VARDIR: /home/ncrooks/
20110707-143918 INFO STATUS: 1
20110707-143921 =======
<type 'exceptions.
20110707-143921 INFO Stopping all running servers...
</code>
Thank you.
Revision history for this message
|
#3 |
Ah ok, this boils down to string.format() being in python 2.6 or greater (it was actually backported to 2.6 from 3.0 as it was so good) : )
Apologies for any inconvenience and thanks for pointing this out. I'll make it a point to document it under requirements. Once your python install is sorted, things should run well for you.
The only other thing is that you need dbd::drizzle installed to run the randgen (and other tools like crashme and sql-bench).
Hope you are up and running soon!
Patrick
Revision history for this message
|
#4 |
I apologise for contacting you once again. I am rather new to Debian and struggling (yet again) for testing.
You mentioned the dbd:drizzle module. I have been trying all day to install it .... but I seem unable to run make. The documentation states that you need to run this
perl Makefile.PL --cflags=
As my libraries are located in /usr/local/lib, and the drizzle headers in /usr/local/drizzle (based on the command whereis drizzle) , I am running:
perl Makefile.PL --cflags=
(which seems to be successful)
This doesn't suffice as there is no drizzle.db in the perl directories, as confirmed when I run either the crashme module or the sqlbench module.
xxxxxxxxxxxxxxxx
20110708-180847 INFO Executing sqlbench: $DRIZZLE_
<type 'exceptions.
20110708-180847 INFO Stopping all running servers..
xxxxxxxxxxxxxxx
20110708-180937 main.crashme [ fail ] 100
20110708-180937 install_
20110708-180937 Perhaps the DBD::drizzle perl module hasn't been fully installed,
20110708-180937 or perhaps the capitalisation of 'drizzle' isn't right.
20110708-180937 Available drivers: DBM, ExampleP, File, Gofer, Pg, Proxy, SQLite, Sponge, mysql.
20110708-180937 at /home/ncrooks/
20110708-180937
20110708-180937 ERROR Failed test. Use --force to execute beyond the first test failure
xxxxxxxxxxxxxxx
I hence tried to then make the file, which also does not work due to incorrect paths. (Using cpan to obtain the dbd also fails to make)
Revision history for this message
|
#5 |
No worries - did you also run
make
make install
After running perl Makefile.PL?
Any output from the make process you could share would be most helpful.
Revision history for this message
|
#6 |
Natacha,
Did 'make test' run successfully with DBD::drizzle?
Regards,
Patrick
On Fri, Jul 8, 2011 at 1:16 PM, Natacha Crooks
<email address hidden> wrote:
> Question #164045 on Drizzle changed:
> https:/
>
> Status: Answered => Open
>
> Natacha Crooks is still having a problem:
> I apologise for contacting you once again. I am rather new to Debian and
> struggling (yet again) for testing.
>
> You mentioned the dbd:drizzle module. I have been trying all day to
> install it .... but I seem unable to run make. The documentation states
> that you need to run this
>
> perl Makefile.PL --cflags=
> --libs=
>
> As my libraries are located in /usr/local/lib, and the drizzle headers in /usr/local/drizzle (based on the command whereis drizzle) , I am running:
> perl Makefile.PL --cflags=
>
> (which seems to be successful)
> This doesn't suffice as there is no drizzle.db in the perl directories, as confirmed when I run either the crashme module or the sqlbench module.
>
> xxxxxxxxxxxxxxxx
>
> 20110708-180847 INFO Executing sqlbench: $DRIZZLE_
> <type 'exceptions.
> 20110708-180847 INFO Stopping all running servers..
>
> xxxxxxxxxxxxxxx
>
>
> 20110708-180937 main.crashme [ fail ] 100
> 20110708-180937 install_
> 20110708-180937 Perhaps the DBD::drizzle perl module hasn't been fully installed,
> 20110708-180937 or perhaps the capitalisation of 'drizzle' isn't right.
> 20110708-180937 Available drivers: DBM, ExampleP, File, Gofer, Pg, Proxy, SQLite, Sponge, mysql.
> 20110708-180937 at /home/ncrooks/
> 20110708-180937
> 20110708-180937 ERROR Failed test. Use --force to execute beyond the first test failure
>
> xxxxxxxxxxxxxxx
>
> I hence tried to then make the file, which also does not work due to
> incorrect paths. (Using cpan to obtain the dbd also fails to make)
>
> --
> You received this question notification because you are a member of
> Drizzle-developers, which is an answer contact for Drizzle.
>
Revision history for this message
|
#7 |
Here's the following commands I use and the output errors I get (I have since corrected the cflags flag to point to the correct location of libdrizzle which wasn't the location indicated when make-ing the main drizzle file - apologies for that)
perl Makefile.PL --cflags=
Output:
I will use the following settings for compiling and testing:
cflags (User's choice) = -I/usr/
libs (User's choice) = -L/usr/local/lib -ldrizzle
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
ssl (guessed ) = 0
testdb (default ) = test
To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.
Argument "6.55_02" isn't numeric in numeric ge (>=) at Makefile.PL line 167.
Checking if your kit is complete...
Looks good
Using DBI 1.612 (for perl 5.010001 on i686-linux-
Writing Makefile for DBD::drizzle
And then when calling make
Output:
cp lib/DBD/
cp lib/DBD/drizzle.pm blib/lib/
cp lib/DBD/
cp lib/Bundle/
cc -c -I/usr/
In file included from dbdimp.c:15:0:
dbdimp.h:106:16: error: field ‘_drizzle’ has incomplete type
dbdimp.c: In function ‘my_login’:
dbdimp.c:1132:6: error: invalid application of ‘sizeof’ to incomplete type ‘drizzle_con_st’
dbdimp.c:1132:6: error: invalid application of ‘sizeof’ to incomplete type ‘drizzle_con_st’
dbdimp.c:1132:6: error: invalid application of ‘sizeof’ to incomplete type ‘drizzle_con_st’
dbdimp.c: In function ‘drizzle_
dbdimp.c:1245:21: error: storage size of ‘res’ isn’t known
dbdimp.c: In function ‘drizzle_
dbdimp.c:1265:21: error: storage size of ‘res’ isn’t known
dbdimp.c: In function ‘drizzle_
dbdimp.c:1406:21: error: storage size of ‘res’ isn’t known
dbdimp.c: In function ‘drizzle_
dbdimp.c:2073:5: warning: conversion lacks type at end of format
dbdimp.c: In function ‘drizzle_st_fetch’:
dbdimp.c:2162:19: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘uint64_t’
dbdimp.c:2164:19: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘uint64_t’
dbdimp.c: In function ‘drizzle_
dbdimp.c:2684:11: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘uint64_t’
dbdimp.c: In function ‘drizzle_
dbdimp.c:2852:18: error: storage size of ‘con’ isn’t known
make: *** [dbdimp.o] Error 1
Revision history for this message
|
#8 |
Double-checking:
This is the latest dirzzle and the latest DBD::drizzle?
On Sat, Jul 9, 2011 at 2:11 PM, Natacha Crooks
<email address hidden> wrote:
> Question #164045 on Drizzle changed:
> https:/
>
> Status: Answered => Open
>
> Natacha Crooks is still having a problem:
>
> Here's the following commands I use and the output errors I get (I have
> since corrected the cflags flag to point to the correct location of
> libdrizzle which wasn't the location indicated when make-ing the main
> drizzle file - apologies for that)
>
> perl Makefile.PL --cflags=
> --libs=
>
> Output:
> I will use the following settings for compiling and testing:
>
> cflags (User's choice) = -I/usr/
> libs (User's choice) = -L/usr/local/lib -ldrizzle
> nocatchstderr (default ) = 0
> nofoundrows (default ) = 0
> ssl (guessed ) = 0
> testdb (default ) = test
>
> To change these settings, see 'perl Makefile.PL --help' and
> 'perldoc INSTALL'.
>
> Argument "6.55_02" isn't numeric in numeric ge (>=) at Makefile.PL line 167.
> Checking if your kit is complete...
> Looks good
> Using DBI 1.612 (for perl 5.010001 on i686-linux-
> Writing Makefile for DBD::drizzle
>
> And then when calling make
>
> Output:
> cp lib/DBD/
> cp lib/DBD/drizzle.pm blib/lib/
> cp lib/DBD/
> cp lib/Bundle/
> cc -c -I/usr/
> In file included from dbdimp.c:15:0:
> dbdimp.h:106:16: error: field ‘_drizzle’ has incomplete type
> dbdimp.c: In function ‘my_login’:
> dbdimp.c:1132:6: error: invalid application of ‘sizeof’ to incomplete type ‘drizzle_con_st’
> dbdimp.c:1132:6: error: invalid application of ‘sizeof’ to incomplete type ‘drizzle_con_st’
> dbdimp.c:1132:6: error: invalid application of ‘sizeof’ to incomplete type ‘drizzle_con_st’
> dbdimp.c: In function ‘drizzle_
> dbdimp.c:1245:21: error: storage size of ‘res’ isn’t known
> dbdimp.c: In function ‘drizzle_
> dbdimp.c:1265:21: error: storage size of ‘res’ isn’t known
> dbdimp.c: In function ‘drizzle_
> dbdimp.c:1406:21: error: storage size of ‘res’ isn’t known
> dbdimp.c: In function ‘drizzle_
> dbdimp.c:2073:5: warning: conversion lacks type at end of format
> dbdimp.c: In function ‘drizzle_st_fetch’:
> dbdimp.c:2162:19: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘uint64_t’
> dbdimp.c:2164:19: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘uint64_t’
> dbdimp.c: In function ‘drizzle_
> dbdimp.c:2684:11: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘uint64_t’
> dbdimp.c: In function ‘drizzle_
> dbdimp.c:2852:18: error: storage size of ‘con’ isn’t known
> make: *** [dbdimp.o] Error 1
>
> --
> You received this question notification because you are a member of
> Drizzle-developers, which is an answer contact for Drizzle.
>
Revision history for this message
|
#9 |
Thank you for the help. I solved my problem by using the 0.303 version of the DBD (by default the link on the website leads you to the 0.300 release, if not using bazaar) and by running libdrizzle1.0 rather than 2.0.
Thank you very much
Regards
Revision history for this message
|
#10 |
Thanks CaptTofu, that solved my question.
Revision history for this message
|
#11 |
LinkedIn
------------
I'd like to add you to my professional network on LinkedIn.
- Patrick
Patrick Galbraith
Principal Engineer, Advanced Technology Group at Hewlett-Packard
Greater Boston Area
Confirm that you know Patrick Galbraith:
https:/
--
You are receiving Invitation to Connect emails. Click to unsubscribe:
http://
(c) 2012 LinkedIn Corporation. 2029 Stierlin Ct, Mountain View, CA 94043, USA.