mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > YAFU

Reply
 
Thread Tools
Old 2015-11-21, 20:08   #1
Romuald
 
Romuald's Avatar
 
Oct 2015
France

1111112 Posts
Default Installing YAFU 1.34 on Linux

Hello world,

As some people know (i think), I am begginer, and after trying to install ggnfs I want to install now YAFU on my Linux System (Xubuntu 15.10), because I think, firstly that it's more adapted regarding what I want to do with, and secondly that on my windows YAFU (that I downloaded directly and compiled) use only 20% of my processor. And I prefer to run it on Linux (more reliable and fast).

So, I installed GMP yet according to this thread. It's also written YAFU needs GMP-ECM to work, I googled and found the project on an INRIA page. I was surprised because usually these projects are not on a national institute page, ever less french. Very well then, How may I do ?

But after researching for 1 hour desperately, up to now I did not find the instructions to build the current version of YAFU (1.34) on Linux, not even in the Readme file.

So, if somebody can tell me the detailed instructions or any link to that, I would be very grateful.

Thank you.
Romuald is offline   Reply With Quote
Old 2015-11-21, 23:27   #2
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

1C3516 Posts
Default

Yafu is a fairly simple library.

Its compile time dependencies are Msieve and GMP. (GMP-ECM may be linked into the software, but that is not required.)

Modify the Makefile so that it knows where your Msieve and GMP installations are (and optionally where the GMP-ECM lib is as well), then just run `make`.
Dubslow is offline   Reply With Quote
Old 2015-11-22, 08:43   #3
Romuald
 
Romuald's Avatar
 
Oct 2015
France

6310 Posts
Default

I meant this thread talking about GMP-ECM.
Ok, I'm going to try that.
Romuald is offline   Reply With Quote
Old 2015-11-22, 17:27   #4
chris2be8
 
chris2be8's Avatar
 
Sep 2009

3·17·41 Posts
Default

You can get some general guidance for installing software from http://www.tldp.org/HOWTO/Software-Building-HOWTO.html and http://moi.vonos.net/linux/beginners...g-from-source/ (I found those links in the Linux from Scratch manual from www.linuxfromscratch.org which goes quite a bit further).

Chris
chris2be8 is online now   Reply With Quote
Old 2015-11-23, 01:54   #5
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

EFA16 Posts
Default

Quote:
Originally Posted by Romuald View Post
...
So, if somebody can tell me the detailed instructions or any link to that, I would be very grateful.

Thank you.
"somebody" other than EdH, perhaps?

I offered this info twice in another thread.** If it didn't work, let me know. Otherwise, I'll consider you aren't interested in my help and bother you no further.

** To be more clear the title of the page offered is a guide to install Aliqueit - the sub-title includes the rest. In any case, the instructions provided are to install GMP, GMP-ECM, ggnfs, B2's ggnfs binaries, msieve and YAFU on the way to installing Aliqueit. You can skip or stop whatever/wherever you wish within the instructions. However, to gain the most from your yafu installation, I suggest installing GMP, GMP-ECM, ggnfs (plus the alternate binaries) and msieve, and using the make x86_64 NFS=1 command to compile YAFU.

I have very recently made minor changes based on using the instructions successfully to test the setup on several linux distributions I installed in Virtual Machines.
EdH is offline   Reply With Quote
Old 2015-11-28, 11:47   #6
Romuald
 
Romuald's Avatar
 
Oct 2015
France

32×7 Posts
Default

Quote:
Originally Posted by EdH View Post
"somebody" other than EdH, perhaps?

I offered this info twice in another thread.** If it didn't work, let me know. Otherwise, I'll consider you aren't interested in my help and bother you no further. [1]

** To be more clear the title of the page offered is a guide to install Aliqueit - the sub-title includes the rest. In any case, the instructions provided are to install GMP, GMP-ECM, ggnfs, B2's ggnfs binaries, msieve and YAFU on the way to installing Aliqueit. You can skip or stop whatever/wherever you wish within the instructions. However, to gain the most from your yafu installation, I suggest installing GMP, GMP-ECM, ggnfs (plus the alternate binaries) and msieve, and using the make x86_64 NFS=1 command to compile YAFU. [2]

I have very recently made minor changes based on using the instructions successfully to test the setup on several linux distributions I installed in Virtual Machines.
[1] I am not so pretentious to claim to be enough intelligent to choose the help I get from people on forums such as here.
But if you're talking about this page, either I'm so stupid that I can't understand properly the instructions, or the page is unreadable and there is absolutely no layout. (And, by the way, I had thinking for 1 hour reading the page before understanding roughly what was requested to me to do)

[2] Just for the record, I already said I had installed GMP before. I finally reached to compile YAFU but without GMP-ECM (at least I think) by typing make x86_64 NFS=1, but I don't know how to use it. On windows, i call it by typing
echo factor(<number>) | yafu-x64.exe, but on Linux it doesn't seem to work.

Last fiddled with by Romuald on 2015-11-28 at 11:52
Romuald is offline   Reply With Quote
Old 2015-11-28, 15:40   #7
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

2×33×71 Posts
Default

Quote:
Originally Posted by Romuald View Post
[1] I am not so pretentious to claim to be enough intelligent to choose the help I get from people on forums such as here.
But if you're talking about this page, either I'm so stupid that I can't understand properly the instructions, or the page is unreadable and there is absolutely no layout. (And, by the way, I had thinking for 1 hour reading the page before understanding roughly what was requested to me to do)

[2] Just for the record, I already said I had installed GMP before. I finally reached to compile YAFU but without GMP-ECM (at least I think) by typing make x86_64 NFS=1, but I don't know how to use it. On windows, i call it by typing
echo factor(<number>) | yafu-x64.exe, but on Linux it doesn't seem to work.
Thank you. This is the type of feedback I need. If I don't know what's unclear, I can't clarify. I see that I have no example which shows the operation on any of the programs along the way to Aliqueit, although all are compiled/installed. I will need to add this in so that it is more complete. Perhaps I should try to break out the individual steps or have some branches to extra. I will have to look at this.

I did misinterpret your sticking point somewhat. Sorry about that!

As to your specific example above, in linux you have to give a path to a program for it to be found, unless it is installed. You need either the full path... /home/<username>/.../yafu or ./yafu. In the latter case, ./ means local directory. If you are located in the same directory as yafu, (ls would verify), you would use:
Code:
./yafu 'factor(<number>)'
Be sure to include all punctuation above.

Alternately, you can enter a shell mode by typing simply ./yafu at the prompt. Yafu will then wait for commands such as:
Code:
factor(<number>)
EdH is offline   Reply With Quote
Old 2015-12-04, 21:32   #8
Romuald
 
Romuald's Avatar
 
Oct 2015
France

1111112 Posts
Default

Hello,
I'm really sorry for writing back so late, I am currently working on many things on Windows & Linux currently (finally i see you wrote 6 days ago, I hope it's not too much).


However, thank you for these clarifications, I think it must help me. Actually, I'm not sure of the complete sustainability of my compilation only because of the building options file (Of course I modified it according to the instructions of the page, but some fields made me wonder if I filled properly them --> For ex. GMP library opt. or other paths). Eventually the shell didn't return any errors, so I deducted it was all OK.

I'm probably going to try it tomorrow, and I confirm that to you in the afternoon.

I'm sorry if you did misinterpret my says, maybe I misspoke. I'm not not used to talk about cryptography and linux on this forum (especially using computational english), although I regulary write on the frehch Ubuntu forum.
And I'm certainly not used either to visit and read this kinf of website. Moreover didn't understant you were the author of this page, that's right?

Last fiddled with by Romuald on 2015-12-04 at 21:43
Romuald is offline   Reply With Quote
Old 2015-12-05, 15:41   #9
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

2·33·71 Posts
Default

No problem on timeliness. That is the great advantage of the forum. One can work at their own pace. I'm often away for a bit, sometimes for days.

The Aliqueit Installation page is mine, but it really is geared toward Aliqueit right now. I'm looking into whether to break the page into pieces with each a separate section, including use and testing of each package. This will probably be a longer time coming as I consider how to approach the whole change. I'm also sometimes unaware of changes within the packages, which affect my instructions, until I find something not working the next time I use the steps, myself. These failures found by me, lead me to wonder if anyone but myself is getting any use from the page.

I look forward to hearing of your progress.
EdH is offline   Reply With Quote
Old 2015-12-05, 21:23   #10
Romuald
 
Romuald's Avatar
 
Oct 2015
France

32·7 Posts
Default It works

Thank you EdH, it works !!

So, to be clearer, I detail my actions:

-Yafu was compiled, thanks to my previous thread (GGNFS, MSIEVE and Factmsieve.py), and I had also installed GMP so both were OK. But I hadn't installed GMP-ECM. I have read it was not necessary, and i modified the makefile into that but I let the lines concerning GMP-ECM:

Code:
# modify these for your particular gmp/gmp-ecm installation
#INC += -I../gmp/include #original
INC += -I/usr/local/lib

#LIBS += -L../gmp/lib/linux/x86_64 #original
LIBS += -L/usr/local/lib

INC += -I../gmp-ecm/include #original default line
LIBS += -L../gmp-ecm/lib/linux/x86_64 #original too
Compilation returned a lot of 'warning', but in the end it finished correctly.
I ran the factoring of a number and it works.
However, the process is only using 30% of my processor. How may I do so that it goes faster (using 100%)?

Then I have a question: what is the advantage of GMP-ECM ? Is it faster, or is it more efficient for some particular numbers?

I think you would not drop your project of instructions about Aliqueit. Doubtless the separation in several sections is a good idea. But what is Alequeit exactly? If it's a factoring tool, then I'm interested in.

Last fiddled with by Romuald on 2015-12-05 at 21:44
Romuald is offline   Reply With Quote
Old 2015-12-05, 21:43   #11
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

11100001101012 Posts
Default

If you have not compiled GMP-ECM on your system, then yafu is using its own ECM before resorting to QS/NFS, which is likely to be substantially slower than GMP-ECM.

Aliqueit is a driver program to run aliquot sequences, which is to say, aliqueit factors a number, calculates the sum of the proper divisors of the number, and then factors that new number, and so on. Yafu is simply the best way to factor numbers (I think so at least), so EdH's guide to aliqueit includes Yafu.
Dubslow is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Building yafu on windows/linux 2147483647 YAFU 19 2016-12-09 07:59
Error installing Yafu on Mac craneduitre YAFU 1 2016-06-25 20:35
yafu on linux bsquared YAFU 80 2013-04-24 21:15
YAFU on 32 bit linux EdH YAFU 40 2012-12-11 14:54
Installing mprime on Linux lidocorc Software 9 2009-11-06 20:59

All times are UTC. The time now is 16:20.


Fri Jul 30 16:20:25 UTC 2021 up 7 days, 10:49, 0 users, load averages: 1.71, 1.76, 1.80

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.