QUERY: Coreutil "factor.exe" in Cygwin still stuck on an old & incorrect version (8.26) - was: Cygwin Digest 13 Dec 2019 16:20:42 -0000 Issue 11673 // Bug in "factor" (coreutils: GNU core utilities (8.26-2), 64bit...

Bernd Eggen bre08@eggen.co.uk
Wed Jun 3 14:57:34 GMT 2020


All,
In Dec 2019 I reported that the coreutil factor in Cygwin does not work correctly for some composite numbers (more details further below, try eg:


echo '3401347*3861211*12099721' | bc | factor



which will not stop).
While I had a prompt reply about how to build my own version (kindly supplied by Linda Walsh, which I had already done after the developers provided a fix a couple of years ago), I am confused why an updated version of factor has not been incorporated in recent releases of Cygwin.
Moreover, I've compiled it with 16-Byte integer support only, so 2^127-1 (~1.7e+38) is the limit in my version (based on 8.29 & higher)



-> echo '2^127-2' | bc | factor
170141183460469231731687303715884105726: 2 3 3 3 7 7 19 43 73 127 337 5419 92737 649657 77158673929

-> echo '2^127-1' | bc | factor170141183460469231731687303715884105727: 170141183460469231731687303715884105727

-> echo '2^127' | bc | factorfactor: ‘170141183460469231731687303715884105728’ is too large

-> echo '2^127+1' | bc | factorfactor: ‘170141183460469231731687303715884105729’ is too large



The faulty version (8.26) has been built with some multi-precision integer arithmetic package (GNU MP ?) and goes to much larger values.



( echo '10^999' | bc | tr -d '\\' | tr -d '\012' ; echo '' ) | & factor_826.exe2^999 5^999 [I've used "x^n" as abbreviation - factor prints "x" n times, separated by spaces]



Best wishes, Bernd

---------- Original message ---------From: Bernd Eggen <bre08@eggen.co.uk>
Date: Sat, 21 Dec 2019 at 09:28
Subject: Re: cygwin Digest 13 Dec 2019 16:20:42 -0000 Issue 11673 // Bug in "factor" (coreutils: GNU core utilities (8.26-2), 64bit edition)
To: Linda Walsh <cygwin@tlinx.org>

Dear Linda,
Many thanks for your thoughts re "Bug in "factor" (coreutils: GNU core utilities (8.26-2), 64bit edition)".
I did get the fix directly via developers / from GNU site (URL https://ftp.gnu.org/gnu/coreutils/coreutils-8.31.tar.xz ).
However, what "bugged" me was to see that this has not been taken through to the Cygwin distribution -after almost 2 years !

The error is not obvious, as "factor" can in certain cases take minutes to complete for large numbers.
Best wishes & for the holidays, Bernd

---------- Original message ---------From: <cygwin-digest-help@cygwin.com>
Date: Fri, 13 Dec 2019 at 16:21
Subject: cygwin Digest 13 Dec 2019 16:20:42 -0000 Issue 11673
To: <cygwin@cygwin.com>

cygwin Digest 13 Dec 2019 16:20:42 -0000 Issue 11673

Topics (messages 218573 through 218581):

Re: Bug in "factor" (coreutils: GNU core utilities (8.26-2), 64bit edition)
        218573 by: L A Walsh

Re: non-persistant storage?
        218574 by: Brian Inglis
        218576 by: L A Walsh
        218578 by: Ulli Horlacher

Re: non-persistent storage?
        218575 by: Jürgen Wagner
        218577 by: Ulli Horlacher
        218579 by: Ulli Horlacher
        218580 by: Marco Atzeri
        218581 by: Buchbinder, Barry (NIH/NIAID) [E]

Administrivia:

To subscribe to the digest, e-mail:
        cygwin-digest-subscribe@cygwin.com

To unsubscribe from the digest, e-mail:
        cygwin-digest-unsubscribe@cygwin.com

To post to the list, e-mail:
        cygwin@cygwin.com


----------------------------------------------------------------------


---------- Forwarded message ----------
From: L A Walsh <cygwin@tlinx.org>
To: cygwin@cygwin.com
Date: Thu, 12 Dec 2019 17:33:25 -0800
Subject: Re: Bug in "factor" (coreutils: GNU core utilities (8.26-2), 64bit edition)
On 2019/12/11 23:36, Bernd Eggen wrote:
> Hello,
> Some time ago I found that the Cygwin-64 "factor" command did not seem to terminate with certain numbers, eg try:
>   -> echo '3401347*3861211*12099721' | bc | factor
>
> The developers provided a fix (in GNU coreutils 8.29), however, after some two years I still find the faulty factor command in the current Cygwin distribution.
> When are you planning to upgrade ?
> Cheers, Bernd
> PS I think this only affects 64bit version
>   
Wow...  The source for factor should be easy to build .. like grab from
gnu's website...(goog) tells me this link should work:
https://ftp.gnu.org/gnu/coreutils/coreutils-8.31.tar.xz

untar it and run configure in the dir where it was
extracted, then run "make" in the same dir.

You'll find factor in "src/factor".

Or you could also get the cygwin source package (in setup
checkmark the src package) and substitute in the new
coreutils package, and adjust any
needed paths in the cygwin make package, then you'd have
an installable cygwin package rather than just a binary of
factor...

Just thinking out-loud, mostly, if I really needed it
that is...
But dunnow how complicated their packaging is...

-linda

[...]
    


More information about the Cygwin mailing list