Go Back > Factoring Projects > Factoring

Thread Tools
Old 2013-09-12, 20:37   #1
Sep 2013

110 Posts
Question compiling ggnfs in Linux

I'm trying to compile the ggnfs program ( It uses gmp, but it seems the software was not upgraded since 2006, therefore uses an old version of gmp (version 4.x). So it didn't compile with my newer version 5.0.5 ( in a Fedora 18 distribution). I think the problem is these.
The concrete error it report (after 'make nocona') while compiling is a "conflict type for ‘__gmpz_mul_si’". So in the gmp header /usr/include/gmp-x86_64.h it is:
#define mpz_mul_si __gmpz_mul_si
__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int));
But in the ggnfs file ./src/lasieve4/gmp-aux.c is declared:
void mpz_mul_si(mpz_t x, mpz_t y, long int z)
  if (z < 0) {
    mpz_mul_ui(x, y, (unsigned long) (-z));
    mpz_neg(x, x);
  } else {
    mpz_mul_ui(x, y, (unsigned long) z);

Could anybody tell me what I'm doing wrong? If there are new patches for ggnfs or something like that?
framontb is offline   Reply With Quote
Old 2013-09-12, 22:48   #2
Batalov's Avatar
Mar 2008

9,629 Posts

You are most probably correct and the product may be broken.

However, the current state of the art is that this repository became just a placeholder for some added programs, but not the core ggnfs package. The new tools have better performance, and if you want to build ggnfs only for historical reasons, then your best bet would probably be to build libgmp v.4, as well. There used to be times (a few years ago) when some tools (like pol5) were still used while the main source was largely abandoned, but now even pol5 is obviated by msieve. C.Monico once announced that he was re-writing the ggnfs package into another version, but this was never published.

If your interest is rather in building the modern version of the tools, then you need the following components:
1. script (or python script - can be found on this forum)
2. msieve - see (Use the stable revision 923)
3. the Kleinjung-Franke lattice sievers in this branch
4. (optional) remdups utility
Batalov is offline   Reply With Quote
Old 2013-09-13, 02:58   #3
EdH's Avatar
"Ed Hall"
Dec 2009
Adirondack Mtns

2×29×71 Posts

You might find the following link helpful:

Steps to install and set up Aliqueit on an Ubuntu* (or antiX) computer
(including gmp, ecm, ggnfs, msieve, YAFU, Aliqueit)

It will take you through detailed steps to install to any point in the list, the following packages:

msieve (use -r 923 as Batalov suggests - this is not in the instructions)

*It also works with Debian and has instructions for both 32-bit and 64-bit systems. Let me know if something doesn't work...

@Batalov: Thanks! Although I haven't been seriously searching, I wondered where remdups was located...
EdH is offline   Reply With Quote

Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
compiling a static Linux gmp-ecm version yoyo GMP-ECM 9 2016-12-25 22:46
Compiling ggnfs on linux rmd Software 2 2015-11-08 15:38
compiling mprime on linux graysky Software 6 2011-03-14 07:00
msieve linux compiling Trevil Msieve 2 2009-12-06 19:49
compiling decomp under linux James Heinrich Data 2 2006-08-27 15:59

All times are UTC. The time now is 22:10.

Tue Dec 7 22:10:54 UTC 2021 up 137 days, 16:39, 0 users, load averages: 1.66, 1.74, 1.63

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.