mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Msieve

Reply
 
Thread Tools
Old 2017-01-18, 01:24   #1
LegionMammal978
 
Jan 2017
Glory to Arstotzka!

2·7 Posts
Default Installation of GGNFS

Currently trying to set up GGNFS/Msieve on Ubuntu as according to this guide. I downloaded and unzipped the GGNFS repo here and tried to compile it as described by the INSTALL file. However, running make in the top-level directory didn't work:

Code:
$ make
Possible targets are:
    pentium2                   Intel Pentium 2
    pentium3                   Intel Pentium 3
    pentium4                   Intel Pentium 4
    prescott                 Intel Pentium 4 with SSE3
    pentium-m                   Intel Pentium M
    athlon             AMD Athlon (k7)
    athlon-xp         AMD Athlon XP (k7) with SSE
    x86_64                   AMD Opteron/Athlon64 (k8)
    nocona                   Intel 64-bit-capable Xeon/Pentium
    ppc_970                  PowerPC 970
    ppc_7450                  PowerPC 7450
    doc             Documentation
    snapshot                Sources snapshot
    install             Installation
    clean                  Clean up
As suggested, I moved into the src folder and tried again, but it still didn't compile:

Code:
$ make
cc -I. -I.. -I../include  -DNDEBUG -O3 -funroll-loops -finline-functions -ftracer -fomit-frame-pointer -W -Wall -march= -pipe -DMALLOC_REPORTING -DGMP_BUG -o getprimes.o -c getprimes.c
cc: error: missing argument to ‘-march=’
Makefile:91: recipe for target 'getprimes.o' failed
make: *** [getprimes.o] Error 1
What am I doing wrong?
LegionMammal978 is offline   Reply With Quote
Old 2017-01-18, 02:48   #2
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

67278 Posts
Default

You need to use 'make <target_from_that_list>' in the top level directory. But practically speaking nobody uses the GGNFS source distribution anymore, the entire codebase is there to host the Franke/Kleinjung sieving tool and a few utilities. You can find precompiled binaries for the siever plus instructions for use here.
jasonp is offline   Reply With Quote
Old 2017-01-18, 22:00   #3
LegionMammal978
 
Jan 2017
Glory to Arstotzka!

1410 Posts
Default

Quote:
Originally Posted by jasonp View Post
You can find precompiled binaries for the siever plus instructions for use here.
I've looked at that, and it seems to contain the gnfs-lasieve files. I've been able to compile the Msieve binary from source, but what about all the other files in the sample directory there? Do I just have to put factmsieve.py in the same folder as the msieve executable and the gnfs-lasieve files?

Also, unrelated question: I have GMP-ECM installed, but Msieve refuses to compile with the ECM=1 flag:

Code:
$ make all ECM=1
[...]
common/smallfact/gmp_ecm.o common/smallfact/gmp_ecm.c
common/smallfact/gmp_ecm.c:35:17: fatal error: ecm.h: No such file or directory
compilation terminated.
Makefile:290: recipe for target 'common/smallfact/gmp_ecm.o' failed
make: *** [common/smallfact/gmp_ecm.o] Error 1
Is this also obsolete?
LegionMammal978 is offline   Reply With Quote
Old 2017-01-18, 22:19   #4
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

3·1,181 Posts
Default

ecm.h is the header that GMP-ECM provides for a basic application-level interface to the core of their library. It's possible that ecm.h is not considered suitable to be an installed output of the library, or the ECM package on your machine doesn't include it. For RedHat systems you probably would need an ecm-devel package or some such, if you didn't build it yourself.

Personally, I use msys2 on windows and build GMP-ECM, then manually move the compiled library and ecm.h to a directory that I know is in gcc's include path.

My understanding with GGNFS is that you don't need any of the binaries that are built except the siever. It has no dependencies on the other parts of the distribution.

Last fiddled with by jasonp on 2017-01-18 at 22:24 Reason: remove wrong advice
jasonp is offline   Reply With Quote
Old 2017-01-18, 23:40   #5
LegionMammal978
 
Jan 2017
Glory to Arstotzka!

11102 Posts
Default

Quote:
Originally Posted by jasonp View Post
ecm.h is the header that GMP-ECM provides for a basic application-level interface to the core of their library. It's possible that ecm.h is not considered suitable to be an installed output of the library, or the ECM package on your machine doesn't include it. For RedHat systems you probably would need an ecm-devel package or some such, if you didn't build it yourself.
This has gotten crazy. I compiled GMP-ECM from source and put ecm.h in the include folder. However, now it's saying:

Code:
/usr/bin/ld: cannot find -lecm
Not sure what its problem is...
LegionMammal978 is offline   Reply With Quote
Old 2017-01-19, 00:09   #6
wombatman
I moo ablest echo power!
 
wombatman's Avatar
 
May 2013

33718 Posts
Default

Did you do "make install"?
wombatman is offline   Reply With Quote
Old 2017-01-19, 00:54   #7
LegionMammal978
 
Jan 2017
Glory to Arstotzka!

2×7 Posts
Default

Quote:
Originally Posted by wombatman View Post
Did you do "make install"?
Code:
$ make install ECM=1
make: *** No rule to make target 'install'.  Stop.
I used 'make all ECM=1'.
LegionMammal978 is offline   Reply With Quote
Old 2017-01-19, 01:04   #8
wombatman
I moo ablest echo power!
 
wombatman's Avatar
 
May 2013

3·5·7·17 Posts
Default

Sorry, I meant when you compiled GMP-ECM. Usually goes something like "make; make check; make install".

Edit: The other thing I would add is that there's not really much point to compiling MSieve with ECM=1. It only checks for very small factors (15 digits, maybe?) that you should be finding with GMP-ECM or YAFU before Msieve comes into the picture.

Last fiddled with by wombatman on 2017-01-19 at 01:06
wombatman is offline   Reply With Quote
Old 2017-01-19, 01:54   #9
LegionMammal978
 
Jan 2017
Glory to Arstotzka!

2×7 Posts
Default

I finally got factmsieve.py working. Thanks!
LegionMammal978 is offline   Reply With Quote
Old 2017-01-19, 02:19   #10
wombatman
I moo ablest echo power!
 
wombatman's Avatar
 
May 2013

178510 Posts
Default

Quote:
Originally Posted by LegionMammal978 View Post
I finally got factmsieve.py working. Thanks!
Excellent!
wombatman is offline   Reply With Quote
Old 2017-01-19, 02:39   #11
LegionMammal978
 
Jan 2017
Glory to Arstotzka!

11102 Posts
Default

Also, just curious, the Python script describes Msieve GPU support, is that anything I should care about?
LegionMammal978 is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Installation and running of mkfactc daxmick GPU Computing 44 2018-03-28 02:04
GMP-ECM - installation - how to compile - Ubuntu 15 ThomRuley GMP-ECM 2 2017-01-06 16:54
installation of OS trouble wildrabbitt Linux 5 2015-12-22 16:51
Don't know where installation folder went jinydu Information & Answers 10 2009-10-14 01:29
GMP-ECM 6.2-rc1 - installation under MinGW failed Andi47 GMP-ECM 5 2008-04-30 17:46

All times are UTC. The time now is 17:11.


Sat Dec 4 17:11:49 UTC 2021 up 134 days, 11:40, 1 user, load averages: 1.63, 1.39, 1.30

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.