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 <[email protected]> wrote:
> On Mon, Jul 11, 2016 at 7:33 AM Aaron M. Ucko <[email protected]> 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;