mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   GMP-ECM (https://www.mersenneforum.org/forumdisplay.php?f=55)
-   -   Problem compiling latest SVN (https://www.mersenneforum.org/showthread.php?t=15696)

ATH 2011-06-22 21:44

Problem compiling latest SVN
 
WraithX helped me alot with various problems, now I'm down to an assembler compiling problem.

I can compile the official version 6.3 (ecm-6.3.tar.gz) without problem. Now I try the latest SVN and "autoreconf -i" and configure works but it failes in the beginning of "make" when I have --enable-asm-redc and --build=x86_64-w64-mingw32 or --build=x86_64-pc-mingw32 but works if --build=i686-pc-mingw32. With --disable-asm-redc it works with all the different --build.
Here is the error message:
[CODE]$ make
make all-recursive
make[1]: Entering directory `/home/ATH/ecm63svn1582mpir_1'
Making all in x86_64
make[2]: Entering directory `/home/ATH/ecm63svn1582mpir_1/x86_64'
m4 -I../ -DOPERATION_mulredc1 `test -f mulredc1.asm || echo './'`mulredc1.asm >m
ulredc1.s
/bin/sh ../libtool --mode=compile gcc -O2 -pedantic -m64 -std=gnu99 -mtune=co
re2 -march=core2 -c -o mulredc1.lo mulredc1.s
libtool: compile: gcc -O2 -pedantic -m64 -std=gnu99 -mtune=core2 -march=core2 -
c mulredc1.s -o mulredc1.o
c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.4.7/../../../../x86_64-w64-mingw3
2/bin/as.exe: BFD (GNU Binutils) 2.21.51.20110510 assertion fail ../../binutils-
cvs/bfd/coff-x86_64.c:680
mulredc1.s: Assembler messages:
mulredc1.s:59: Error: cannot represent relocation type BFD_RELOC_386_GOTPC
make[2]: *** [mulredc1.lo] Error 1
rm mulredc1.s
make[2]: Leaving directory `/home/ATH/ecm63svn1582mpir_1/x86_64'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/ATH/ecm63svn1582mpir_1'
make: *** [all] Error 2[/CODE]

I also tried another version of mingw64 with a newer libtool/binutils.

If I find no answer to this, I'll have to use another --build with --enable-asm-redc. Which is best build for a quad core Q9450 when x86_64 doesn't work. i686 or i786? or some other? there is also i886 and i986 but the assembler code not supported, but I'm curious which processors those cover. With --build=i686-pc-mingw32 it says "Using asm redc code from directory athlon" and with --build=i786-pc-mingw32 it says "Using asm redc code from directory pentium4" so I guess non of those are great.

I use the CFLAGS -mtune=core2 -march=core2 so how important is --build?

WraithX 2011-06-23 01:06

Now that I've looked at the "offending" line in mulredc.s, I see that:
[CODE]
ifdef(`WANT_ASSERT',
` jz 1f
lea _GLOBAL_OFFSET_TABLE_(%rip), %rbx
[/CODE]
So, if I remember right, just pass in --disable-assert to the configure script, and this problem should go away. In the official gmp-ecm 6.3 release, assert is not turned on, and this is why that was building successfully for you. Let us know how it goes.

ATH 2011-06-23 07:27

You are correct again of course :grin: It works, thanks alot for all your help.

I thought assertion was enabled by default in the official release, but I forgot that was back during release candidates: [URL="http://www.mersenneforum.org/showpost.php?p=132857&postcount=7"]http://www.mersenneforum.org/showpost.php?p=132857&postcount=7[/URL]

I guess it's ok to run without assertions? I'll test it a bit anyway.


All times are UTC. The time now is 04:24.

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