JayDDee / cpuminer-opt

Optimized multi algo CPU miner
Other
763 stars 541 forks source link

Compiling on MacOS #373

Closed bugshunt3r closed 2 years ago

bugshunt3r commented 2 years ago

After tweaking a few things, i managed to advance into compiling it onto mac, but want to get as much as possible out of it.

I managed to get it to advance somehow using: I've commented out line 309 to 320 from algo/argon2/argon2a/ar2/sj/scrypt-jane-portable-x86.h (was dying at trying to compile this, couldn't find a solution on the whole internet). I've hit the following error when compiling afterwards: algo/hodl/hodl-gate.c:12:1: error: unknown type name 'pthread_barrier_t'; did you mean 'pthread_override_t'? Managed to bypass it by borrowing a pthread class: (add to algo/hodl/hodl-gate.c this lines right at start)

#ifdef __APPLE__

#ifndef PTHREAD_BARRIER_H_
#define PTHREAD_BARRIER_H_

#include <pthread.h>
#include <errno.h>

typedef int pthread_barrierattr_t;
typedef struct
{
    pthread_mutex_t mutex;
    pthread_cond_t cond;
    int count;
    int tripCount;
} pthread_barrier_t;

int pthread_barrier_init(pthread_barrier_t *barrier, const pthread_barrierattr_t *attr, unsigned int count)
{
    if(count == 0)
    {
        errno = EINVAL;
        return -1;
    }
    if(pthread_mutex_init(&barrier->mutex, 0) < 0)
    {
        return -1;
    }
    if(pthread_cond_init(&barrier->cond, 0) < 0)
    {
        pthread_mutex_destroy(&barrier->mutex);
        return -1;
    }
    barrier->tripCount = count;
    barrier->count = 0;

    return 0;
}

int pthread_barrier_destroy(pthread_barrier_t *barrier)
{
    pthread_cond_destroy(&barrier->cond);
    pthread_mutex_destroy(&barrier->mutex);
    return 0;
}

int pthread_barrier_wait(pthread_barrier_t *barrier)
{
    pthread_mutex_lock(&barrier->mutex);
    ++(barrier->count);
    if(barrier->count >= barrier->tripCount)
    {
        barrier->count = 0;
        pthread_cond_broadcast(&barrier->cond);
        pthread_mutex_unlock(&barrier->mutex);
        return 1;
    }
    else
    {
        pthread_cond_wait(&barrier->cond, &(barrier->mutex));
        pthread_mutex_unlock(&barrier->mutex);
        return 0;
    }
}

#endif // PTHREAD_BARRIER_H_
#endif // __APPLE__

Credits due to Albert Armea

Now my problem is:

g++  -g -O2 -L/usr/local/opt/openssl@1.1/lib   -L/usr/local/opt/openssl@1.1/lib   -o cpuminer cpuminer-cpu-miner.o cpuminer-util.o cpuminer-api.o cpuminer-sysinfos.o cpuminer-algo-gate-api.o cpuminer-malloc-huge.o algo/argon2/argon2a/cpuminer-argon2a.o algo/argon2/argon2a/ar2/cpuminer-argon2.o algo/argon2/argon2a/ar2/cpuminer-opt.o algo/argon2/argon2a/ar2/cpuminer-cores.o algo/argon2/argon2a/ar2/cpuminer-ar2-scrypt-jane.o algo/argon2/argon2a/ar2/cpuminer-blake2b.o algo/argon2/argon2d/cpuminer-argon2d-gate.o algo/argon2/argon2d/blake2/cpuminer-blake2b.o algo/argon2/argon2d/argon2d/cpuminer-argon2.o algo/argon2/argon2d/argon2d/cpuminer-core.o algo/argon2/argon2d/argon2d/cpuminer-opt.o algo/argon2/argon2d/argon2d/cpuminer-argon2d_thread.o algo/argon2/argon2d/argon2d/cpuminer-encoding.o algo/blake/cpuminer-sph_blake.o algo/blake/cpuminer-blake256-hash-4way.o algo/blake/cpuminer-blake512-hash-4way.o algo/blake/cpuminer-blake-gate.o algo/blake/cpuminer-blake.o algo/blake/cpuminer-blake-4way.o algo/blake/cpuminer-sph_blake2b.o algo/blake/cpuminer-sph-blake2s.o algo/blake/cpuminer-blake2s-hash-4way.o algo/blake/cpuminer-blake2s.o algo/blake/cpuminer-blake2s-gate.o algo/blake/cpuminer-blake2s-4way.o algo/blake/cpuminer-blake2b-hash-4way.o algo/blake/cpuminer-blake2b.o algo/blake/cpuminer-blake2b-gate.o algo/blake/cpuminer-blake2b-4way.o algo/blake/cpuminer-blakecoin-gate.o algo/blake/cpuminer-mod_blakecoin.o algo/blake/cpuminer-blakecoin.o algo/blake/cpuminer-blakecoin-4way.o algo/blake/cpuminer-decred-gate.o algo/blake/cpuminer-decred.o algo/blake/cpuminer-decred-4way.o algo/blake/cpuminer-pentablake-gate.o algo/blake/cpuminer-pentablake-4way.o algo/blake/cpuminer-pentablake.o algo/bmw/cpuminer-sph_bmw.o algo/bmw/cpuminer-bmw256-hash-4way.o algo/bmw/cpuminer-bmw512-hash-4way.o algo/bmw/cpuminer-bmw256.o algo/bmw/cpuminer-bmw512-gate.o algo/bmw/cpuminer-bmw512.o algo/bmw/cpuminer-bmw512-4way.o algo/cubehash/cpuminer-cubehash_sse2.o algo/cubehash/cpuminer-cube-hash-2way.o algo/echo/cpuminer-sph_echo.o algo/echo/cpuminer-echo-hash-4way.o algo/echo/aes_ni/cpuminer-hash.o algo/gost/cpuminer-sph_gost.o algo/groestl/cpuminer-groestl-gate.o algo/groestl/cpuminer-groestl512-hash-4way.o algo/groestl/cpuminer-groestl256-hash-4way.o algo/groestl/cpuminer-sph_groestl.o algo/groestl/cpuminer-groestl.o algo/groestl/cpuminer-groestl-4way.o algo/groestl/cpuminer-myrgr-gate.o algo/groestl/cpuminer-myrgr-4way.o algo/groestl/cpuminer-myr-groestl.o algo/groestl/aes_ni/cpuminer-hash-groestl.o algo/groestl/aes_ni/cpuminer-hash-groestl256.o algo/fugue/cpuminer-sph_fugue.o algo/fugue/cpuminer-fugue-aesni.o algo/hamsi/cpuminer-sph_hamsi.o algo/hamsi/cpuminer-hamsi-hash-4way.o algo/haval/cpuminer-haval.o algo/haval/cpuminer-haval-hash-4way.o algo/hodl/cpuminer-aes.o algo/hodl/cpuminer-hodl-gate.o algo/hodl/cpuminer-hodl-wolf.o algo/hodl/cpuminer-sha512_avx.o algo/hodl/cpuminer-sha512_avx2.o algo/jh/cpuminer-sph_jh.o algo/jh/cpuminer-jh-hash-4way.o algo/jh/cpuminer-jha-gate.o algo/jh/cpuminer-jha-4way.o algo/jh/cpuminer-jha.o algo/keccak/cpuminer-sph_keccak.o algo/keccak/cpuminer-keccak.o algo/keccak/cpuminer-keccak-hash-4way.o algo/keccak/cpuminer-keccak-4way.o algo/keccak/cpuminer-keccak-gate.o algo/keccak/cpuminer-sha3d-4way.o algo/keccak/cpuminer-sha3d.o algo/lanehash/cpuminer-lane.o algo/luffa/cpuminer-luffa_for_sse2.o algo/luffa/cpuminer-luffa-hash-2way.o algo/lyra2/cpuminer-lyra2.o algo/lyra2/cpuminer-sponge.o algo/lyra2/cpuminer-sponge-2way.o algo/lyra2/cpuminer-lyra2-hash-2way.o algo/lyra2/cpuminer-lyra2-gate.o algo/lyra2/cpuminer-lyra2rev2.o algo/lyra2/cpuminer-lyra2rev2-4way.o algo/lyra2/cpuminer-lyra2rev3.o algo/lyra2/cpuminer-lyra2rev3-4way.o algo/lyra2/cpuminer-lyra2re.o algo/lyra2/cpuminer-lyra2z.o algo/lyra2/cpuminer-lyra2z-4way.o algo/lyra2/cpuminer-lyra2z330.o algo/lyra2/cpuminer-lyra2h.o algo/lyra2/cpuminer-lyra2h-4way.o algo/lyra2/cpuminer-allium-4way.o algo/lyra2/cpuminer-allium.o algo/lyra2/cpuminer-phi2-4way.o algo/lyra2/cpuminer-phi2.o algo/m7m/cpuminer-m7m.o algo/m7m/cpuminer-magimath.o algo/nist5/cpuminer-nist5-gate.o algo/nist5/cpuminer-nist5-4way.o algo/nist5/cpuminer-nist5.o algo/nist5/cpuminer-zr5.o algo/panama/cpuminer-panama-hash-4way.o algo/panama/cpuminer-sph_panama.o algo/quark/cpuminer-quark-gate.o algo/quark/cpuminer-quark.o algo/quark/cpuminer-quark-4way.o algo/quark/cpuminer-anime-gate.o algo/quark/cpuminer-anime.o algo/quark/cpuminer-anime-4way.o algo/quark/cpuminer-hmq1725-gate.o algo/quark/cpuminer-hmq1725-4way.o algo/quark/cpuminer-hmq1725.o algo/qubit/cpuminer-qubit-gate.o algo/qubit/cpuminer-qubit.o algo/qubit/cpuminer-qubit-2way.o algo/qubit/cpuminer-deep-gate.o algo/qubit/cpuminer-deep-2way.o algo/qubit/cpuminer-deep.o algo/ripemd/cpuminer-sph_ripemd.o algo/ripemd/cpuminer-ripemd-hash-4way.o algo/ripemd/cpuminer-lbry-gate.o algo/ripemd/cpuminer-lbry.o algo/ripemd/cpuminer-lbry-4way.o algo/scrypt/cpuminer-scrypt.o algo/scrypt/cpuminer-scrypt-core-4way.o algo/scrypt/cpuminer-neoscrypt.o algo/sha/cpuminer-sha256-hash.o algo/sha/cpuminer-sph_sha2.o algo/sha/cpuminer-sph_sha2big.o algo/sha/cpuminer-sha256-hash-4way.o algo/sha/cpuminer-sha512-hash-4way.o algo/sha/cpuminer-sha256-hash-opt.o algo/sha/cpuminer-sha256-hash-2way-ni.o algo/sha/cpuminer-hmac-sha256-hash.o algo/sha/cpuminer-hmac-sha256-hash-4way.o algo/sha/cpuminer-sha256d.o algo/sha/cpuminer-sha2.o algo/sha/cpuminer-sha256d-4way.o algo/sha/cpuminer-sha256t-gate.o algo/sha/cpuminer-sha256t-4way.o algo/sha/cpuminer-sha256t.o algo/sha/cpuminer-sha256q-4way.o algo/sha/cpuminer-sha256q.o algo/shabal/cpuminer-sph_shabal.o algo/shabal/cpuminer-shabal-hash-4way.o algo/shavite/cpuminer-sph_shavite.o algo/shavite/cpuminer-sph-shavite-aesni.o algo/shavite/cpuminer-shavite-hash-2way.o algo/shavite/cpuminer-shavite-hash-4way.o algo/shavite/cpuminer-shavite.o algo/simd/cpuminer-nist.o algo/simd/cpuminer-vector.o algo/simd/cpuminer-simd-hash-2way.o algo/skein/cpuminer-sph_skein.o algo/skein/cpuminer-skein-hash-4way.o algo/skein/cpuminer-skein.o algo/skein/cpuminer-skein-4way.o algo/skein/cpuminer-skein-gate.o algo/skein/cpuminer-skein2.o algo/skein/cpuminer-skein2-4way.o algo/sm3/cpuminer-sm3.o algo/sm3/cpuminer-sm3-hash-4way.o algo/swifftx/cpuminer-swifftx.o algo/tiger/cpuminer-sph_tiger.o algo/verthash/cpuminer-verthash-gate.o algo/verthash/cpuminer-Verthash.o algo/verthash/cpuminer-fopen_utf8.o algo/verthash/tiny_sha3/cpuminer-sha3.o algo/verthash/tiny_sha3/cpuminer-sha3-4way.o algo/whirlpool/cpuminer-sph_whirlpool.o algo/whirlpool/cpuminer-whirlpool-hash-4way.o algo/whirlpool/cpuminer-whirlpool-gate.o algo/whirlpool/cpuminer-whirlpool.o algo/whirlpool/cpuminer-whirlpoolx.o algo/x11/cpuminer-x11-gate.o algo/x11/cpuminer-x11.o algo/x11/cpuminer-x11-4way.o algo/x11/cpuminer-x11gost-gate.o algo/x11/cpuminer-x11gost.o algo/x11/cpuminer-x11gost-4way.o algo/x11/cpuminer-c11-gate.o algo/x11/cpuminer-c11.o algo/x11/cpuminer-c11-4way.o algo/x11/cpuminer-tribus-gate.o algo/x11/cpuminer-tribus.o algo/x11/cpuminer-tribus-4way.o algo/x11/cpuminer-timetravel-gate.o algo/x11/cpuminer-timetravel.o algo/x11/cpuminer-timetravel-4way.o algo/x11/cpuminer-timetravel10-gate.o algo/x11/cpuminer-timetravel10.o algo/x11/cpuminer-timetravel10-4way.o algo/x11/cpuminer-x11evo.o algo/x11/cpuminer-x11evo-4way.o algo/x11/cpuminer-x11evo-gate.o algo/x12/cpuminer-x12-gate.o algo/x12/cpuminer-x12.o algo/x12/cpuminer-x12-4way.o algo/x13/cpuminer-x13-gate.o algo/x13/cpuminer-x13.o algo/x13/cpuminer-x13-4way.o algo/x13/cpuminer-x13sm3-gate.o algo/x13/cpuminer-x13sm3.o algo/x13/cpuminer-x13sm3-4way.o algo/x13/cpuminer-phi1612-gate.o algo/x13/cpuminer-phi1612.o algo/x13/cpuminer-phi1612-4way.o algo/x13/cpuminer-skunk-gate.o algo/x13/cpuminer-skunk-4way.o algo/x13/cpuminer-skunk.o algo/x13/cpuminer-x13bcd-4way.o algo/x13/cpuminer-x13bcd.o algo/x14/cpuminer-x14-gate.o algo/x14/cpuminer-x14.o algo/x14/cpuminer-x14-4way.o algo/x14/cpuminer-veltor-gate.o algo/x14/cpuminer-veltor.o algo/x14/cpuminer-veltor-4way.o algo/x14/cpuminer-polytimos-gate.o algo/x14/cpuminer-polytimos.o algo/x14/cpuminer-polytimos-4way.o algo/x14/cpuminer-axiom.o algo/x15/cpuminer-x15-gate.o algo/x15/cpuminer-x15.o algo/x15/cpuminer-x15-4way.o algo/x16/cpuminer-x16r-gate.o algo/x16/cpuminer-x16r.o algo/x16/cpuminer-x16r-4way.o algo/x16/cpuminer-x16rv2.o algo/x16/cpuminer-x16rv2-4way.o algo/x16/cpuminer-x16rt.o algo/x16/cpuminer-x16rt-4way.o algo/x16/cpuminer-hex.o algo/x16/cpuminer-x21s-4way.o algo/x16/cpuminer-x21s.o algo/x16/cpuminer-minotaur.o algo/x17/cpuminer-x17-gate.o algo/x17/cpuminer-x17.o algo/x17/cpuminer-x17-4way.o algo/x17/cpuminer-xevan-gate.o algo/x17/cpuminer-xevan.o algo/x17/cpuminer-xevan-4way.o algo/x17/cpuminer-sonoa-gate.o algo/x17/cpuminer-sonoa-4way.o algo/x17/cpuminer-sonoa.o algo/x22/cpuminer-x22i-4way.o algo/x22/cpuminer-x22i.o algo/x22/cpuminer-x22i-gate.o algo/x22/cpuminer-x25x.o algo/x22/cpuminer-x25x-4way.o algo/yescrypt/cpuminer-yescrypt.o algo/yescrypt/cpuminer-yescrypt-best.o algo/yespower/cpuminer-yespower-gate.o algo/yespower/cpuminer-yespower-blake2b.o algo/yespower/crypto/cpuminer-blake2b-yp.o algo/yespower/cpuminer-yescrypt-r8g.o algo/yespower/cpuminer-yespower-opt.o      -lcurl -lz -lssl -lcrypto compat/jansson/libjansson.a -lpthread  -lssl -lcrypto -lgmp
ld: warning: could not create compact unwind for _miner_thread: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _api: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _scanhash_argon2d4096: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2rev2_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2rev3_4way_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2re_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2z_4way_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _allium_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2h_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _scanhash_m7m_hash: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _phi2_hash: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _veil_build_extraheader: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _x22i_hash: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _yescrypt_kdf: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _x25x_hash: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _yespower: does not use RBP or RSP based frame
Undefined symbols for architecture x86_64:
  "_HMAC_SHA256_80_init_4way", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
  "_PBKDF2_SHA256_128_32_4way", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
  "_PBKDF2_SHA256_80_128_4way", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [cpuminer] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Any ideas ? I'm willing to work my butt to make it work and would be interested into adding the opencl support for some cpu and gpu coins... have a nice farm to test it onto, including M1 macs.

bugshunt3r commented 2 years ago

Just realised that i was missing a few libraries after compiling it on Ubuntu:

brew install curl
brew install jansson
brew install z
brew install libpthread-stubs
brew install crypto
brew install scrypt

Now, after a rerun of configure with USE_ASM=off, i get the following (after running a make clean first):

g++  -g -O2 -L/usr/local/opt/openssl@3/lib -Lyes/lib  -L/usr/local/opt/openssl@3/lib -Lyes/lib  -o cpuminer cpuminer-cpu-miner.o cpuminer-util.o cpuminer-api.o cpuminer-sysinfos.o cpuminer-algo-gate-api.o algo/argon2/argon2a/cpuminer-argon2a.o algo/argon2/argon2a/ar2/cpuminer-argon2.o algo/argon2/argon2a/ar2/cpuminer-opt.o algo/argon2/argon2a/ar2/cpuminer-cores.o algo/argon2/argon2a/ar2/cpuminer-ar2-scrypt-jane.o algo/argon2/argon2a/ar2/cpuminer-blake2b.o algo/argon2/argon2d/cpuminer-argon2d-gate.o algo/argon2/argon2d/blake2/cpuminer-blake2b.o algo/argon2/argon2d/argon2d/cpuminer-argon2.o algo/argon2/argon2d/argon2d/cpuminer-core.o algo/argon2/argon2d/argon2d/cpuminer-opt.o algo/argon2/argon2d/argon2d/cpuminer-argon2d_thread.o algo/argon2/argon2d/argon2d/cpuminer-encoding.o algo/blake/cpuminer-sph_blake.o algo/blake/cpuminer-blake256-hash-4way.o algo/blake/cpuminer-blake512-hash-4way.o algo/blake/cpuminer-blake-gate.o algo/blake/cpuminer-blake.o algo/blake/cpuminer-blake-4way.o algo/blake/cpuminer-sph_blake2b.o algo/blake/cpuminer-sph-blake2s.o algo/blake/cpuminer-blake2s-hash-4way.o algo/blake/cpuminer-blake2s.o algo/blake/cpuminer-blake2s-gate.o algo/blake/cpuminer-blake2s-4way.o algo/blake/cpuminer-blake2b-hash-4way.o algo/blake/cpuminer-blake2b.o algo/blake/cpuminer-blake2b-gate.o algo/blake/cpuminer-blake2b-4way.o algo/blake/cpuminer-blakecoin-gate.o algo/blake/cpuminer-mod_blakecoin.o algo/blake/cpuminer-blakecoin.o algo/blake/cpuminer-blakecoin-4way.o algo/blake/cpuminer-decred-gate.o algo/blake/cpuminer-decred.o algo/blake/cpuminer-decred-4way.o algo/blake/cpuminer-pentablake-gate.o algo/blake/cpuminer-pentablake-4way.o algo/blake/cpuminer-pentablake.o algo/bmw/cpuminer-sph_bmw.o algo/bmw/cpuminer-bmw256-hash-4way.o algo/bmw/cpuminer-bmw512-hash-4way.o algo/bmw/cpuminer-bmw256.o algo/bmw/cpuminer-bmw512-gate.o algo/bmw/cpuminer-bmw512.o algo/bmw/cpuminer-bmw512-4way.o algo/cubehash/cpuminer-cubehash_sse2.o algo/cubehash/cpuminer-cube-hash-2way.o algo/echo/cpuminer-sph_echo.o algo/echo/cpuminer-echo-hash-4way.o algo/echo/aes_ni/cpuminer-hash.o algo/gost/cpuminer-sph_gost.o algo/groestl/cpuminer-groestl-gate.o algo/groestl/cpuminer-groestl512-hash-4way.o algo/groestl/cpuminer-groestl256-hash-4way.o algo/groestl/cpuminer-sph_groestl.o algo/groestl/cpuminer-groestl.o algo/groestl/cpuminer-groestl-4way.o algo/groestl/cpuminer-myrgr-gate.o algo/groestl/cpuminer-myrgr-4way.o algo/groestl/cpuminer-myr-groestl.o algo/groestl/aes_ni/cpuminer-hash-groestl.o algo/groestl/aes_ni/cpuminer-hash-groestl256.o algo/fugue/cpuminer-sph_fugue.o algo/fugue/cpuminer-fugue-aesni.o algo/hamsi/cpuminer-sph_hamsi.o algo/hamsi/cpuminer-hamsi-hash-4way.o algo/haval/cpuminer-haval.o algo/haval/cpuminer-haval-hash-4way.o algo/hodl/cpuminer-aes.o algo/hodl/cpuminer-hodl-gate.o algo/hodl/cpuminer-hodl-wolf.o algo/hodl/cpuminer-sha512_avx.o algo/hodl/cpuminer-sha512_avx2.o algo/jh/cpuminer-sph_jh.o algo/jh/cpuminer-jh-hash-4way.o algo/jh/cpuminer-jha-gate.o algo/jh/cpuminer-jha-4way.o algo/jh/cpuminer-jha.o algo/keccak/cpuminer-sph_keccak.o algo/keccak/cpuminer-keccak.o algo/keccak/cpuminer-keccak-hash-4way.o algo/keccak/cpuminer-keccak-4way.o algo/keccak/cpuminer-keccak-gate.o algo/keccak/cpuminer-sha3d-4way.o algo/keccak/cpuminer-sha3d.o algo/lanehash/cpuminer-lane.o algo/luffa/cpuminer-luffa_for_sse2.o algo/luffa/cpuminer-luffa-hash-2way.o algo/lyra2/cpuminer-lyra2.o algo/lyra2/cpuminer-sponge.o algo/lyra2/cpuminer-sponge-2way.o algo/lyra2/cpuminer-lyra2-hash-2way.o algo/lyra2/cpuminer-lyra2-gate.o algo/lyra2/cpuminer-lyra2rev2.o algo/lyra2/cpuminer-lyra2rev2-4way.o algo/lyra2/cpuminer-lyra2rev3.o algo/lyra2/cpuminer-lyra2rev3-4way.o algo/lyra2/cpuminer-lyra2re.o algo/lyra2/cpuminer-lyra2z.o algo/lyra2/cpuminer-lyra2z-4way.o algo/lyra2/cpuminer-lyra2z330.o algo/lyra2/cpuminer-lyra2h.o algo/lyra2/cpuminer-lyra2h-4way.o algo/lyra2/cpuminer-allium-4way.o algo/lyra2/cpuminer-allium.o algo/lyra2/cpuminer-phi2-4way.o algo/lyra2/cpuminer-phi2.o algo/m7m/cpuminer-m7m.o algo/m7m/cpuminer-magimath.o algo/nist5/cpuminer-nist5-gate.o algo/nist5/cpuminer-nist5-4way.o algo/nist5/cpuminer-nist5.o algo/nist5/cpuminer-zr5.o algo/panama/cpuminer-panama-hash-4way.o algo/panama/cpuminer-sph_panama.o algo/quark/cpuminer-quark-gate.o algo/quark/cpuminer-quark.o algo/quark/cpuminer-quark-4way.o algo/quark/cpuminer-anime-gate.o algo/quark/cpuminer-anime.o algo/quark/cpuminer-anime-4way.o algo/quark/cpuminer-hmq1725-gate.o algo/quark/cpuminer-hmq1725-4way.o algo/quark/cpuminer-hmq1725.o algo/qubit/cpuminer-qubit-gate.o algo/qubit/cpuminer-qubit.o algo/qubit/cpuminer-qubit-2way.o algo/qubit/cpuminer-deep-gate.o algo/qubit/cpuminer-deep-2way.o algo/qubit/cpuminer-deep.o algo/ripemd/cpuminer-sph_ripemd.o algo/ripemd/cpuminer-ripemd-hash-4way.o algo/ripemd/cpuminer-lbry-gate.o algo/ripemd/cpuminer-lbry.o algo/ripemd/cpuminer-lbry-4way.o algo/scrypt/cpuminer-scrypt.o algo/scrypt/cpuminer-neoscrypt.o algo/sha/cpuminer-sph_sha2.o algo/sha/cpuminer-sph_sha2big.o algo/sha/cpuminer-sha256-hash-4way.o algo/sha/cpuminer-sha512-hash-4way.o algo/sha/cpuminer-sha256-hash-opt.o algo/sha/cpuminer-sha256-hash-2way-ni.o algo/sha/cpuminer-hmac-sha256-hash.o algo/sha/cpuminer-hmac-sha256-hash-4way.o algo/sha/cpuminer-sha2.o algo/sha/cpuminer-sha256t-gate.o algo/sha/cpuminer-sha256t-4way.o algo/sha/cpuminer-sha256t.o algo/sha/cpuminer-sha256q-4way.o algo/sha/cpuminer-sha256q.o algo/shabal/cpuminer-sph_shabal.o algo/shabal/cpuminer-shabal-hash-4way.o algo/shavite/cpuminer-sph_shavite.o algo/shavite/cpuminer-sph-shavite-aesni.o algo/shavite/cpuminer-shavite-hash-2way.o algo/shavite/cpuminer-shavite-hash-4way.o algo/shavite/cpuminer-shavite.o algo/simd/cpuminer-nist.o algo/simd/cpuminer-vector.o algo/simd/cpuminer-simd-hash-2way.o algo/skein/cpuminer-sph_skein.o algo/skein/cpuminer-skein-hash-4way.o algo/skein/cpuminer-skein.o algo/skein/cpuminer-skein-4way.o algo/skein/cpuminer-skein-gate.o algo/skein/cpuminer-skein2.o algo/skein/cpuminer-skein2-4way.o algo/sm3/cpuminer-sm3.o algo/sm3/cpuminer-sm3-hash-4way.o algo/swifftx/cpuminer-swifftx.o algo/tiger/cpuminer-sph_tiger.o algo/verthash/cpuminer-verthash-gate.o algo/verthash/cpuminer-Verthash.o algo/verthash/cpuminer-fopen_utf8.o algo/verthash/tiny_sha3/cpuminer-sha3.o algo/verthash/tiny_sha3/cpuminer-sha3-4way.o algo/whirlpool/cpuminer-sph_whirlpool.o algo/whirlpool/cpuminer-whirlpool-hash-4way.o algo/whirlpool/cpuminer-whirlpool-gate.o algo/whirlpool/cpuminer-whirlpool.o algo/whirlpool/cpuminer-whirlpoolx.o algo/x11/cpuminer-x11-gate.o algo/x11/cpuminer-x11.o algo/x11/cpuminer-x11-4way.o algo/x11/cpuminer-x11gost-gate.o algo/x11/cpuminer-x11gost.o algo/x11/cpuminer-x11gost-4way.o algo/x11/cpuminer-c11-gate.o algo/x11/cpuminer-c11.o algo/x11/cpuminer-c11-4way.o algo/x11/cpuminer-tribus-gate.o algo/x11/cpuminer-tribus.o algo/x11/cpuminer-tribus-4way.o algo/x11/cpuminer-timetravel-gate.o algo/x11/cpuminer-timetravel.o algo/x11/cpuminer-timetravel-4way.o algo/x11/cpuminer-timetravel10-gate.o algo/x11/cpuminer-timetravel10.o algo/x11/cpuminer-timetravel10-4way.o algo/x11/cpuminer-x11evo.o algo/x11/cpuminer-x11evo-4way.o algo/x11/cpuminer-x11evo-gate.o algo/x12/cpuminer-x12-gate.o algo/x12/cpuminer-x12.o algo/x12/cpuminer-x12-4way.o algo/x13/cpuminer-x13-gate.o algo/x13/cpuminer-x13.o algo/x13/cpuminer-x13-4way.o algo/x13/cpuminer-x13sm3-gate.o algo/x13/cpuminer-x13sm3.o algo/x13/cpuminer-x13sm3-4way.o algo/x13/cpuminer-phi1612-gate.o algo/x13/cpuminer-phi1612.o algo/x13/cpuminer-phi1612-4way.o algo/x13/cpuminer-skunk-gate.o algo/x13/cpuminer-skunk-4way.o algo/x13/cpuminer-skunk.o algo/x13/cpuminer-x13bcd-4way.o algo/x13/cpuminer-x13bcd.o algo/x14/cpuminer-x14-gate.o algo/x14/cpuminer-x14.o algo/x14/cpuminer-x14-4way.o algo/x14/cpuminer-veltor-gate.o algo/x14/cpuminer-veltor.o algo/x14/cpuminer-veltor-4way.o algo/x14/cpuminer-polytimos-gate.o algo/x14/cpuminer-polytimos.o algo/x14/cpuminer-polytimos-4way.o algo/x14/cpuminer-axiom.o algo/x15/cpuminer-x15-gate.o algo/x15/cpuminer-x15.o algo/x15/cpuminer-x15-4way.o algo/x16/cpuminer-x16r-gate.o algo/x16/cpuminer-x16r.o algo/x16/cpuminer-x16r-4way.o algo/x16/cpuminer-x16rv2.o algo/x16/cpuminer-x16rv2-4way.o algo/x16/cpuminer-x16rt.o algo/x16/cpuminer-x16rt-4way.o algo/x16/cpuminer-hex.o algo/x16/cpuminer-x21s-4way.o algo/x16/cpuminer-x21s.o algo/x16/cpuminer-minotaur.o algo/x17/cpuminer-x17-gate.o algo/x17/cpuminer-x17.o algo/x17/cpuminer-x17-4way.o algo/x17/cpuminer-xevan-gate.o algo/x17/cpuminer-xevan.o algo/x17/cpuminer-xevan-4way.o algo/x17/cpuminer-sonoa-gate.o algo/x17/cpuminer-sonoa-4way.o algo/x17/cpuminer-sonoa.o algo/x22/cpuminer-x22i-4way.o algo/x22/cpuminer-x22i.o algo/x22/cpuminer-x22i-gate.o algo/x22/cpuminer-x25x.o algo/x22/cpuminer-x25x-4way.o algo/yescrypt/cpuminer-yescrypt.o algo/yescrypt/cpuminer-yescrypt-best.o algo/yespower/cpuminer-yespower-gate.o algo/yespower/cpuminer-yespower-blake2b.o algo/yespower/crypto/cpuminer-blake2b-yp.o algo/yespower/cpuminer-yescrypt-r8g.o algo/yespower/cpuminer-yespower-opt.o      -lcurl -lz -lssl -lcrypto compat/jansson/libjansson.a -lpthread  -lssl -lcrypto -lgmp
ld: warning: directory not found for option '-Lyes/lib'
ld: warning: directory not found for option '-Lyes/lib'
ld: warning: could not create compact unwind for _miner_thread: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _api: stack subq instruction is too different from dwarf stack size
ld: warning: could not create compact unwind for _scanhash_argon2d4096: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2rev2_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2re_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2h_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _allium_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _lyra2rev3_4way_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _phi2_hash: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _scanhash_m7m_hash: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _lyra2z_4way_hash: register 3 saved somewhere other than in frame
ld: warning: could not create compact unwind for _veil_build_extraheader: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _x25x_hash: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _yescrypt_kdf: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _x22i_hash: does not use RBP or RSP based frame
ld: warning: could not create compact unwind for _yespower: does not use RBP or RSP based frame
Undefined symbols for architecture x86_64:
  "_scrypt_best_throughput", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
  "_scrypt_core", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
  "_scrypt_core_3way", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
  "_sha256_init_4way", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
  "_sha256_transform_4way", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
  "_sha256_use_4way", referenced from:
      _scanhash_scrypt in cpuminer-scrypt.o
      _scanhash_sha256d in cpuminer-sha2.o
  "_sha256d_ms_4way", referenced from:
      _scanhash_sha256d in cpuminer-sha2.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [cpuminer] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
JayDDee commented 2 years ago

I'm not sure how much I can help but I'm curious. I'm also impressed with the progress you've made.

It would help if you provided more info, such as your CPU, OS, build procedure, etc.

Some initial thoughts: If you're only building for generic x86_64 it likely won't compile. You need SSE2 minimum. It looks like you're using clang, use gcc if possible. The undefined errors look like they are from ASM code. If you can't enable ASM you might be able to remove the references. I believe the symbols are now unused since a recent scrypt rewrite.

Some of the algos are obsolete, old argon2 and hodl for example. It may be easier to just remove them if they are too difficult to compile.

bugshunt3r commented 2 years ago

Played a little more with the code and here's the result:

Tudors-MacBook-Pro:cpuminer-opt tudor$ ./cpuminer

         **********  cpuminer-opt 3.19.8  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AVX512, SHA and VAES extensions by JayDDee.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT

./cpuminer: No algo parameter specified
Try `--help' for more information.

Running on a laptop.... as an actual test:

Tudors-MacBook-Pro:cpuminer-opt tudor$ ./cpuminer --algo scrypt --param-n 1048576 -o stratum+tcp://scryptn2.eu.mine.zergpool.com:3435 -u MJ3abDuVxsVWtjui77bMtv5W1nGBR3XYnU -p c=LTC,ID=MacTest

         **********  cpuminer-opt 3.19.8  ***********
     A CPU miner with multi algo support and optimized for CPUs
     with AVX512, SHA and VAES extensions by JayDDee.
     BTC donation address: 12tdvfF7KmAsihBXQXynT6E6th2c2pByTT

[2022-06-06 21:27:29] Scrypt paramaters: N= 1048576, R= 1
[2022-06-06 21:27:29] Throughput 4/thr, Buffer 256 MiB/thr, Total 2048 MiB

CPU:       Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz
SW built on Jun  6 2022 with GCC 11.3.0
CPU features:  AVX     AES
SW features:   SSE2
Algo features: AVX512

Starting miner with SSE2...

[2022-06-06 21:27:29] CPU affinity [!!!!!!!!]
[2022-06-06 21:27:29] Stratum connect stratum+tcp://scryptn2.eu.mine.zergpool.com:3435
[2022-06-06 21:27:29] 8 of 8 miner threads started using 'scrypt' algorithm
[2022-06-06 21:27:29] Stratum extranonce1 0x810422cf, extranonce2 size 4
[2022-06-06 21:27:29] Stratum connection established
[2022-06-06 21:27:29] CPU temp: curr 0 C max 0, Freq: 0.000/0.000 GHz
[2022-06-06 21:27:29] New Stratum Diff 0.3, Block 1555086, Job 73e9
                      Diff: Net 0.00027756, Stratum 0.3, Target 4.5776e-06
[2022-06-06 21:27:41] New Work: Block 1555086, Net diff 0.00027756, Job 73ea
^[[2022-06-06 21:28:16] New Block 1555087, Net diff 0.00027725, Job 73eb
                      Diff: Net 0.00027725, Stratum 0.3, Target 4.5776e-06
                      TTF @ 21.41 h/s: Block 15h26m, Share 15m18s
                      Net hash rate (est) 25.89 kh/s
^C[2022-06-06 21:28:25] SIGINT received, exiting

Need to try it now on a untouched macmini to see if i could replicate the compilation...

bugshunt3r commented 2 years ago

Can you add and push the hodl-gate.c patch for apple ?

#ifdef __APPLE__

#ifndef PTHREAD_BARRIER_H_
#define PTHREAD_BARRIER_H_

#include <pthread.h>
#include <errno.h>

typedef int pthread_barrierattr_t;
typedef struct
{
    pthread_mutex_t mutex;
    pthread_cond_t cond;
    int count;
    int tripCount;
} pthread_barrier_t;

int pthread_barrier_init(pthread_barrier_t *barrier, const pthread_barrierattr_t *attr, unsigned int count)
{
    if(count == 0)
    {
        errno = EINVAL;
        return -1;
    }
    if(pthread_mutex_init(&barrier->mutex, 0) < 0)
    {
        return -1;
    }
    if(pthread_cond_init(&barrier->cond, 0) < 0)
    {
        pthread_mutex_destroy(&barrier->mutex);
        return -1;
    }
    barrier->tripCount = count;
    barrier->count = 0;

    return 0;
}

int pthread_barrier_destroy(pthread_barrier_t *barrier)
{
    pthread_cond_destroy(&barrier->cond);
    pthread_mutex_destroy(&barrier->mutex);
    return 0;
}

int pthread_barrier_wait(pthread_barrier_t *barrier)
{
    pthread_mutex_lock(&barrier->mutex);
    ++(barrier->count);
    if(barrier->count >= barrier->tripCount)
    {
        barrier->count = 0;
        pthread_cond_broadcast(&barrier->cond);
        pthread_mutex_unlock(&barrier->mutex);
        return 1;
    }
    else
    {
        pthread_cond_wait(&barrier->cond, &(barrier->mutex));
        pthread_mutex_unlock(&barrier->mutex);
        return 0;
    }
}

#endif // PTHREAD_BARRIER_H_
#endif // __APPLE__

Will make life easier on the long run when i pull the repo on other macs.

JayDDee commented 2 years ago

Looking good.

I can't support Apple so I won't make any Apple specific changes. Also hodl is obsolete so I don't want to make any changes to that code. I suggest you fork the repo for your work. Removing hodl is easy if you want to, just remove algo/hodl and a few references in miner.h, algo-gate-api.c and Makefile.am.

bugshunt3r commented 2 years ago

Didn't managed to replicate it on another mac yet... hitting a wall here:

mv -f .deps/cpuminer-algo-gate-api.Tpo .deps/cpuminer-algo-gate-api.Po
g++  -g -O2 -L/usr/local/opt/openssl@1.1//lib -L/usr/local/opt/curl/lib  -L/usr/local/opt/openssl@1.1//lib -L/usr/local/opt/curl/lib  -o cpuminer cpuminer-cpu-miner.o cpuminer-util.o cpuminer-api.o cpuminer-sysinfos.o cpuminer-algo-gate-api.o cpuminer-malloc-huge.o algo/argon2/argon2a/cpuminer-argon2a.o algo/argon2/argon2a/ar2/cpuminer-argon2.o algo/argon2/argon2a/ar2/cpuminer-opt.o algo/argon2/argon2a/ar2/cpuminer-cores.o algo/argon2/argon2a/ar2/cpuminer-ar2-scrypt-jane.o algo/argon2/argon2a/ar2/cpuminer-blake2b.o algo/argon2/argon2d/cpuminer-argon2d-gate.o algo/argon2/argon2d/blake2/cpuminer-blake2b.o algo/argon2/argon2d/argon2d/cpuminer-argon2.o algo/argon2/argon2d/argon2d/cpuminer-core.o algo/argon2/argon2d/argon2d/cpuminer-opt.o algo/argon2/argon2d/argon2d/cpuminer-argon2d_thread.o algo/argon2/argon2d/argon2d/cpuminer-encoding.o algo/blake/cpuminer-sph_blake.o algo/blake/cpuminer-blake256-hash-4way.o algo/blake/cpuminer-blake512-hash-4way.o algo/blake/cpuminer-blake-gate.o algo/blake/cpuminer-blake.o algo/blake/cpuminer-blake-4way.o algo/blake/cpuminer-sph_blake2b.o algo/blake/cpuminer-sph-blake2s.o algo/blake/cpuminer-blake2s-hash-4way.o algo/blake/cpuminer-blake2s.o algo/blake/cpuminer-blake2s-gate.o algo/blake/cpuminer-blake2s-4way.o algo/blake/cpuminer-blake2b-hash-4way.o algo/blake/cpuminer-blake2b.o algo/blake/cpuminer-blake2b-gate.o algo/blake/cpuminer-blake2b-4way.o algo/blake/cpuminer-blakecoin-gate.o algo/blake/cpuminer-mod_blakecoin.o algo/blake/cpuminer-blakecoin.o algo/blake/cpuminer-blakecoin-4way.o algo/blake/cpuminer-decred-gate.o algo/blake/cpuminer-decred.o algo/blake/cpuminer-decred-4way.o algo/blake/cpuminer-pentablake-gate.o algo/blake/cpuminer-pentablake-4way.o algo/blake/cpuminer-pentablake.o algo/bmw/cpuminer-sph_bmw.o algo/bmw/cpuminer-bmw256-hash-4way.o algo/bmw/cpuminer-bmw512-hash-4way.o algo/bmw/cpuminer-bmw256.o algo/bmw/cpuminer-bmw512-gate.o algo/bmw/cpuminer-bmw512.o algo/bmw/cpuminer-bmw512-4way.o algo/cubehash/cpuminer-cubehash_sse2.o algo/cubehash/cpuminer-cube-hash-2way.o algo/echo/cpuminer-sph_echo.o algo/echo/cpuminer-echo-hash-4way.o algo/echo/aes_ni/cpuminer-hash.o algo/gost/cpuminer-sph_gost.o algo/groestl/cpuminer-groestl-gate.o algo/groestl/cpuminer-groestl512-hash-4way.o algo/groestl/cpuminer-groestl256-hash-4way.o algo/groestl/cpuminer-sph_groestl.o algo/groestl/cpuminer-groestl.o algo/groestl/cpuminer-groestl-4way.o algo/groestl/cpuminer-myrgr-gate.o algo/groestl/cpuminer-myrgr-4way.o algo/groestl/cpuminer-myr-groestl.o algo/groestl/aes_ni/cpuminer-hash-groestl.o algo/groestl/aes_ni/cpuminer-hash-groestl256.o algo/fugue/cpuminer-sph_fugue.o algo/fugue/cpuminer-fugue-aesni.o algo/hamsi/cpuminer-sph_hamsi.o algo/hamsi/cpuminer-hamsi-hash-4way.o algo/haval/cpuminer-haval.o algo/haval/cpuminer-haval-hash-4way.o algo/hodl/cpuminer-aes.o algo/hodl/cpuminer-hodl-gate.o algo/hodl/cpuminer-hodl-wolf.o algo/hodl/cpuminer-sha512_avx.o algo/hodl/cpuminer-sha512_avx2.o algo/jh/cpuminer-sph_jh.o algo/jh/cpuminer-jh-hash-4way.o algo/jh/cpuminer-jha-gate.o algo/jh/cpuminer-jha-4way.o algo/jh/cpuminer-jha.o algo/keccak/cpuminer-sph_keccak.o algo/keccak/cpuminer-keccak.o algo/keccak/cpuminer-keccak-hash-4way.o algo/keccak/cpuminer-keccak-4way.o algo/keccak/cpuminer-keccak-gate.o algo/keccak/cpuminer-sha3d-4way.o algo/keccak/cpuminer-sha3d.o algo/lanehash/cpuminer-lane.o algo/luffa/cpuminer-luffa_for_sse2.o algo/luffa/cpuminer-luffa-hash-2way.o algo/lyra2/cpuminer-lyra2.o algo/lyra2/cpuminer-sponge.o algo/lyra2/cpuminer-sponge-2way.o algo/lyra2/cpuminer-lyra2-hash-2way.o algo/lyra2/cpuminer-lyra2-gate.o algo/lyra2/cpuminer-lyra2rev2.o algo/lyra2/cpuminer-lyra2rev2-4way.o algo/lyra2/cpuminer-lyra2rev3.o algo/lyra2/cpuminer-lyra2rev3-4way.o algo/lyra2/cpuminer-lyra2re.o algo/lyra2/cpuminer-lyra2z.o algo/lyra2/cpuminer-lyra2z-4way.o algo/lyra2/cpuminer-lyra2z330.o algo/lyra2/cpuminer-lyra2h.o algo/lyra2/cpuminer-lyra2h-4way.o algo/lyra2/cpuminer-allium-4way.o algo/lyra2/cpuminer-allium.o algo/lyra2/cpuminer-phi2-4way.o algo/lyra2/cpuminer-phi2.o algo/m7m/cpuminer-m7m.o algo/m7m/cpuminer-magimath.o algo/nist5/cpuminer-nist5-gate.o algo/nist5/cpuminer-nist5-4way.o algo/nist5/cpuminer-nist5.o algo/nist5/cpuminer-zr5.o algo/panama/cpuminer-panama-hash-4way.o algo/panama/cpuminer-sph_panama.o algo/quark/cpuminer-quark-gate.o algo/quark/cpuminer-quark.o algo/quark/cpuminer-quark-4way.o algo/quark/cpuminer-anime-gate.o algo/quark/cpuminer-anime.o algo/quark/cpuminer-anime-4way.o algo/quark/cpuminer-hmq1725-gate.o algo/quark/cpuminer-hmq1725-4way.o algo/quark/cpuminer-hmq1725.o algo/qubit/cpuminer-qubit-gate.o algo/qubit/cpuminer-qubit.o algo/qubit/cpuminer-qubit-2way.o algo/qubit/cpuminer-deep-gate.o algo/qubit/cpuminer-deep-2way.o algo/qubit/cpuminer-deep.o algo/ripemd/cpuminer-sph_ripemd.o algo/ripemd/cpuminer-ripemd-hash-4way.o algo/ripemd/cpuminer-lbry-gate.o algo/ripemd/cpuminer-lbry.o algo/ripemd/cpuminer-lbry-4way.o algo/scrypt/cpuminer-scrypt.o algo/scrypt/cpuminer-scrypt-core-4way.o algo/scrypt/cpuminer-neoscrypt.o algo/sha/cpuminer-sha256-hash.o algo/sha/cpuminer-sph_sha2.o algo/sha/cpuminer-sph_sha2big.o algo/sha/cpuminer-sha256-hash-4way.o algo/sha/cpuminer-sha512-hash-4way.o algo/sha/cpuminer-sha256-hash-opt.o algo/sha/cpuminer-sha256-hash-2way-ni.o algo/sha/cpuminer-hmac-sha256-hash.o algo/sha/cpuminer-hmac-sha256-hash-4way.o algo/sha/cpuminer-sha256d.o algo/sha/cpuminer-sha2.o algo/sha/cpuminer-sha256d-4way.o algo/sha/cpuminer-sha256t-gate.o algo/sha/cpuminer-sha256t-4way.o algo/sha/cpuminer-sha256t.o algo/sha/cpuminer-sha256q-4way.o algo/sha/cpuminer-sha256q.o algo/shabal/cpuminer-sph_shabal.o algo/shabal/cpuminer-shabal-hash-4way.o algo/shavite/cpuminer-sph_shavite.o algo/shavite/cpuminer-sph-shavite-aesni.o algo/shavite/cpuminer-shavite-hash-2way.o algo/shavite/cpuminer-shavite-hash-4way.o algo/shavite/cpuminer-shavite.o algo/simd/cpuminer-nist.o algo/simd/cpuminer-vector.o algo/simd/cpuminer-simd-hash-2way.o algo/skein/cpuminer-sph_skein.o algo/skein/cpuminer-skein-hash-4way.o algo/skein/cpuminer-skein.o algo/skein/cpuminer-skein-4way.o algo/skein/cpuminer-skein-gate.o algo/skein/cpuminer-skein2.o algo/skein/cpuminer-skein2-4way.o algo/sm3/cpuminer-sm3.o algo/sm3/cpuminer-sm3-hash-4way.o algo/swifftx/cpuminer-swifftx.o algo/tiger/cpuminer-sph_tiger.o algo/verthash/cpuminer-verthash-gate.o algo/verthash/cpuminer-Verthash.o algo/verthash/cpuminer-fopen_utf8.o algo/verthash/tiny_sha3/cpuminer-sha3.o algo/verthash/tiny_sha3/cpuminer-sha3-4way.o algo/whirlpool/cpuminer-sph_whirlpool.o algo/whirlpool/cpuminer-whirlpool-hash-4way.o algo/whirlpool/cpuminer-whirlpool-gate.o algo/whirlpool/cpuminer-whirlpool.o algo/whirlpool/cpuminer-whirlpoolx.o algo/x11/cpuminer-x11-gate.o algo/x11/cpuminer-x11.o algo/x11/cpuminer-x11-4way.o algo/x11/cpuminer-x11gost-gate.o algo/x11/cpuminer-x11gost.o algo/x11/cpuminer-x11gost-4way.o algo/x11/cpuminer-c11-gate.o algo/x11/cpuminer-c11.o algo/x11/cpuminer-c11-4way.o algo/x11/cpuminer-tribus-gate.o algo/x11/cpuminer-tribus.o algo/x11/cpuminer-tribus-4way.o algo/x11/cpuminer-timetravel-gate.o algo/x11/cpuminer-timetravel.o algo/x11/cpuminer-timetravel-4way.o algo/x11/cpuminer-timetravel10-gate.o algo/x11/cpuminer-timetravel10.o algo/x11/cpuminer-timetravel10-4way.o algo/x11/cpuminer-x11evo.o algo/x11/cpuminer-x11evo-4way.o algo/x11/cpuminer-x11evo-gate.o algo/x12/cpuminer-x12-gate.o algo/x12/cpuminer-x12.o algo/x12/cpuminer-x12-4way.o algo/x13/cpuminer-x13-gate.o algo/x13/cpuminer-x13.o algo/x13/cpuminer-x13-4way.o algo/x13/cpuminer-x13sm3-gate.o algo/x13/cpuminer-x13sm3.o algo/x13/cpuminer-x13sm3-4way.o algo/x13/cpuminer-phi1612-gate.o algo/x13/cpuminer-phi1612.o algo/x13/cpuminer-phi1612-4way.o algo/x13/cpuminer-skunk-gate.o algo/x13/cpuminer-skunk-4way.o algo/x13/cpuminer-skunk.o algo/x13/cpuminer-x13bcd-4way.o algo/x13/cpuminer-x13bcd.o algo/x14/cpuminer-x14-gate.o algo/x14/cpuminer-x14.o algo/x14/cpuminer-x14-4way.o algo/x14/cpuminer-veltor-gate.o algo/x14/cpuminer-veltor.o algo/x14/cpuminer-veltor-4way.o algo/x14/cpuminer-polytimos-gate.o algo/x14/cpuminer-polytimos.o algo/x14/cpuminer-polytimos-4way.o algo/x14/cpuminer-axiom.o algo/x15/cpuminer-x15-gate.o algo/x15/cpuminer-x15.o algo/x15/cpuminer-x15-4way.o algo/x16/cpuminer-x16r-gate.o algo/x16/cpuminer-x16r.o algo/x16/cpuminer-x16r-4way.o algo/x16/cpuminer-x16rv2.o algo/x16/cpuminer-x16rv2-4way.o algo/x16/cpuminer-x16rt.o algo/x16/cpuminer-x16rt-4way.o algo/x16/cpuminer-hex.o algo/x16/cpuminer-x21s-4way.o algo/x16/cpuminer-x21s.o algo/x16/cpuminer-minotaur.o algo/x17/cpuminer-x17-gate.o algo/x17/cpuminer-x17.o algo/x17/cpuminer-x17-4way.o algo/x17/cpuminer-xevan-gate.o algo/x17/cpuminer-xevan.o algo/x17/cpuminer-xevan-4way.o algo/x17/cpuminer-sonoa-gate.o algo/x17/cpuminer-sonoa-4way.o algo/x17/cpuminer-sonoa.o algo/x22/cpuminer-x22i-4way.o algo/x22/cpuminer-x22i.o algo/x22/cpuminer-x22i-gate.o algo/x22/cpuminer-x25x.o algo/x22/cpuminer-x25x-4way.o algo/yescrypt/cpuminer-yescrypt.o algo/yescrypt/cpuminer-yescrypt-best.o algo/yespower/cpuminer-yespower-gate.o algo/yespower/cpuminer-yespower-blake2b.o algo/yespower/crypto/cpuminer-blake2b-yp.o algo/yespower/cpuminer-yescrypt-r8g.o algo/yespower/cpuminer-yespower-opt.o asm/cpuminer-neoscrypt_asm.o  asm/cpuminer-sha2-x64.o asm/cpuminer-scrypt-x64.o asm/cpuminer-aesb-x64.o   -lcurl -lz -lssl -lcrypto -ljansson -lpthread  -lssl -lcrypto -lgmp
Undefined symbols for architecture x86_64:
  "_neoscrypt_blkcpy", referenced from:
      _neoscrypt in cpuminer-neoscrypt.o
  "_neoscrypt_blkswp", referenced from:
      _neoscrypt_blkmix.constprop.0 in cpuminer-neoscrypt.o
  "_neoscrypt_blkxor", referenced from:
      _neoscrypt_blkmix.constprop.0 in cpuminer-neoscrypt.o
      _neoscrypt in cpuminer-neoscrypt.o
  "_neoscrypt_chacha", referenced from:
      _neoscrypt_blkmix.constprop.0 in cpuminer-neoscrypt.o
  "_neoscrypt_salsa", referenced from:
      _neoscrypt_blkmix.constprop.0 in cpuminer-neoscrypt.o
  "_neoscrypt_salsa_tangle", referenced from:
      _neoscrypt in cpuminer-neoscrypt.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[2]: *** [cpuminer] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Tomorrow is another day, and will continue ;)

JayDDee commented 2 years ago

I don't know if you're still stuck at the wall or just taking a break. The neoscrypt errors are the same as the scrypt errors you saw before and fixed. You also haven't responded with the info I requested, the only info I have is from the miner's output. You should also document everything you did to make it work initially.

JayDDee commented 2 years ago

No activity.