Can you apply this patch to your setup and see if it checks? You really
only need to compile lib/test_strod_nol and run it.

 - Craig


On Mon, Jul 11, 2016 at 8:00 AM Craig Small <csm...@enc.com.au> wrote:

> On Mon, Jul 11, 2016 at 7:33 AM Aaron M. Ucko <a...@alum.mit.edu> wrote:
>
>> Source: procps
>> Version: 2:3.3.12-1
>> Severity: serious
>> Justification: fails to build from source (but built successfully in the
>> past)
>>
>> The i386 build of procps failed with a test suite error (presumably
>> stemming from a small floating-point discrepancy):
>>
> Yeah, amd64 doesn't have this problem, I'll probably have to make it
> "almost equal" but that's pretty bad way to run tests.
> Alternatively I might just detect its on something that doesn't do the
> conversion right and skip them.
>
>
>> I suspect the hurd-i386 and kfreebsd-i386 builds would have failed in
>> the same fashion if they hadn't hit a compilation error, which I'll
>> report separately.
>>
> Ah so you're running i386 kfreebsd (you didn't report it in the other bug
> report)
> So.. kfreebsd amd64 has the host definition and kfreebsd i386 does not.
> As I said, kfreebsd has include problems all the time (most of the ifdefs
> are for it)
>
>  - Craig
> --
> Craig Small (@smallsees)   http://dropbear.xyz/     csmall at : enc.com.au
> Debian GNU/Linux           http://www.debian.org/   csmall at : debian.org
> GPG fingerprint:        5D2F B320 B825 D939 04D2  0519 3938 F96B DF50 FEA5
>
> --
Craig Small (@smallsees)   http://dropbear.xyz/     csmall at : enc.com.au
Debian GNU/Linux           http://www.debian.org/   csmall at : debian.org
GPG fingerprint:        5D2F B320 B825 D939 04D2  0519 3938 F96B DF50 FEA5
diff --git a/lib/test_strtod_nol.c b/lib/test_strtod_nol.c
index 0be798c..71a5756 100644
--- a/lib/test_strtod_nol.c
+++ b/lib/test_strtod_nol.c
@@ -33,8 +33,8 @@ int main(int argc, char *argv[])
     double val;
 
     for(i=0; tests[i].string != NULL; i++) {
-        if(strtod_nol_or_err(tests[i].string, "Cannot parse number") !=
-           tests[i].result) {
+        if((int)(strtod_nol_or_err(tests[i].string, "Cannot parse number")*100) !=
+           (int)(tests[i].result * 100)) {
             fprintf(stderr, "FAIL: strtod_nol_or_err(\"%s\") != %f\n",
                     tests[i].string, tests[i].result);
             return EXIT_FAILURE;

Reply via email to