Bug#737126: Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Hi Markus, On Fri, Jan 31, 2014 at 11:20 AM, Markus Hoenicka markus.hoeni...@mhoenicka.de wrote: Am 2014-01-31 10:48, schrieb László Böszörményi: On Fri, Jan 31, 2014 at 9:04 AM, Markus Hoenicka markus.hoeni...@mhoenicka.de wrote: Problem is that I'm not aware of similar limits for floats. Do you know where to get this info from at compile time? Attached a sample. Basically those are: FLT_MAX, DBL_MAX and LDBL_MAX. Ah, I see. I'll see if I can come up with a fixed testkit. Any progress? More than two weeks passed. I may just disable those problematic tests as libdbi-drivers itself works as expected. Regards, Laszlo/GCS -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#737126: Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Am 2014-02-17 15:13, schrieb László Böszörményi: Hi Markus, On Fri, Jan 31, 2014 at 11:20 AM, Markus Hoenicka markus.hoeni...@mhoenicka.de wrote: Am 2014-01-31 10:48, schrieb László Böszörményi: On Fri, Jan 31, 2014 at 9:04 AM, Markus Hoenicka markus.hoeni...@mhoenicka.de wrote: Problem is that I'm not aware of similar limits for floats. Do you know where to get this info from at compile time? Attached a sample. Basically those are: FLT_MAX, DBL_MAX and LDBL_MAX. Ah, I see. I'll see if I can come up with a fixed testkit. Any progress? More than two weeks passed. I may just disable those problematic tests as libdbi-drivers itself works as expected. Regards, Laszlo/GCS Hi, there is some progress, but it's not suitable for general use yet. The revised testkit works ok on Debian including valgrind checks but still shows some differences between values returned from the drivers and expected values. This just takes some more time to fix. Problem is that it causes a bus error on FreeBSD which I cannot reproduce using valgrind, and gdb couldn't enlighten me about what is wrong. Therefore I suggest to disable the tests for the time being. As you mentioned, these are not libdbi or libdbi-drivers problems, but testkit problems. regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#737126: Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Am 2014-01-31 05:17, schrieb Prach Pongpanich: On Fri, Jan 31, 2014 at 7:09 AM, markus.hoeni...@mhoenicka.de wrote: Prach Pongpanich writes: [..] (Cc:-ing #737126) That reduced failures, but still remain the issue with the_float and the_double. Running libdbi framework test... test_dbi.c:3732: unit test failure: sqlite3 - libdbi connection - Retrieving fields as - test_dbi_result_get_as_longlong - [-1] should match [0] at [test_dbi.c] line [3732] test_dbi.c:3733: unit test failure: sqlite3 - libdbi connection - Retrieving fields as - test_dbi_result_get_as_longlong - [-1] should match [0] at [test_dbi.c] line [3733] Running libdbi framework test... Running libdbi framework test... Running libdbi framework test... Completed libdbi framework test: 397 passes, 2 failures, 0 exceptions. make: *** [test-stamp] Error 1 Ok, seems we're halfway there. It is certainly worth checking all the compiler warnings that Laszlo mentioned. But the above mentioned failures may be related to the way how libdbi converts floating point numbers to long long values. Prach, could you please run the test program below and report any compiler warnings as well as the output on armel? float2longlong.c --8 #include stdlib.h #include stdio.h int main() { float bigfloat = 3.402823e+38; long long bigfloat_casted; bigfloat_casted = (long long)bigfloat; printf(%lld\n, bigfloat_casted); exit (0); } I've added a big double: root@raspy-sid:~# gcc -Wall -g fd2ll.c -o fd2ll root@raspy-sid:~# ./fd2ll bigfloat2ll = -1 bigdouble2ll = -1 -- Prach Thanks. I'll have to mull over this a little, but it basically means that the design of the test program is flawed. The hard-coded expected return values are not as platform-independent as we figured, because they may exceed the range of valid numbers on some platforms. One option is to forgo the hard-coded values and use constants from limits.h like LLONG_MAX instead, assuming that they are available on all platforms. We'd then have to create the string representations via snprintf() instead of hard-coding them. Problem is that I'm not aware of similar limits for floats. Do you know where to get this info from at compile time? regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#737126: Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
On Fri, Jan 31, 2014 at 9:04 AM, Markus Hoenicka markus.hoeni...@mhoenicka.de wrote: Problem is that I'm not aware of similar limits for floats. Do you know where to get this info from at compile time? Attached a sample. Basically those are: FLT_MAX, DBL_MAX and LDBL_MAX. Laszlo/GCS #include stdio.h #include stdlib.h #include float.h int main(void) { printf(float neg: %f\n, -FLT_MAX); printf(float min: %f\n, FLT_MIN); printf(float max: %f\n, FLT_MAX); printf(double neg: %lf\n, -DBL_MAX); printf(double min: %lf\n, DBL_MIN); printf(double max: %lf\n, DBL_MAX); printf(long double neg: %Lf\n, -LDBL_MAX); printf(long double min: %Lf\n, LDBL_MIN); printf(long double max: %Lf\n, LDBL_MAX); return EXIT_SUCCESS; }
Bug#737126: Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Am 2014-01-31 10:48, schrieb László Böszörményi: On Fri, Jan 31, 2014 at 9:04 AM, Markus Hoenicka markus.hoeni...@mhoenicka.de wrote: Problem is that I'm not aware of similar limits for floats. Do you know where to get this info from at compile time? Attached a sample. Basically those are: FLT_MAX, DBL_MAX and LDBL_MAX. Laszlo/GCS Ah, I see. I'll see if I can come up with a fixed testkit. regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#737126: Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
On Thu, Jan 30, 2014 at 9:16 PM, Markus Hoenicka markus.hoeni...@mhoenicka.de wrote: [..] It's got the same result as without -fsigned-char. :( Ok, maybe this change alone was not sufficient. I went through the changes between the latest 0.8.x release (where things apparently still worked) and 0.9, and I suspect that we need some of the configure magic that was cleaned out before 0.9. Could you please test the appended patches against configure.ac of both libdbi and libdbi-drivers? To fix the problem, we may have to fiddle with both packages at a time. (Cc:-ing #737126) That reduced failures, but still remain the issue with the_float and the_double. Running libdbi framework test... test_dbi.c:3732: unit test failure: sqlite3 - libdbi connection - Retrieving fields as - test_dbi_result_get_as_longlong - [-1] should match [0] at [test_dbi.c] line [3732] test_dbi.c:3733: unit test failure: sqlite3 - libdbi connection - Retrieving fields as - test_dbi_result_get_as_longlong - [-1] should match [0] at [test_dbi.c] line [3733] Running libdbi framework test... Running libdbi framework test... Running libdbi framework test... Completed libdbi framework test: 397 passes, 2 failures, 0 exceptions. make: *** [test-stamp] Error 1 -- Prach -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#737126: Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Prach Pongpanich writes: On Thu, Jan 30, 2014 at 9:16 PM, Markus Hoenicka markus.hoeni...@mhoenicka.de wrote: [..] It's got the same result as without -fsigned-char. :( Ok, maybe this change alone was not sufficient. I went through the changes between the latest 0.8.x release (where things apparently still worked) and 0.9, and I suspect that we need some of the configure magic that was cleaned out before 0.9. Could you please test the appended patches against configure.ac of both libdbi and libdbi-drivers? To fix the problem, we may have to fiddle with both packages at a time. (Cc:-ing #737126) That reduced failures, but still remain the issue with the_float and the_double. Running libdbi framework test... test_dbi.c:3732: unit test failure: sqlite3 - libdbi connection - Retrieving fields as - test_dbi_result_get_as_longlong - [-1] should match [0] at [test_dbi.c] line [3732] test_dbi.c:3733: unit test failure: sqlite3 - libdbi connection - Retrieving fields as - test_dbi_result_get_as_longlong - [-1] should match [0] at [test_dbi.c] line [3733] Running libdbi framework test... Running libdbi framework test... Running libdbi framework test... Completed libdbi framework test: 397 passes, 2 failures, 0 exceptions. make: *** [test-stamp] Error 1 -- Prach Ok, seems we're halfway there. It is certainly worth checking all the compiler warnings that Laszlo mentioned. But the above mentioned failures may be related to the way how libdbi converts floating point numbers to long long values. Prach, could you please run the test program below and report any compiler warnings as well as the output on armel? regards, Markus float2longlong.c --8 #include stdlib.h #include stdio.h int main() { float bigfloat = 3.402823e+38; long long bigfloat_casted; bigfloat_casted = (long long)bigfloat; printf(%lld\n, bigfloat_casted); exit (0); } -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#737126: Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
On Fri, Jan 31, 2014 at 7:09 AM, markus.hoeni...@mhoenicka.de wrote: Prach Pongpanich writes: [..] (Cc:-ing #737126) That reduced failures, but still remain the issue with the_float and the_double. Running libdbi framework test... test_dbi.c:3732: unit test failure: sqlite3 - libdbi connection - Retrieving fields as - test_dbi_result_get_as_longlong - [-1] should match [0] at [test_dbi.c] line [3732] test_dbi.c:3733: unit test failure: sqlite3 - libdbi connection - Retrieving fields as - test_dbi_result_get_as_longlong - [-1] should match [0] at [test_dbi.c] line [3733] Running libdbi framework test... Running libdbi framework test... Running libdbi framework test... Completed libdbi framework test: 397 passes, 2 failures, 0 exceptions. make: *** [test-stamp] Error 1 Ok, seems we're halfway there. It is certainly worth checking all the compiler warnings that Laszlo mentioned. But the above mentioned failures may be related to the way how libdbi converts floating point numbers to long long values. Prach, could you please run the test program below and report any compiler warnings as well as the output on armel? float2longlong.c --8 #include stdlib.h #include stdio.h int main() { float bigfloat = 3.402823e+38; long long bigfloat_casted; bigfloat_casted = (long long)bigfloat; printf(%lld\n, bigfloat_casted); exit (0); } I've added a big double: root@raspy-sid:~# gcc -Wall -g fd2ll.c -o fd2ll root@raspy-sid:~# ./fd2ll bigfloat2ll = -1 bigdouble2ll = -1 -- Prach -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
On Tue, Jan 28, 2014 at 1:30 PM, László Böszörményi (GCS) g...@debian.org wrote: Hi Prach, On Mon, Jan 27, 2014 at 12:37 PM, Prach Pongpanich prach...@gmail.com wrote: On Mon, Jan 27, 2014 at 5:08 PM, László Böszörményi (GCS) g...@debian.org wrote: I've removed debian/*.dir files, which created an empty directory (usr/lib/dbd ). We don't want to run sqlite and sqlite3 tests[1] when cross-building, I attached a patch for both issues. [1] https://buildd.debian.org/status/package.php?p=libdbi-driverssuite=sid You made the diff in the wrong, backward way. As such, it tries to add the mentioned dir files. Btw thanks, those files indeed need to be removed. The mentioned page shows only the architectures that officially part of Debian. They are _not_ cross-builds but native to those architectures. I suppose you meant that don't run any tests when DEB_BUILD_OPTIONS instructs so. This is not the case for buildds. Those should run self-tests to early reveal platform specific bugs. Sorry for my mistake. I've discussed with Markus Hoenicka and he told me about a atoll() call which the sqlite3 driver uses to convert raw data into a long long number causes problems, he will work on this problem. drivers/sqlite3/dbd_sqlite3.c: 1719:data-d_longlong = (long long) atoll(raw); break; /* hah, wonder if that'll work */ P.S. please you set me as Maintainer to avoid missing an e-mail from the BTS. Only one person can be the maintainer. You should get bugreports as uploader or you may subscribe to the source packages of your choice[2]. Thanks for the explanation. Cheers, Prach -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
On Tue, Jan 28, 2014 at 2:33 PM, Prach Pongpanich prach...@gmail.com wrote: On Tue, Jan 28, 2014 at 1:30 PM, László Böszörményi (GCS) g...@debian.org wrote: I've discussed with Markus Hoenicka and he told me about a atoll() call which the sqlite3 driver uses to convert raw data into a long long number causes problems, he will work on this problem. drivers/sqlite3/dbd_sqlite3.c: 1719:data-d_longlong = (long long) atoll(raw); break; /* hah, wonder if that'll work */ No wonder, as GNU libc manual[1] on parsing integers states: Function: long long int atoll (const char *string) This function is similar to atol, except it returns a long long int. The atoll function was introduced in ISO C99. It too is obsolete (despite having just been added); use strtoll instead. Thus atoll is deprecated in favour of stroll. Hope if it this change will be made, then the compilation issue will be solved. Prach, if you have connection with Markus Hoenicka then may you send him the URL I've mentioned? Algernon, if I code a small converter, can you test it on Sparc (if you have any nearby at your workplace)? Regards, Laszlo/GCS [1] http://www.gnu.org/software/libc/manual/html_node/Parsing-of-Integers.html -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Hi, On Sat, Jan 25, 2014 at 8:46 PM, Gergely Nagy alger...@madhouse-project.org wrote: Source: libdbi-drivers Version: 0.9.0-1 Severity: grave Justification: renders package unusable libdbi1 0.9.0-1 is built with a multi-arch, and will search for drivers in a multi-arch directory, but the binaries produced from libdbi-drivers still produce packages that use the old, non-multiarch directory. This renders any software using libdbi unusable, as they will not be able to find drivers. I've multi-arched the package[1]. git.debian.org has problems again, it can't find the Git tree. :( Please test it and I'll upload if I get some reviews. I need to test it as well. Will add back Thomas as uploader if he agrees. Laszlo/GCS [1] dget -x http://www.barcikacomp.hu/gcs/libdbi-drivers_0.9.0-2.dsc -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Hi, On Mon, Jan 27, 2014 at 5:08 PM, László Böszörményi (GCS) g...@debian.org wrote: Hi, On Sat, Jan 25, 2014 at 8:46 PM, Gergely Nagy libdbi1 0.9.0-1 is built with a multi-arch, and will search for drivers in a multi-arch directory, but the binaries produced from libdbi-drivers still produce packages that use the old, non-multiarch directory. This renders any software using libdbi unusable, as they will not be able to find drivers. I've multi-arched the package[1]. git.debian.org has problems again, it can't find the Git tree. :( Please test it and I'll upload if I get some reviews. I need to test it as well. Will add back Thomas as uploader if he agrees. [1] dget -x http://www.barcikacomp.hu/gcs/libdbi-drivers_0.9.0-2.dsc I've removed debian/*.dir files, which created an empty directory (usr/lib/dbd ). We don't want to run sqlite and sqlite3 tests[1] when cross-building, I attached a patch for both issues. [1] https://buildd.debian.org/status/package.php?p=libdbi-driverssuite=sid P.S. please you set me as Maintainer to avoid missing an e-mail from the BTS. Thanks, Prach diff -Nuar libdbi-drivers-0.9.0-new/debian/libdbd-firebird.dirs libdbi-drivers-0.9.0/debian/libdbd-firebird.dirs --- libdbi-drivers-0.9.0-new/debian/libdbd-firebird.dirs 1970-01-01 07:00:00.0 +0700 +++ libdbi-drivers-0.9.0/debian/libdbd-firebird.dirs 2014-01-21 01:55:42.0 +0700 @@ -0,0 +1,2 @@ +usr/lib +usr/lib/dbd diff -Nuar libdbi-drivers-0.9.0-new/debian/libdbd-mysql.dirs libdbi-drivers-0.9.0/debian/libdbd-mysql.dirs --- libdbi-drivers-0.9.0-new/debian/libdbd-mysql.dirs 1970-01-01 07:00:00.0 +0700 +++ libdbi-drivers-0.9.0/debian/libdbd-mysql.dirs 2014-01-21 01:55:42.0 +0700 @@ -0,0 +1,2 @@ +usr/lib +usr/lib/dbd diff -Nuar libdbi-drivers-0.9.0-new/debian/libdbd-pgsql.dirs libdbi-drivers-0.9.0/debian/libdbd-pgsql.dirs --- libdbi-drivers-0.9.0-new/debian/libdbd-pgsql.dirs 1970-01-01 07:00:00.0 +0700 +++ libdbi-drivers-0.9.0/debian/libdbd-pgsql.dirs 2014-01-21 01:55:42.0 +0700 @@ -0,0 +1,2 @@ +usr/lib +usr/lib/dbd diff -Nuar libdbi-drivers-0.9.0-new/debian/libdbd-sqlite.dirs libdbi-drivers-0.9.0/debian/libdbd-sqlite.dirs --- libdbi-drivers-0.9.0-new/debian/libdbd-sqlite.dirs 1970-01-01 07:00:00.0 +0700 +++ libdbi-drivers-0.9.0/debian/libdbd-sqlite.dirs 2014-01-21 01:55:42.0 +0700 @@ -0,0 +1,2 @@ +usr/lib +usr/lib/dbd diff -Nuar libdbi-drivers-0.9.0-new/debian/rules libdbi-drivers-0.9.0/debian/rules --- libdbi-drivers-0.9.0-new/debian/rules 2014-01-27 18:21:32.895323786 +0700 +++ libdbi-drivers-0.9.0/debian/rules 2014-01-27 05:21:54.0 +0700 @@ -69,7 +69,6 @@ test-stamp: build-stamp -ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) $(MAKE) -C tests test_dbi # Testing sqlite and sqlite3 @@ -92,6 +91,7 @@ rm -rf $(CURDIR)/debian/sqlitetests # Testing MySQL and Postgress +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) chmod +x ./debian/test_mysql.sh ./debian/test_pgsql.sh ./debian/test_mysql.sh ./debian/test_pgsql.sh
Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Hi Prach, On Mon, Jan 27, 2014 at 12:37 PM, Prach Pongpanich prach...@gmail.com wrote: On Mon, Jan 27, 2014 at 5:08 PM, László Böszörményi (GCS) g...@debian.org wrote: I've removed debian/*.dir files, which created an empty directory (usr/lib/dbd ). We don't want to run sqlite and sqlite3 tests[1] when cross-building, I attached a patch for both issues. [1] https://buildd.debian.org/status/package.php?p=libdbi-driverssuite=sid You made the diff in the wrong, backward way. As such, it tries to add the mentioned dir files. Btw thanks, those files indeed need to be removed. The mentioned page shows only the architectures that officially part of Debian. They are _not_ cross-builds but native to those architectures. I suppose you meant that don't run any tests when DEB_BUILD_OPTIONS instructs so. This is not the case for buildds. Those should run self-tests to early reveal platform specific bugs. P.S. please you set me as Maintainer to avoid missing an e-mail from the BTS. Only one person can be the maintainer. You should get bugreports as uploader or you may subscribe to the source packages of your choice[2]. Thomas, are you in? Do you have experience with such Sqlite{,3} build failures? Seems to be related to the 'long long' data type. Cheers, Laszlo/GCS [2] http://packages.qa.debian.org/common/index.html -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#736656: libdbi-drivers: drivers not found anymore, due to multi-arch
Source: libdbi-drivers Version: 0.9.0-1 Severity: grave Justification: renders package unusable libdbi1 0.9.0-1 is built with a multi-arch, and will search for drivers in a multi-arch directory, but the binaries produced from libdbi-drivers still produce packages that use the old, non-multiarch directory. This renders any software using libdbi unusable, as they will not be able to find drivers. (Originally reported by Matt Zagrabelny mzagr...@d.umn.edu on the syslog-ng mailing list) -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.12-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org