mersenneforum.org > YAFU YAFU 2.0
 Register FAQ Search Today's Posts Mark Forums Read

2021-04-23, 23:40   #45
bsquared

"Ben"
Feb 2007

2×5×367 Posts

Quote:
 Originally Posted by wombatman Still seeing the same errors (minus the NFS ones) after updating, running make clean, and re-making: Code: /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:65: multiple definition of vecmulmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:63: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:69: multiple definition of vecaddsubmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:67: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:66: multiple definition of vecsqrmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:64: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:68: multiple definition of vecsubmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:66: first defined here /usr/bin/ld: ./libyecm.a(avxecm.o):/home/wombat/yafu/factor/avx-ecm/avxecm.c:67: multiple definition of vecaddmod_ptr'; ./libyecm.a(avxppm1.o):/home/wombat/yafu/factor/avx-ecm/avxppm1.c:65: first defined here collect2: error: ld returned 1 exit status make: *** [Makefile:422: yafu] Error 1 I also did a clean re-make of both ytools and ysieve, just in case, before the remake of yafu proper.
Well, something isn't quite right because those function pointer definitions don't even exist in that file anymore. I consolidated the duplicate definitions into vec_common.c. Just double-checked and the corrections are checked in. Are you sure you updated yafu to the latest revision?

2021-04-24, 00:51   #46
wombatman
I moo ablest echo power!

May 2013

22·11·41 Posts

Quote:
 Originally Posted by bsquared Are you sure you updated yafu to the latest revision?
I used "git fetch" in each of the directories, but I'm also not overly familiar with git. Is that the proper way to update to the latest version of the repository?

2021-04-24, 02:21   #47
EdH

"Ed Hall"
Dec 2009

489010 Posts

Quote:
 Originally Posted by wombatman I used "git fetch" in each of the directories, but I'm also not overly familiar with git. Is that the proper way to update to the latest version of the repository?
I think it's "git pull" once you have established a clone, but you might want to research it.

2021-04-24, 02:53   #48
wombatman
I moo ablest echo power!

May 2013

22×11×41 Posts

Quote:
 Originally Posted by EdH I think it's "git pull" once you have established a clone, but you might want to research it.
That did the trick. Thank you both for your help!

 2021-04-24, 06:25 #49 bur     Aug 2020 79*6581e-4;3*2539e-3 11318 Posts I installed yafu from sourceforge using EdH how-to. Could someone explain how I transition to the github version? gmp-ecm and ggnfs are build and working, so it's just downloading and building the github version. If possible step-by-step. Thanks. Last fiddled with by bur on 2021-04-24 at 06:26
2021-04-25, 12:34   #50
kruoli

"Oliver"
Sep 2017
Porta Westfalica, DE

115110 Posts

Quote:
 Originally Posted by bsquared If you are unable to make progress please let me know. I don't have any AMD systems to test on, but obviously I would like yafu to be able to run on them.
I guess there is some instruction that is available on Intel with AVX2, that is not available on my Zen 1 Threadripper. I tried the AVX2 binary for Windows from Github and that one wouldn't even start for me. Would it help you ifI ran the feature detector of y-cruncher and share it here?

Meanwhile, your "non-special" Windows binary is running fine.

 2021-04-28, 09:43 #51 bur     Aug 2020 79*6581e-4;3*2539e-3 25916 Posts I cloned the files with git clone, but make quits with an error regarding a missing .h file and msieve. I think I need to edit Makefile to include the proper location for msieve? Since there are various lines where it is mentioned, I don't know which of them to edit. This is for linux/ubuntu. Last fiddled with by bur on 2021-04-28 at 09:43
2021-04-28, 12:53   #52
bsquared

"Ben"
Feb 2007

1110010101102 Posts

Quote:
 Originally Posted by kruoli I guess there is some instruction that is available on Intel with AVX2, that is not available on my Zen 1 Threadripper. I tried the AVX2 binary for Windows from Github and that one wouldn't even start for me. Would it help you ifI ran the feature detector of y-cruncher and share it here? Meanwhile, your "non-special" Windows binary is running fine.
Yes, that would be good to see, thanks. Yafu has something similar, with the -vproc option, but if yafu doesn't run at all then I guess that won't work.

 2021-04-28, 12:56 #53 kruoli     "Oliver" Sep 2017 Porta Westfalica, DE 1,151 Posts The AVX-less version works, so I'll post both outputs (yafu (precompiled Windows version without AVX) and y-cruncher feature detector) later, when I have access to the machine.
2021-04-28, 13:03   #54
bsquared

"Ben"
Feb 2007

367010 Posts

Quote:
 Originally Posted by bur I cloned the files with git clone, but make quits with an error regarding a missing .h file and msieve. I think I need to edit Makefile to include the proper location for msieve? Since there are various lines where it is mentioned, I don't know which of them to edit. This is for linux/ubuntu.
Line 26 includes the location of zlib within the msieve directory, maybe that is what you need to change.
Code:
-I../../msieve/zlib
Also, line 172 of the makefile begins this if/else structure to specify the location of the msieve library:

Code:
ifeq ($(NFS),1) CFLAGS += -DUSE_NFS # modify the following line for your particular msieve installation ifeq ($(COMPILER),icc)
LIBS += -L../../msieve/lib/linux
else
ifeq ($(COMPILER),icc) LIBS += -L../../msieve/lib/wsl/ else ifeq ($(MINGW),1)
LIBS += -L../../msieve/lib/mingw/
else
LIBS += -L../../msieve/lib/linux/
endif
endif
endif

LIBS += -lmsieve
endif`
The point of all that is to have several locations for potential msieve installations and which one you use depends on the compiler. I try to make sure builds work using icc, gcc, and mingw/gcc so it was helpful to just select which one to use from the command line. It looks like a gcc build would use the last "else" line.

If you don't need that complexity you can replace it all with something like this:

ifeq (\$(NFS),1)
CFLAGS += -DUSE_NFS
LIBS += -L../relative/path/to/libmsieve.a
endif

 2021-04-28, 17:35 #55 bur     Aug 2020 79*6581e-4;3*2539e-3 25916 Posts Ok, thank, I'll try that.

 Similar Threads Thread Thread Starter Forum Replies Last Post chris2be8 YAFU 9 2022-02-17 17:52 EdH YAFU 8 2018-03-14 17:22 bsquared YAFU 119 2015-11-05 16:24 storflyt32 YAFU 2 2015-06-29 05:19 bsquared YAFU 28 2012-07-20 16:17

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

Fri Sep 30 05:22:54 UTC 2022 up 43 days, 2:51, 0 users, load averages: 0.51, 0.60, 0.72