![]() |
[QUOTE=wombatman;576664]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[/CODE] I also did a clean re-make of both ytools and ysieve, just in case, before the remake of yafu proper.[/QUOTE] 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? |
[QUOTE=bsquared;576686]Are you sure you updated yafu to the latest revision?[/QUOTE]
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? |
[QUOTE=wombatman;576689]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?[/QUOTE]I think it's "git pull" once you have established a clone, but you might want to research it.
|
[QUOTE=EdH;576694]I think it's "git pull" once you have established a clone, but you might want to research it.[/QUOTE]
That did the trick. Thank you both for your help! |
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.
|
[QUOTE=bsquared;576625]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.[/QUOTE]
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. :smile: |
I cloned the files with [C]git clone[/C], but [C]make[/C] 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. |
[QUOTE=kruoli;576827]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. :smile:[/QUOTE] 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. |
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.
|
[QUOTE=bur;577093]I cloned the files with [C]git clone[/C], but [C]make[/C] 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.[/QUOTE] Line 26 includes the location of zlib within the msieve directory, maybe that is what you need to change. [CODE] -I../../msieve/zlib [/CODE] 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[/CODE] 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 |
Ok, thank, I'll try that.
|
All times are UTC. The time now is 17:44. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.