Closed FlatEarthDave closed 4 years ago
I's your choice. If you know what you're doing and you intend to install to the system dir then use /usr/lib and do make install as per instructions for the package. Otherwise use a user dir and don't do the "make install" step.
If you're unsure about anything stick with the recoommendation.
Look up "make install" for more details on what it does.
~/usr/lib is the same as $HOME/usr/lib, it is a local version of the system /usr/lib to avoid requiring root, and avoid affecting the system. If you create a dedicated user for mingw then it also avoids affecting other users. Everything is self contained and all of it can be uninstalled by deleting the user dir.
If you want more help you need to provide more info. What package is failing? What step? Post errors.
Are you serious? I'm not going to debug your process. I have no idea what you're doing, it's so abstracted it's unreadable.
Follow the documented process here...
https://github.com/JayDDee/cpuminer-opt/wiki/Compiling-from-source
including all the defaults and recommendations. Don't install alternative versions of anything, stick with the same version as the distro.
I'll help you get it compiled using the supported procedure, and improve the procedure if there are errors or clarifications. But that's all. Once you go off script you're on your own.
If this is all for znver2 you're probably wasting your time, the znver1 binary is just fine. If you want GCC 9 use Ubuntu 19.10 or wait a month for 20.04.
My only interest at this point is ensuring the documented procedure is correct and clear. If you won't follow it I'm not interested.
@FlatEarthDave, znver2 gives almost nothing when used for cpuminer-opt. I suggest not to waste your time.
A few newer instructions added (such as fast processor ID and cache line instructions - none of these are the point of interest in cpuminer-opt).
Technically, znver2 informs GCC that zen2 has lower costs of loading and storing SSE registers, lower costs for unaligned loads/unaligned stores, and lower costs of moving XMM, YMM, ZMM. Also, MULSD has a lower cost, and there is a slightly different profile for memcpy/memset.
See https://github.com/gcc-mirror/gcc/blob/master/gcc/config/i386/x86-tune-costs.h for details (also, check the "Key changes from Zen+" section over here - https://en.wikichip.org/wiki/amd/microarchitectures/zen_2).
Absolutely no way to expect high performance boosts (of course, there are boosts for L3 cache-hungry algos like cryptonight family and some lyra2z variants).
Feel free to make a VM with Ubuntu 19.10+ in around 15 minutes to see this for yourself (especially, when there is nothing to pay for).
Give a try using "-Ofast -march=znver1 -mprefer-vector-width=256 -funroll-loops" in your old GCC if you have zen2 CPU.
I said I'd help getting it compiled using the documented procedure. Last call.
could you please help . Should I or should I not create "~/usr/lib" and "make install"? Am I just missing something here?
"2. Create a local library directory for packages to be compiled in the next step. Suggested location is $HOME/usr/lib/"
or
"Run the following commands or follow the supplied instructions. Do not run "make install" unless you are using ~/usr/lib, which isn't recommended."