JoinMarket-Org / joinmarket-clientserver

Bitcoin CoinJoin implementation with incentive structure to convince people to take part
GNU General Public License v3.0
708 stars 175 forks source link

Instalation issue #668

Closed OvoNemaSmisla closed 3 years ago

OvoNemaSmisla commented 4 years ago

Hi,

I'm trying to install joinmarket on:

uname -a
Linux odroid 4.9.230-75 #1 SMP PREEMPT Tue Aug 11 12:03:57 -03 2020 aarch64 aarch64 aarch64 GNU/Linux

The install script exits with the following error:

PASS: aead_chacha20poly1305
PASS: box2
PASS: box_seal
PASS: aead_aes256gcm2
PASS: aead_xchacha20poly1305
PASS: box
PASS: aead_aes256gcm
PASS: core2
PASS: auth
PASS: hash
PASS: auth2
PASS: auth7
PASS: core4
PASS: core6
PASS: auth6
PASS: kdf
PASS: box_seed
PASS: core1
PASS: hash3
PASS: kx
PASS: auth3
PASS: scalarmult7
PASS: auth5
PASS: generichash2
PASS: onetimeauth
PASS: scalarmult6
PASS: onetimeauth2
PASS: box_easy
PASS: generichash3
PASS: scalarmult
PASS: sodium_core
PASS: scalarmult2
PASS: misuse
PASS: core5
PASS: secretbox
PASS: scalarmult8
PASS: onetimeauth7
PASS: shorthash
PASS: secretbox_easy
PASS: stream4
PASS: sodium_version
PASS: keygen
PASS: secretbox2
PASS: scalarmult5
PASS: sodium_utils3
PASS: stream3
PASS: secretstream
PASS: box_easy2
PASS: generichash
PASS: aead_chacha20poly13052
PASS: secretbox7
PASS: secretbox8
PASS: randombytes
PASS: core3
PASS: secretbox_easy2
PASS: chacha20
PASS: codecs
PASS: stream2
PASS: stream
PASS: ed25519_convert
PASS: box7
PASS: sodium_utils
PASS: verify1
PASS: sign
PASS: metamorphic
PASS: pwhash_argon2i
PASS: pwhash_argon2id
PASS: sodium_utils2
PASS: box8
============================================================================
Testsuite summary for libsodium 1.0.18
============================================================================
# TOTAL: 69
# PASS:  69
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test/default'
make[3]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test/default'
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test/default'
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
make[2]: Nothing to be done for 'check-am'.                                     
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
make[1]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18'
make[1]: Nothing to be done for 'check-am'.                                     
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18'
Making install in builds                                                        
make[1]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/builds'
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/builds'
make[2]: Nothing to be done for 'install-exec-am'.                              
make[2]: Nothing to be done for 'install-data-am'.                              
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/builds'
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/builds'
Making install in contrib                                                       
make[1]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/contrib'
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/contrib'
make[2]: Nothing to be done for 'install-exec-am'.                              
make[2]: Nothing to be done for 'install-data-am'.                              
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/contrib'
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/contrib'
Making install in dist-build                                                    
make[1]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/dist-build'
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/dist-build'
make[2]: Nothing to be done for 'install-exec-am'.                              
make[2]: Nothing to be done for 'install-data-am'.                              
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/dist-build'
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/dist-build'
Making install in msvc-scripts                                                  
make[1]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/msvc-scripts'
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/msvc-scripts'
make[2]: Nothing to be done for 'install-exec-am'.                              
make[2]: Nothing to be done for 'install-data-am'.                              
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/msvc-scripts'
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/msvc-scripts'
Making install in src                                                           
make[1]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src'
Making install in libsodium                                                     
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium'
Making install in include                                                       
make[3]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium/include'
make[4]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium/include'
make[4]: Nothing to be done for 'install-exec-am'.                              
 /bin/mkdir -p '/home/user/joinmarket-clientserver/jmvenv/include'             
 /bin/mkdir -p '/home/user/joinmarket-clientserver/jmvenv/include'             
 /bin/mkdir -p '/home/user/joinmarket-clientserver/jmvenv/include/sodium'      
 /usr/bin/install -c -m 644  sodium/version.h '/home/user/joinmarket-clientserver/jmvenv/include/sodium'
 /bin/mkdir -p '/home/user/joinmarket-clientserver/jmvenv/include/sodium'      
 /usr/bin/install -c -m 644  sodium/core.h sodium/crypto_aead_aes256gcm.h sodium/crypto_aead_chacha20poly1305.h sodium/crypto_aead_xchacha20poly1305.h sodium/crypto_auth.h sodium/crypto_auth_hmacsha256.h sodium/crypto_auth_hmacsha512.h sodium/crypto_auth_hmacsha512256.h sodium/crypto_box.h sodium/crypto_box_curve25519xchacha20poly1305.h sodium/crypto_box_curve25519xsalsa20poly1305.h sodium/crypto_core_ed25519.h sodium/crypto_core_ristretto255.h sodium/crypto_core_hchacha20.h sodium/crypto_core_hsalsa20.h sodium/crypto_core_salsa20.h sodium/crypto_core_salsa2012.h sodium/crypto_core_salsa208.h sodium/crypto_generichash.h sodium/crypto_generichash_blake2b.h sodium/crypto_hash.h sodium/crypto_hash_sha256.h sodium/                                                                                                                                                             crypto_hash_sha512.h sodium/crypto_kdf.h sodium/crypto_kdf_blake2b.h sodium/cryp                                                                                                                                                             to_kx.h sodium/crypto_onetimeauth.h sodium/crypto_onetimeauth_poly1305.h sodium/                                                                                                                                                             crypto_pwhash.h sodium/crypto_pwhash_argon2i.h sodium/crypto_pwhash_argon2id.h s                                                                                                                                                             odium/crypto_pwhash_scryptsalsa208sha256.h sodium/crypto_scalarmult.h sodium/cry                                                                                                                                                             pto_scalarmult_curve25519.h sodium/crypto_scalarmult_ed25519.h sodium/crypto_sca                                                                                                                                                             larmult_ristretto255.h sodium/crypto_secretbox.h sodium/crypto_secretbox_xchacha                                                                                                                                                             20poly1305.h sodium/crypto_secretbox_xsalsa20poly1305.h sodium/crypto_secretstre                                                                                                                                                             am_xchacha20poly1305.h '/home/user/joinmarket-clientserver/jmvenv/include/sodiu                                                                                                                                                             m'
 /bin/mkdir -p '/home/user/joinmarket-clientserver/jmvenv/include/sodium'      
 /usr/bin/install -c -m 644  sodium/crypto_shorthash.h sodium/crypto_shorthash_siphash24.h sodium/crypto_sign.h sodium/crypto_sign_ed25519.h sodium/crypto_sign_edwards25519sha512batch.h sodium/crypto_stream.h sodium/crypto_stream_chacha20.h sodium/crypto_stream_salsa20.h sodium/crypto_stream_salsa2012.h sodium/crypto_stream_salsa208.h sodium/crypto_stream_xchacha20.h sodium/crypto_stream_xsalsa20.h sodium/crypto_verify_16.h sodium/crypto_verify_32.h sodium/crypto_verify_64.h sodium/export.h sodium/randombytes.h sodium/randombytes_internal_random.h sodium/randombytes_sysrandom.h sodium/runtime.h sodium/utils.h '/home/user/joinmarket-clientserver/jmvenv/include/sodium'
 /usr/bin/install -c -m 644  sodium.h '/home/user/joinmarket-clientserver/jmvenv/include/.'
make[4]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium/include'
make[3]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium/include'
make[3]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium'
make[4]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium'
make[4]: Nothing to be done for 'install-data-am'.                              
 /bin/mkdir -p '/home/user/joinmarket-clientserver/jmvenv/lib'                 
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libsodium.la '/home/user/joinmarket-clientserver/jmvenv/lib'
libtool: install: /usr/bin/install -c .libs/libsodium.so.23.3.0 /home/user/joinmarket-clientserver/jmvenv/lib/libsodium.so.23.3.0
libtool: install: (cd /home/user/joinmarket-clientserver/jmvenv/lib && { ln -s -f libsodium.so.23.3.0 libsodium.so.23 || { rm -f libsodium.so.23 && ln -s libsodium.so.23.3.0 libsodium.so.23; }; })
libtool: install: (cd /home/user/joinmarket-clientserver/jmvenv/lib && { ln -s -f libsodium.so.23.3.0 libsodium.so || { rm -f libsodium.so && ln -s libsodium.so.23.3.0 libsodium.so; }; })
libtool: install: /usr/bin/install -c .libs/libsodium.lai /home/user/joinmarket-clientserver/jmvenv/lib/libsodium.la
libtool: install: /usr/bin/install -c .libs/libsodium.a /home/user/joinmarket-clientserver/jmvenv/lib/libsodium.a
libtool: install: chmod 644 /home/user/joinmarket-clientserver/jmvenv/lib/libsodium.a
libtool: install: ranlib /home/user/joinmarket-clientserver/jmvenv/lib/libsodium.a
libtool: finish: PATH="/home/user/joinmarket-clientserver/jmvenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/sbin" ldconfig -n /home/user/joinmarket-clientserver/jmvenv/lib
----------------------------------------------------------------------          
Libraries have been installed in:                                               
   /home/user/joinmarket-clientserver/jmvenv/lib                               

If you ever happen to want to link against installed libraries                  
in a given directory, LIBDIR, you must either use libtool, and                  
specify the full pathname of the library, or use the '-LLIBDIR'                 
flag during linking and do at least one of the following:                       
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable                   
     during execution                                                           
   - add LIBDIR to the 'LD_RUN_PATH' environment variable                       
     during linking                                                             
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag                                
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'             

See any operating system documentation about shared libraries for               
more information, such as the ld(1) and ld.so(8) manual pages.                  
----------------------------------------------------------------------          
make[4]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium'
make[3]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium'
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src/libsodium'
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src'
make[3]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src'
make[3]: Nothing to be done for 'install-exec-am'.                              
make[3]: Nothing to be done for 'install-data-am'.                              
make[3]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src'
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src'
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/src'
Making install in test                                                          
make[1]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
Making install in default                                                       
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test/default'
make[3]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test/default'
make[3]: Nothing to be done for 'install-exec-am'.                              
make[3]: Nothing to be done for 'install-data-am'.                              
make[3]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test/default'
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test/default'
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
make[3]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
make[3]: Nothing to be done for 'install-exec-am'.                              
make[3]: Nothing to be done for 'install-data-am'.                              
make[3]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18/test'
make[1]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18'
make[2]: Entering directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18'
make[2]: Nothing to be done for 'install-exec-am'.                              
 /bin/mkdir -p '/home/user/joinmarket-clientserver/jmvenv/lib/pkgconfig'       
 /usr/bin/install -c -m 644 libsodium.pc '/home/user/joinmarket-clientserver/jmvenv/lib/pkgconfig'
make[2]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18'
make[1]: Leaving directory '/home/user/joinmarket-clientserver/deps/libsodium-1.0.18'
~/joinmarket-clientserver/deps ~/joinmarket-clientserver                        
~/joinmarket-clientserver                                                       
Obtaining file:///home/user/joinmarket-clientserver/jmbase (from -r requirements/base.txt (line 1))
Obtaining file:///home/user/joinmarket-clientserver/jmbitcoin (from -r requirements/base.txt (line 2))
Obtaining file:///home/user/joinmarket-clientserver/jmclient (from -r requirements/base.txt (line 3))
Obtaining file:///home/user/joinmarket-clientserver/jmdaemon (from -r requirements/base.txt (line 4))
Collecting twisted==20.3.0                                                      
  Downloading Twisted-20.3.0.tar.bz2 (3.1 MB)                                   
     |################################| 3.1 MB 3.0 MB/s                         
Collecting service-identity                                                     
  Downloading service_identity-18.1.0-py2.py3-none-any.whl (11 kB)              
Collecting chromalog==1.0.5                                                     
  Downloading chromalog-1.0.5-py2.py3-none-any.whl (10 kB)                      
Collecting coincurve                                                            
  Downloading coincurve-13.0.0.tar.gz (961 kB)                                  
     |################################| 961 kB 24.4 MB/s                        
Collecting python-bitcointx>=1.1.0                                              
  Downloading python_bitcointx-1.1.0-py3-none-any.whl (185 kB)                  
     |################################| 185 kB 25.8 MB/s                        
Collecting pyaes                                                                
  Downloading pyaes-1.6.1.tar.gz (28 kB)                                        
Collecting urldecode                                                            
  Downloading urldecode-0.1.tar.gz (935 bytes)                                  
Collecting mnemonic                                                             
  Downloading mnemonic-0.19-py2.py3-none-any.whl (61 kB)                        
     |################################| 61 kB 395 kB/s                          
Collecting argon2_cffi                                                          
  Downloading argon2-cffi-20.1.0.tar.gz (1.8 MB)                                
     |################################| 1.8 MB 22.8 MB/s                        
  Installing build dependencies ... done                                        
  Getting requirements to build wheel ... done                                  
    Preparing wheel metadata ... done                                           
Collecting bencoder.pyx>=2.0.0                                                  
  Downloading bencoder.pyx-2.0.1.tar.gz (84 kB)                                 
     |################################| 84 kB 2.1 MB/s                          
Collecting txtorcon                                                             
  Downloading txtorcon-20.0.0-py2.py3-none-any.whl (260 kB)                     
     |################################| 260 kB 23.3 MB/s                        
Collecting pyopenssl                                                            
  Downloading pyOpenSSL-19.1.0-py2.py3-none-any.whl (53 kB)                     
     |################################| 53 kB 1.6 MB/s                          
Collecting libnacl                                                              
  Downloading libnacl-1.7.1-py2.py3-none-any.whl (20 kB)                        
Collecting zope.interface>=4.4.2                                                
  Downloading zope.interface-5.1.0.tar.gz (225 kB)                              
     |################################| 225 kB 22.6 MB/s                        
Collecting constantly>=15.1                                                     
  Downloading constantly-15.1.0-py2.py3-none-any.whl (7.9 kB)                   
Collecting incremental>=16.10.1                                                 
  Using cached incremental-17.5.0-py2.py3-none-any.whl (16 kB)                  
Collecting Automat>=0.3.0                                                       
  Downloading Automat-20.2.0-py2.py3-none-any.whl (31 kB)                       
Collecting hyperlink>=17.1.1                                                    
  Downloading hyperlink-20.0.1-py2.py3-none-any.whl (48 kB)                     
     |################################| 48 kB 4.3 MB/s                          
Collecting PyHamcrest!=1.10.0,>=1.9.0                                           
  Downloading PyHamcrest-2.0.2-py3-none-any.whl (52 kB)                         
     |################################| 52 kB 638 kB/s                          
Collecting attrs>=19.2.0                                                        
  Downloading attrs-19.3.0-py2.py3-none-any.whl (39 kB)                         
Collecting pyasn1                                                               
  Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)                         
     |################################| 77 kB 4.1 MB/s                          
Collecting pyasn1-modules                                                       
  Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)                
     |################################| 155 kB 23.8 MB/s                        
Collecting cryptography                                                         
  Downloading cryptography-3.0.tar.gz (534 kB)                                  
     |################################| 534 kB 23.1 MB/s                        
  Installing build dependencies ... done                                        
  Getting requirements to build wheel ... done                                  
    Preparing wheel metadata ... done                                           
Collecting colorama>=0.3.7                                                      
  Downloading colorama-0.4.3-py2.py3-none-any.whl (15 kB)                       
Collecting six<2,>=1.9.0                                                        
  Downloading six-1.15.0-py2.py3-none-any.whl (10 kB)                           
Collecting future>=0.14.3                                                       
  Downloading future-0.18.2.tar.gz (829 kB)                                     
     |################################| 829 kB 24.0 MB/s                        
Collecting asn1crypto                                                           
  Downloading asn1crypto-1.4.0-py2.py3-none-any.whl (104 kB)                    
     |################################| 104 kB 27.8 MB/s                        
Processing /home/user/.cache/pip/wheels/6a/47/5a/1b45f132f0686ceaf0c57ef67cde7a68591387794a38f42282/cffi-1.14.2-cp36-cp36m-linux_aarch64.whl
Requirement already satisfied: setuptools in ./jmvenv/lib/python3.6/site-packages (from zope.interface>=4.4.2->twisted==20.3.0->joinmarketbase==0.7.0.dev0->-r requirements/base.txt (line 1)) (49.6.0)
Collecting idna>=2.5                                                            
  Using cached idna-2.10-py2.py3-none-any.whl (58 kB)                           
Collecting pycparser                                                            
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)                     
Building wheels for collected packages: twisted, coincurve, pyaes, urldecode, argon2-cffi, bencoder.pyx, zope.interface, cryptography, future
  Building wheel for twisted (setup.py) ... done                                
  Created wheel for twisted: filename=Twisted-20.3.0-cp36-cp36m-linux_aarch64.whl size=3078832 sha256=4ecb137881e1ef5f9e3b36a2692915d04138f4a9acd8fb690cfcd2b7b1f8e8e5
  Stored in directory: /home/user/.cache/pip/wheels/45/9b/0f/0a3b9d4efa96ecc139fb6fa5a172b11ea9f745895236e36017
  Building wheel for coincurve (setup.py) ... error                             
  ERROR: Command errored out with exit status 1:                                
   command: /home/user/joinmarket-clientserver/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kz_5d9yw/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kz_5d9yw/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-vq1wbv64
       cwd: /tmp/pip-install-kz_5d9yw/coincurve/                                
  Complete output (25 lines):                                                   
  running bdist_wheel                                                           
  The [wheel] section is deprecated. Use [bdist_wheel] instead.                 
  running build                                                                 
  running build_py                                                              
  creating build                                                                
  creating build/lib.linux-aarch64-3.6                                          
  creating build/lib.linux-aarch64-3.6/coincurve                                
  copying coincurve/__init__.py -> build/lib.linux-aarch64-3.6/coincurve        
  copying coincurve/_windows_libsecp256k1.py -> build/lib.linux-aarch64-3.6/coincurve
  copying coincurve/context.py -> build/lib.linux-aarch64-3.6/coincurve         
  copying coincurve/keys.py -> build/lib.linux-aarch64-3.6/coincurve            
  copying coincurve/utils.py -> build/lib.linux-aarch64-3.6/coincurve           
  copying coincurve/ecdsa.py -> build/lib.linux-aarch64-3.6/coincurve           
  copying coincurve/flags.py -> build/lib.linux-aarch64-3.6/coincurve           
  running build_ext                                                             
  generating cffi module 'build/temp.linux-aarch64-3.6/_libsecp256k1.c'         
  creating build/temp.linux-aarch64-3.6                                         
  building '_libsecp256k1' extension                                            
  creating build/temp.linux-aarch64-3.6/build                                   
  creating build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6            
  aarch64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -I/home/user/joinmarket-clientserver/jmvenv/include/python3.6m -c build/temp.linux-aarch64-3.6/_libsecp256k1.c -o build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o
  aarch64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o -lsecp256k1 -o build/lib.linux-aarch64-3.6/coincurve/_libsecp256k1.cpython-36m-aarch64-linux-gnu.so
  /usr/bin/ld: cannot find -lsecp256k1                                          
  collect2: error: ld returned 1 exit status                                    
  error: command 'aarch64-linux-gnu-gcc' failed with exit status 1              
  ----------------------------------------                                      
  ERROR: Failed building wheel for coincurve                                    
  Running setup.py clean for coincurve                                          
  Building wheel for pyaes (setup.py) ... done                                  
  Created wheel for pyaes: filename=pyaes-1.6.1-py3-none-any.whl size=26346 sha256=d919a8199ccad82380ad3ab42744b04be029c927b06c518cff7603c86c024ed4
  Stored in directory: /home/user/.cache/pip/wheels/0b/7a/53/f1d7837e24ac5d8c0d06b7cbe2144be66dc5e7f37e02f5a164
  Building wheel for urldecode (setup.py) ... done                              
  Created wheel for urldecode: filename=urldecode-0.1-py3-none-any.whl size=1543 sha256=be2d04fbf1096e3c9c4763d0bd3d83ed1ce8a04d0f77ec6e392253bada42fb8c
  Stored in directory: /home/user/.cache/pip/wheels/9b/52/b5/34da44490b0c78379205e8743253bc3c358e48ea84f9a40988
  Building wheel for argon2-cffi (PEP 517) ... done                             
  Created wheel for argon2-cffi: filename=argon2_cffi-20.1.0-cp36-abi3-linux_aarch64.whl size=83469 sha256=bcbf49f532189782c403108d63fac692cec9c6b8f2f191663aad10e602028cd1
  Stored in directory: /home/user/.cache/pip/wheels/b0/d3/08/2934319e5d942ed093aa126b91eb5eab77c5a49af021dd7f22
  Building wheel for bencoder.pyx (setup.py) ... done                           
  Created wheel for bencoder.pyx: filename=bencoder.pyx-2.0.1-cp36-cp36m-linux_aarch64.whl size=169485 sha256=b3628d24fcb0494628fb2f006d219b435371b9bbea8464fbc008d599dc3b219f
  Stored in directory: /home/user/.cache/pip/wheels/72/3b/7b/1e45fb0f21872df32e1ec62f39ac5a22c489625d49a1e99c5f
  Building wheel for zope.interface (setup.py) ... done                         
  Created wheel for zope.interface: filename=zope.interface-5.1.0-cp36-cp36m-linux_aarch64.whl size=222616 sha256=de7d9551c66ddd80e06d8828e650259af8068695c96947946faea50f003b0bd0
  Stored in directory: /home/user/.cache/pip/wheels/4d/b1/d4/071ce5e5e22295b5c70b72f4df166ea45f8a60c9374c9feb3c
  Building wheel for cryptography (PEP 517) ... done                            
  Created wheel for cryptography: filename=cryptography-3.0-cp36-cp36m-linux_aarch64.whl size=762495 sha256=2d068d915f4a0b1dc5db9d75e91c38d8837ea80baaa09343eec7b0126e0463bd
  Stored in directory: /home/user/.cache/pip/wheels/07/5d/d6/e67fac97f585d5ee3641b5578a6202a19a0e128e84efba416e
  Building wheel for future (setup.py) ... done                                 
  Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491059 sha256=5850e7e87058c093de028e2c7b96dca4b96648a3e6d139d1ead2ddb747d12a6e
  Stored in directory: /home/user/.cache/pip/wheels/6e/9c/ed/4499c9865ac1002697793e0ae05ba6be33553d098f3347fb94
Successfully built twisted pyaes urldecode argon2-cffi bencoder.pyx zope.interface cryptography future
Failed to build coincurve                                                       
DEPRECATION: Could not build wheels for coincurve which do not use PEP 517. pip will fall back to legacy 'setup.py install' for these. pip 21.0 will remove support for this functionality. A possible replacement is to fix the wheel build issue reported above. You can find discussion regarding this at https://github.com/pypa/pip/issues/8368.
Installing collected packages: zope.interface, constantly, incremental, attrs, six, Automat, idna, hyperlink, PyHamcrest, twisted, pyasn1, pyasn1-modules, pycparser, cffi, cryptography, service-identity, colorama, future, chromalog, joinmarketbase, asn1crypto, coincurve, python-bitcointx, pyaes, urldecode, joinmarketbitcoin, mnemonic, argon2-cffi, bencoder.pyx, joinmarketclient, txtorcon, pyopenssl, libnacl, joinmarketdaemon
  Running setup.py develop for joinmarketbase                                   
    Running setup.py install for coincurve ... error                            
    ERROR: Command errored out with exit status 1:                              
     command: /home/user/joinmarket-clientserver/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kz_5d9yw/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kz_5d9yw/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-etiqq01y/install-record.txt --single-version-externally-managed --compile --install-headers /home/user/joinmarket-clientserver/jmvenv/include/site/python3.6/coincurve
         cwd: /tmp/pip-install-kz_5d9yw/coincurve/                              
    Complete output (24 lines):                                                 
    running install                                                             
    running build                                                               
    running build_py                                                            
    creating build                                                              
    creating build/lib.linux-aarch64-3.6                                        
    creating build/lib.linux-aarch64-3.6/coincurve                              
    copying coincurve/__init__.py -> build/lib.linux-aarch64-3.6/coincurve      
    copying coincurve/_windows_libsecp256k1.py -> build/lib.linux-aarch64-3.6/coincurve
    copying coincurve/context.py -> build/lib.linux-aarch64-3.6/coincurve       
    copying coincurve/keys.py -> build/lib.linux-aarch64-3.6/coincurve          
    copying coincurve/utils.py -> build/lib.linux-aarch64-3.6/coincurve         
    copying coincurve/ecdsa.py -> build/lib.linux-aarch64-3.6/coincurve         
    copying coincurve/flags.py -> build/lib.linux-aarch64-3.6/coincurve         
    running build_ext                                                           
    generating cffi module 'build/temp.linux-aarch64-3.6/_libsecp256k1.c'       
    creating build/temp.linux-aarch64-3.6                                       
    building '_libsecp256k1' extension                                          
    creating build/temp.linux-aarch64-3.6/build                                 
    creating build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6          
    aarch64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -I/home/user/joinmarket-clientserver/jmvenv/include/python3.6m -c build/temp.linux-aarch64-3.6/_libsecp256k1.c -o build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o
    aarch64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o -lsecp256k1 -o build/lib.linux-aarch64-3.6/coincurve/_libsecp256k1.cpython-36m-aarch64-linux-gnu.so
    /usr/bin/ld: cannot find -lsecp256k1                                        
    collect2: error: ld returned 1 exit status                                  
    error: command 'aarch64-linux-gnu-gcc' failed with exit status 1            
    ----------------------------------------                                    
ERROR: Command errored out with exit status 1: /home/user/joinmarket-clientserver/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kz_5d9yw/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kz_5d9yw/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-etiqq01y/install-record.txt --single-version-externally-managed --compile --install-headers /home/user/joinmarket-clientserver/jmvenv/include/site/python3.6/coincurve Check the logs for full command output.
Joinmarket was not installed. Exiting.

If I read this correctly, it looks like it fails while building coincurve:

/usr/bin/ld: cannot find -lsecp256k1                                        
collect2: error: ld returned 1 exit status                                  
error: command 'aarch64-linux-gnu-gcc' failed with exit status 1

I'm not sure what can I do about this and I would appriciate someone pointing me in the right direction.

kristapsk commented 4 years ago

Something aarch64 specific? Has somebody tried running JM on 64-bit ARM before?

OvoNemaSmisla commented 3 years ago

Anyone?

kristapsk commented 3 years ago

Seems to be the same issue as https://github.com/kristapsk/raspibolt-extras/issues/5.

Guess the problem is that nobody from JM devs have aarch64 hardware to try to reproduce...

OvoNemaSmisla commented 3 years ago

That's unfortunate :(

AdamISZ commented 3 years ago

Is this related? https://github.com/ofek/coincurve/issues/71

You should maybe focus on how to get coincurve to install (it would just be pip install coincurve), it looks from the log that that's the only issue.

I have a plan to factor out the remaining dependencies on coincurve as with a little work we should be able to replace the remaining dependencies on it, with python-bitcointx (which we are now using for most of the secp256k1 stuff), but it's a non-trivial bit of work and I don't have time right now. I'm not sure why coincurve isn't installing now, I think it must have done in the past.

OvoNemaSmisla commented 3 years ago

Successfully installed coincurve with pip install coincurve.

The installation still fails with following errors:

Building wheels for collected packages: twisted, coincurve, pyaes, urldecode, argon2-cffi, bencoder.pyx, zope.interface, future
  Building wheel for twisted (setup.py) ... done
  Created wheel for twisted: filename=Twisted-20.3.0-cp36-cp36m-linux_aarch64.whl size=3078836 sha256=96682f06a7d41aff0abf188e49306ec1e9b0364511d7316146298e6ebdb601bf
  Stored in directory: /home/user/.cache/pip/wheels/45/9b/0f/0a3b9d4efa96ecc139fb6fa5a172b11ea9f745895236e36017
  Building wheel for coincurve (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/user/joinmarket-clientserver/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8ks46u9a/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8ks46u9a/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-7pbzny_j
       cwd: /tmp/pip-install-8ks46u9a/coincurve/
  Complete output (25 lines):
  running bdist_wheel
  The [wheel] section is deprecated. Use [bdist_wheel] instead.
  running build
  running build_py
  creating build
  creating build/lib.linux-aarch64-3.6
  creating build/lib.linux-aarch64-3.6/coincurve
  copying coincurve/__init__.py -> build/lib.linux-aarch64-3.6/coincurve
  copying coincurve/_windows_libsecp256k1.py -> build/lib.linux-aarch64-3.6/coincurve
  copying coincurve/context.py -> build/lib.linux-aarch64-3.6/coincurve
  copying coincurve/keys.py -> build/lib.linux-aarch64-3.6/coincurve
  copying coincurve/utils.py -> build/lib.linux-aarch64-3.6/coincurve
  copying coincurve/ecdsa.py -> build/lib.linux-aarch64-3.6/coincurve
  copying coincurve/flags.py -> build/lib.linux-aarch64-3.6/coincurve
  running build_ext
  generating cffi module 'build/temp.linux-aarch64-3.6/_libsecp256k1.c'
  creating build/temp.linux-aarch64-3.6
  building '_libsecp256k1' extension
  creating build/temp.linux-aarch64-3.6/build
  creating build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6
  aarch64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -I/home/user/joinmarket-clientserver/jmvenv/include/python3.6m -c build/temp.linux-aarch64-3.6/_libsecp256k1.c -o build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o
  aarch64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o -lsecp256k1 -o build/lib.linux-aarch64-3.6/coincurve/_libsecp256k1.cpython-36m-aarch64-linux-gnu.so
  /usr/bin/ld: cannot find -lsecp256k1
  collect2: error: ld returned 1 exit status
  error: command 'aarch64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for coincurve
  Running setup.py clean for coincurve
  Building wheel for pyaes (setup.py) ... done
  Created wheel for pyaes: filename=pyaes-1.6.1-py3-none-any.whl size=26346 sha256=dad067226cd10caa29fed67d6f7bbed7f2aed2d13c0ab4a198495696e302e029
  Stored in directory: /home/user/.cache/pip/wheels/0b/7a/53/f1d7837e24ac5d8c0d06b7cbe2144be66dc5e7f37e02f5a164
  Building wheel for urldecode (setup.py) ... done
  Created wheel for urldecode: filename=urldecode-0.1-py3-none-any.whl size=1543 sha256=e0dc253142c76e4085e0be12ece200a92f91593214112aba8ccee1fddeb7b552
  Stored in directory: /home/user/.cache/pip/wheels/9b/52/b5/34da44490b0c78379205e8743253bc3c358e48ea84f9a40988
  Building wheel for argon2-cffi (PEP 517) ... done
  Created wheel for argon2-cffi: filename=argon2_cffi-20.1.0-cp36-abi3-linux_aarch64.whl size=83460 sha256=84abec0cefa98e64502f026f2daa5a0176ab6460d331bc6b7ae5c784d4027b28
  Stored in directory: /home/user/.cache/pip/wheels/b0/d3/08/2934319e5d942ed093aa126b91eb5eab77c5a49af021dd7f22
  Building wheel for bencoder.pyx (setup.py) ... done
  Created wheel for bencoder.pyx: filename=bencoder.pyx-2.0.1-cp36-cp36m-linux_aarch64.whl size=169488 sha256=7308091051e8b347e03b815f4502a39c745bbeb30e656c7666445600660a0165
  Stored in directory: /home/user/.cache/pip/wheels/72/3b/7b/1e45fb0f21872df32e1ec62f39ac5a22c489625d49a1e99c5f
  Building wheel for zope.interface (setup.py) ... done
  Created wheel for zope.interface: filename=zope.interface-5.1.0-cp36-cp36m-linux_aarch64.whl size=222624 sha256=b146632decca96b5228410152b31a8497f6b0801d8efe7f9b6c3943b9319e0e1
  Stored in directory: /home/user/.cache/pip/wheels/4d/b1/d4/071ce5e5e22295b5c70b72f4df166ea45f8a60c9374c9feb3c
  Building wheel for future (setup.py) ... done
  Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491059 sha256=94ca35a0c6d927539cc5d52948333cb591ad0c7701be1df13f99b39075ea1549
  Stored in directory: /home/user/.cache/pip/wheels/6e/9c/ed/4499c9865ac1002697793e0ae05ba6be33553d098f3347fb94
Successfully built twisted pyaes urldecode argon2-cffi bencoder.pyx zope.interface future
Failed to build coincurve
Installing collected packages: zope.interface, constantly, incremental, attrs, six, Automat, idna, hyperlink, PyHamcrest, twisted, pycparser, cffi, cryptography, pyasn1, pyasn1-modules, service-identity, future, colorama, chromalog, joinmarketbase, asn1crypto, coincurve, python-bitcointx, pyaes, urldecode, joinmarketbitcoin, mnemonic, argon2-cffi, bencoder.pyx, joinmarketclient, txtorcon, pyopenssl, libnacl, joinmarketdaemon
  Running setup.py develop for joinmarketbase
    Running setup.py install for coincurve ... error
    ERROR: Command errored out with exit status 1:
     command: /home/user/joinmarket-clientserver/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8ks46u9a/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8ks46u9a/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-kvhe7oy3/install-record.txt --single-version-externally-managed --compile --install-headers /home/user/joinmarket-clientserver/jmvenv/include/site/python3.6/coincurve
         cwd: /tmp/pip-install-8ks46u9a/coincurve/
    Complete output (24 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-aarch64-3.6
    creating build/lib.linux-aarch64-3.6/coincurve
    copying coincurve/__init__.py -> build/lib.linux-aarch64-3.6/coincurve
    copying coincurve/_windows_libsecp256k1.py -> build/lib.linux-aarch64-3.6/coincurve
    copying coincurve/context.py -> build/lib.linux-aarch64-3.6/coincurve
    copying coincurve/keys.py -> build/lib.linux-aarch64-3.6/coincurve
    copying coincurve/utils.py -> build/lib.linux-aarch64-3.6/coincurve
    copying coincurve/ecdsa.py -> build/lib.linux-aarch64-3.6/coincurve
    copying coincurve/flags.py -> build/lib.linux-aarch64-3.6/coincurve
    running build_ext
    generating cffi module 'build/temp.linux-aarch64-3.6/_libsecp256k1.c'
    creating build/temp.linux-aarch64-3.6
    building '_libsecp256k1' extension
    creating build/temp.linux-aarch64-3.6/build
    creating build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6
    aarch64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -I/home/user/joinmarket-clientserver/jmvenv/include/python3.6m -c build/temp.linux-aarch64-3.6/_libsecp256k1.c -o build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o
    aarch64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o -lsecp256k1 -o build/lib.linux-aarch64-3.6/coincurve/_libsecp256k1.cpython-36m-aarch64-linux-gnu.so
    /usr/bin/ld: cannot find -lsecp256k1
    collect2: error: ld returned 1 exit status
    error: command 'aarch64-linux-gnu-gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/user/joinmarket-clientserver/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-8ks46u9a/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-8ks46u9a/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-kvhe7oy3/install-record.txt --single-version-externally-managed --compile --install-headers /home/user/joinmarket-clientserver/jmvenv/include/site/python3.6/coincurve Check the logs for full command output.
Joinmarket was not installed. Exiting.

As far as I can see it starts with building wheels for a few packages:

Building wheels for collected packages: twisted, coincurve, pyaes, urldecode, argon2-cffi, bencoder.pyx, zope.interface, future

It manages to create the wheels for all except coincurve:

Building wheel for coincurve (setup.py) ... error ... ERROR: Failed building wheel for coincurve

Then it tries to install all the packages and crashes when it gets to coincurve:

Running setup.py install for coincurve ... error ... /usr/bin/ld: cannot find -lsecp256k1 collect2: error: ld returned 1 exit status error: command 'aarch64-linux-gnu-gcc' failed with exit status 1

ghost commented 3 years ago

(edited to remove unrelated stuff)

I'm having a similar issue when attempting to install on FreeBSD. Same as above, when building building coincurve it fails with the following output:

Collecting coincurve
  Using cached coincurve-13.0.0.tar.gz (961 kB)
Requirement already satisfied: asn1crypto in ./jmvenv/lib/python3.7/site-packages (from coincurve) (1.4.0)
Requirement already satisfied: cffi>=1.3.0 in ./jmvenv/lib/python3.7/site-packages (from coincurve) (1.14.3)
Requirement already satisfied: pycparser in ./jmvenv/lib/python3.7/site-packages (from cffi>=1.3.0->coincurve) (2.20)
Building wheels for collected packages: coincurve
  Building wheel for coincurve (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/joinmarket/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-x2qaf5y4/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-x2qaf5y4/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-wz3evbic
       cwd: /tmp/pip-install-x2qaf5y4/coincurve/
  Complete output (27 lines):
  Warning: 'keywords' should be a list, got type 'tuple'
  running bdist_wheel
  The [wheel] section is deprecated. Use [bdist_wheel] instead.
  running build
  running build_py
  creating build
  creating build/lib.freebsd-12.1-RELEASE-amd64-3.7
  creating build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
  copying coincurve/flags.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
  copying coincurve/context.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
  copying coincurve/_windows_libsecp256k1.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
  copying coincurve/ecdsa.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
  copying coincurve/utils.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
  copying coincurve/keys.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
  copying coincurve/__init__.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
  running build_ext
  generating cffi module 'build/temp.freebsd-12.1-RELEASE-amd64-3.7/_libsecp256k1.c'
  creating build/temp.freebsd-12.1-RELEASE-amd64-3.7
  building '_libsecp256k1' extension
  creating build/temp.freebsd-12.1-RELEASE-amd64-3.7/build
  creating build/temp.freebsd-12.1-RELEASE-amd64-3.7/build/temp.freebsd-12.1-RELEASE-amd64-3.7
  cc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -I/usr/local/include/python3.7m -c build/temp.freebsd-12.1-RELEASE-amd64-3.7/_libsecp256k1.c -o build/temp.freebsd-12.1-RELEASE-amd64-3.7/build/temp.freebsd-12.1-RELEASE-amd64-3.7/_libsecp256k1.o
  build/temp.freebsd-12.1-RELEASE-amd64-3.7/_libsecp256k1.c:569:10: fatal error: 'secp256k1.h' file not found
  #include <secp256k1.h>
           ^~~~~~~~~~~~~
1 error generated.
  error: command 'cc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for coincurve
  Running setup.py clean for coincurve
Failed to build coincurve
Installing collected packages: coincurve
    Running setup.py install for coincurve ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/joinmarket/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-x2qaf5y4/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-x2qaf5y4/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-39c_fjnb/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/bin/joinmarket/jmvenv/include/site/python3.7/coincurve
         cwd: /tmp/pip-install-x2qaf5y4/coincurve/
    Complete output (26 lines):
    Warning: 'keywords' should be a list, got type 'tuple'
    running install
    running build
    running build_py
    creating build
    creating build/lib.freebsd-12.1-RELEASE-amd64-3.7
    creating build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
    copying coincurve/flags.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
    copying coincurve/context.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
    copying coincurve/_windows_libsecp256k1.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
    copying coincurve/ecdsa.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
    copying coincurve/utils.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
    copying coincurve/keys.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
    copying coincurve/__init__.py -> build/lib.freebsd-12.1-RELEASE-amd64-3.7/coincurve
    running build_ext
    generating cffi module 'build/temp.freebsd-12.1-RELEASE-amd64-3.7/_libsecp256k1.c'
    creating build/temp.freebsd-12.1-RELEASE-amd64-3.7
    building '_libsecp256k1' extension
    creating build/temp.freebsd-12.1-RELEASE-amd64-3.7/build
    creating build/temp.freebsd-12.1-RELEASE-amd64-3.7/build/temp.freebsd-12.1-RELEASE-amd64-3.7
    cc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fPIC -I/usr/local/include/python3.7m -c build/temp.freebsd-12.1-RELEASE-amd64-3.7/_libsecp256k1.c -o build/temp.freebsd-12.1-RELEASE-amd64-3.7/build/temp.freebsd-12.1-RELEASE-amd64-3.7/_libsecp256k1.o
    build/temp.freebsd-12.1-RELEASE-amd64-3.7/_libsecp256k1.c:569:10: fatal error: 'secp256k1.h' file not found
    #include <secp256k1.h>
             ^~~~~~~~~~~~~
    1 error generated.
    error: command 'cc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/joinmarket/jmvenv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-x2qaf5y4/coincurve/setup.py'"'"'; __file__='"'"'/tmp/pip-install-x2qaf5y4/coincurve/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-39c_fjnb/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/bin/joinmarket/jmvenv/include/site/python3.7/coincurve Check the logs for full command output.

So not exactly the same, but very close:

fatal error: 'secp256k1.h' file not found

kristapsk commented 3 years ago

@bektar, I tested in July with FreeBSD 12.1 and in theory all you should do now before running install.sh is pkg install bash python py37-virtualenv autotools gmake gcc pkgconf py-sqlite3 py37-sqlite3, see #630.

ghost commented 3 years ago

@kristapsk that works mostly, but when following the steps found under the heading "Alternative/custom installation" on https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/INSTALL.md it fails.

i.e. the commands

/usr/local/bin/bash -c "source $INTERNAL_BIN_PATH/jmvenv/bin/activate; python setupall.py --daemon"
/usr/local/bin/bash -c "source $INTERNAL_BIN_PATH/jmvenv/bin/activate; python setupall.py --client-bitcoin"

and specifically the "python setupall.py --client-bitcoin" one

ghost commented 3 years ago

Ehm, and please ignore the extra cruft around it, it is basically to make my scripts prettier and reusable. It doesn't affect anything pertinent to this (i.e. if i manually enter the venv and run the commands the result is the same)

AdamISZ commented 3 years ago

@bektar First, yes secp256k1-py is no longer relevant, we replaced it with coincurve, second I think since you're installing on a different system then please open a separate issue to discuss that and remove the above, because it'll make this Issue very confusing for readers (especially with the secp stuff which isn't relevant to either issue).

AdamISZ commented 3 years ago

@OvoNemaSmisla I haven't commented further since your last update because I don't know what's actually happening here.

I was hoping that someone like @openoms , i.e. more specifically someone who does install Joinmarket on RPi (I don't/haven't) would chime in, since clearly the process was working correctly at some point (perhaps still is? it seems many people have done it), and I'm not aware of what have might changed. In particular on pip install coincurve, that is exactly what should happen as a result of this line:

https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/jmbitcoin/setup.py#L13

... so I can't understand why it isn't working during install if it works manually otherwise.

One idea occurs to me, depending on the distro, the default python, and pip, may be python2 not 3, that is just a low-probability guess as to why the pip installation of coincurve works outside of the install (the install is all python3 now).

Come to think of it, that is the biggest/most important difference between 0.7.0 Joinmarket and the previous versions - we've switched to requiring python3.6+ (see release notes) and cannot use py3.5 any more. Does 0.6.3.1 install OK?

ghost commented 3 years ago

Yeah, it started to feel a bit off topic. But there is some connection due to it appears as if coincurve fails to build due to

…
aarch64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_libsecp256k1.o -lsecp256k1 -o build/lib.linux-aarch64-3.6/coincurve/_libsecp256k1.cpython-36m-aarch64-linux-gnu.so
  /usr/bin/ld: cannot find -lsecp256k1
…

Anyway, I'll open a different issue and reference this one from there

AdamISZ commented 3 years ago

Hmm, perhaps I was wrong then. But maybe just remove the secp stuff.

ghost commented 3 years ago

I'll edit my posts… just need to figure out in what way. Right now when I'm running python setupall.py --client-bitcoin again I actually got no errors. Going to reset the system and start over and try to figure out what the hell is going on. I'm sure it is my fault somehow, just now how.

kristapsk commented 3 years ago

@bektar , why do you want to use python setupall.py, not install.sh?

ghost commented 3 years ago

@kristapsk I'll move all the purely freebsd related stuff to #630

Not sure if this is of any help to the actual topic, but might be. I suspect the error can be solved on freebsd by installing py37-secp256k1 and/or py37-coincurve, and then opening a new shell. After installing them it still didn't work, but opening a new bash and running "source jmvenv/bin/activate" again I can now run "python setupall.py --client-bitcoin" without errors. (Still figuring out the specifics)

No idea if there are any similar packages to be found for aarch64 though.

openoms commented 3 years ago

@waxwing on the RPi (with the most popular Debian based Raspberry OS) the environment is 32bit armv7l using armhf packages.

This Odroid board is running a 64 bit aarch64 OS which is less tested, but should be supported.

Regarding the problematic package you can try to install the package with apt or find an alternative one for pip, install it globally and use --system-site-packages with the jmvenv. Would need to import that specific package every time when activating the virtual environment.

Example of this is here to replace the missing pyQT5 dependencies for armhf: https://github.com/openoms/joininbox/blob/master/scripts/install.joinmarket.sh#L15

AdamISZ commented 3 years ago

@openoms are you able to install 0.7.0 OK?

ghost commented 3 years ago

Another quick update from my end, I've managed to run "python setupall.py --client-bitcoin" without errors at least twice, but I cannot figure out how to reproduce it. My conjecture above doesn't seem to be correct, and that is just about as much as I can conclude atm.

What makes this much more frustrating is I'm basically running everything from a script and then resetting the jail after each try, but it still sometimes works and sometimes doesn't. Anyway, I'm going to step away from the computer now for a while and will try to get back to you later once I have more conclusive data.

Off topic: Is there any irc channel or discord or something similar where you guys communicate? It feels like most of what I'm writing turns out to be wrong, and I don't like editing or deleting posts since it makes the conversation so strange.

kristapsk commented 3 years ago

@AdamISZ 0.7.0 works ok with standard 32-bit RPi, I tested before bumping version in my raspibolt-extras JM guide, problem is only on aarch64 (64-bit ARM).

kristapsk commented 3 years ago

@kristapsk I'll move all the purely freebsd related stuff to #630

Better open new issue, that one is closed PR to add FreeBSD compatibility to install.sh. It was tested both by me and @jules23 and it worked.

AdamISZ commented 3 years ago

Is there any irc channel or discord or something similar where you guys communicate? It feels like most of what I'm writing turns out to be wrong

Yes, #joinmarket on freenode

OvoNemaSmisla commented 3 years ago

@OvoNemaSmisla I haven't commented further since your last update because I don't know what's actually happening here.

I was hoping that someone like @openoms , i.e. more specifically someone who does install Joinmarket on RPi (I don't/haven't) would chime in, since clearly the process was working correctly at some point (perhaps still is? it seems many people have done it), and I'm not aware of what have might changed. In particular on pip install coincurve, that is exactly what should happen as a result of this line:

https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/jmbitcoin/setup.py#L13

... so I can't understand why it isn't working during install if it works manually otherwise.

One idea occurs to me, depending on the distro, the default python, and pip, may be python2 not 3, that is just a low-probability guess as to why the pip installation of coincurve works outside of the install (the install is all python3 now).

Come to think of it, that is the biggest/most important difference between 0.7.0 Joinmarket and the previous versions - we've switched to requiring python3.6+ (see release notes) and cannot use py3.5 any more. Does 0.6.3.1 install OK?

@AdamISZ I got 2 versions of pyton:

user@odroid:~$ python2 -V
Python 2.7.17
user@odroid:~$ python3 -V
Python 3.6.9

Default version was 2.7.17, so I've changed it with update-alternatives to 3.6.9.

I'll try to pip install coincurve to check if it is successful and will also try the version 0.6.3.1.

Regarding the problematic package you can try to install the package with apt or find an alternative one for pip, install it globally and use --system-site-packages with the jmvenv. Would need to import that specific package every time when activating the virtual environment.

@openoms I'd like to try your suggestion also, but don't know which package are you referring to.

OvoNemaSmisla commented 3 years ago

I've tried the install with default python version changed to 3.6.9 but no success. The same issue happens.

I've ran pip install coincurve and it was successful again with following output:

pip install coincurve
Collecting coincurve
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/cf/d2/93372689e3054b8f0b8c                                                                                                                                                             1946706c2d8f66a233b6200a2042f485b38871fd/coincurve-13.0.0.tar.gz (961kB)
    100% |################################| 962kB 596kB/s
Collecting asn1crypto (from coincurve)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/b5/a8/56be92dcd4a5bf199870                                                                                                                                                             5a9b4028249fe7c9a035b955fe93b6a3e5b829f8/asn1crypto-1.4.0-py2.py3-none-any.whl (                                                                                                                                                             104kB)
    100% |################################| 112kB 1.6MB/s
Collecting cffi>=1.3.0 (from coincurve)
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/cb/ae/380e33d621ae30177035                                                                                                                                                             8eb11a896a34c34f30db188847a561e8e39ee866/cffi-1.14.3.tar.gz (470kB)
    100% |################################| 471kB 1.1MB/s
Collecting pycparser (from cffi>=1.3.0->coincurve)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024deb                                                                                                                                                             f82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl (11                                                                                                                                                             2kB)
    100% |################################| 112kB 3.4MB/s
Building wheels for collected packages: coincurve, cffi
  Running setup.py bdist_wheel for coincurve ... done
  Stored in directory: /home/truly/.cache/pip/wheels/e5/6c/ed/d374aca4f0f08c17f15db41d54065b016b89a56d328525eb34
  Running setup.py bdist_wheel for cffi ... done
  Stored in directory: /home/truly/.cache/pip/wheels/61/02/c7/1d824371b744863db703d79708fc7f4c3bfa79da15b5aa9171
Successfully built coincurve cffi
Installing collected packages: asn1crypto, pycparser, cffi, coincurve
Successfully installed asn1crypto-1.4.0 cffi-1.14.3 coincurve-13.0.0 pycparser-2.20

The last thing I tried is to install 0.6.3.1 version and it was successful.

openoms commented 3 years ago

pip install coincurve solves the above issue in some cases.

I have coincurve 13.0.0 installed for the user and the joinmarket install.sh takes that the requiremenet is already satisfied.

Odroid C4 running 64bit Armbian Focal with Python 3.8.5:

$ uname -a
Linux odroidc4 5.8.5-meson64 #20.08.1 SMP PREEMPT Tue Sep 1 18:47:20 CEST 2020 aarch64 aarch64 aarch64 GNU/Linux

Odroid HC2 running 32bit Armbian Buster with an older kernel and Python 3.7.3:

$ uname -a
Linux odroidxu4 4.14.141-odroidxu4 #10 SMP PREEMPT Mon Sep 2 01:52:32 CEST 2019 armv7l GNU/Linux

Strange because the coincurve version is not pinned: https://github.com/JoinMarket-Org/joinmarket-clientserver=/blob/be117fca202b3edfd226143247f7ab3e7110ab3e/jmbitcoin/setup.py#L13 , so it is not clear why installing for the system makes a difference.

For the record all the dependencies installed for coincurve are:

sudo apt install build-essential automake pkg-config libtool libffi-dev python3-dev libgmp-dev  
pip install asn1crypto cffi pycparser coincurve

Would worth to add all these to the installation to avoid obscure missing packages.

ketominer commented 3 years ago

not related to systemwide or not, I just did . jmvenv/bin/activate pip install coincurve exit ./install.sh again and that worked for me (answer no to all questions)

libffi and headers are compiled and installed just becore coincurve in install.sh so you should not need the system package

kristapsk commented 3 years ago

@ketominer Sounds very strange and kinda makes no sense, coincurve is just dependency of jmbitcoin and should be installed by install.sh. @openoms reminded me that RPi3 has aarch64 capable board, maybe I should try to reproduce with a different SD card with 64-bit Linux and try figure out what's happening there.

ketominer commented 3 years ago

yes definitely strange!

OvoNemaSmisla commented 3 years ago

I was running 0.6.3.1 version for a few weeks without any problems.

After reading previous posts, I tried to upgrade to 0.7.2 version and it was successful.

I'm not sure if sudo -u joinmarket pip install coincurve or adding the dependencies resolved the issue, but it's working now.

openoms commented 3 years ago

@kristapsk @ketominer do you see any issue with skipping to build libffi from source if it is already present systemwide?

Running sudo apt install libffi-dev before installing coincurve helped my aarch64 Focal build and libffi is installed with apt for example for Specter too.

AdamISZ commented 3 years ago

@OvoNemaSmisla @openoms is there anything actionable here still, or should it be closed?

openoms commented 3 years ago

Looks like and edge case and unclear what the solution was here so can be closed. Will reopen if can reproduce it reliably.

kristapsk commented 3 years ago

@openoms So you are able to install JM on aarch64 Linux without any issues now? From my part the problem was that I didn't have aarch64 Linux to reproduce. There is related issue https://github.com/kristapsk/raspibolt-extras/issues/5.

openoms commented 3 years ago

As detailed above the install scripts in both raspiblitz
https://github.com/rootzoll/raspiblitz/blob/64ee445b251ad3f59609e5f3cbcb24cd0e7ce664/home.admin/config.scripts/bonus.joinmarket.sh#L104 and joininbox: https://github.com/openoms/joininbox/blob/7b0022ec368c9329ecc763d5ca85ac4e06261386/scripts/_functions.sh#L169 add a bunch of dependencies:

  # PySide2 for armf: https://packages.debian.org/buster/python3-pyside2.qtcore
  echo "# installing ARM specific dependencies to run the QT GUI"
  sudo apt install -y python3-pyside2.qtcore python3-pyside2.qtgui \
  python3-pyside2.qtwidgets zlib1g-dev libjpeg-dev python3-pyqt5 libltdl-dev
  # https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/668#issuecomment-717815719
  sudo apt -y install build-essential automake pkg-config libffi-dev python3-dev libgmp-dev 
  sudo -u joinmarket pip install libtool asn1crypto cffi pycparser coincurve

RaspiBlitz (and likely RaspiBolt too) will be based on the 64bit RaspberryOS (https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-08-24/) in the future: https://github.com/rootzoll/raspiblitz/issues/1199#issuecomment-736564381. Still deciding for the best base image for a JoininBox SDcard image, will likely test this on to be consistent with 64bit and use Debian with minimal bloat: https://raspi.debian.net/

OvoNemaSmisla commented 3 years ago

For me, the 0.7.2 version worked. I'm not sure why, the system hasn't changed.

The reason might be the additional dependencies that 0.7.2 version has?

All in all, JM has been working for me without problems for a month now and this can be closed as far as I'm concerned.

openoms commented 3 years ago

Now getting an issue on the aarch64 RaspberryOS coming down to this cffi version mismatch:

    Exception: Version mismatch: this is the 'cffi' package version 1.14.4, located in '/tmp/pip-build-env-fch4c0zj/overlay/lib/python3.7/site-packages/cffi/api.py'.  When we import the top-level '_cffi_backend' extension module, we get version 1.12.2, located in '/usr/lib/python3/dist-packages/_cffi_backend.cpython-37m-aarch64-linux-gnu.so'.  The two versions should be equal; check your installation.

As it looks argon2-cffi-20.1.0 pulls a different version (v1.12.2) of cffi than what coincurve uses (v1.14.4). How can I pin the versions of cffi separately?

Detailed logs are linked in: https://github.com/rootzoll/raspiblitz/issues/1851#issuecomment-740598085

AdamISZ commented 3 years ago

With a fresh install, I'm getting:

pip show cffi
Name: cffi
Version: 1.14.4
Summary: Foreign Function Interface for Python calling C code.
Home-page: http://cffi.readthedocs.org
Author: Armin Rigo, Maciej Fijalkowski
Author-email: python-cffi@googlegroups.com
License: MIT
Location: /home/waxwing/testjm2/joinmarket-clientserver/jmvenv/lib/python3.6/site-packages
Requires: pycparser
Required-by: cryptography, coincurve, argon2-cffi
(jmvenv) waxwing@here~/testjm2/joinmarket-clientserver/scripts$ pip show argon2-cffi
Name: argon2-cffi
Version: 20.1.0
Summary: The secure Argon2 password hashing algorithm.
Home-page: https://argon2-cffi.readthedocs.io/
Author: Hynek Schlawack
Author-email: hs@ox.cx
License: MIT
Location: /home/waxwing/testjm2/joinmarket-clientserver/jmvenv/lib/python3.6/site-packages
Requires: cffi, six
Required-by: joinmarketclient

(and it works of course)

So I'm not seeing "As it looks argon2-cffi-20.1.0 pulls a different version (v1.12.2) of cffi" ; so is this ARM specific or is there just some mistake somewhere? 1.14.4 seems to simply be the latest version.

For argon2-cffi doesn't this mean anything above 1.0 should be OK? https://github.com/hynek/argon2-cffi/blob/master/setup.py#L103

And in coincurve I'm seeing: https://github.com/ofek/coincurve/blob/master/setup.py#L268 , i.e. it's not pinning specifically 1.14.4 ? (as above, it's just latest I think)

openoms commented 3 years ago

Thank you for looking into it. Managed to fix it by removing the conflicting cached file: sudo rm /usr/lib/python3/dist-packages/_cffi_backend.cpython-37m-aarch64-linux-gnu.so Should not be an issue on a new install.

Works well again on aarch64 (64bit ARM).

AdamISZ commented 3 years ago

Thanks, good to hear. I'd like to understand better, though the error message/exception you got was pretty clear as to the cause of the problem, but not .. the cause of the cause of the problem if you see what I mean :) Is the problem that we are picking up a global cffi_backend module instead of installing it inside our own installation environment? (venv)

AdamISZ commented 3 years ago

@openoms is there anything still actionable here or should we close it?

openoms commented 3 years ago

I had no installation issues with the more recent versions and some of my custom changes were addressed in other PRs so I don't feel this issue being relevant any more.

BonnGerarman commented 1 year ago

Good day, from what I've read here, I've decided to type on my terminal pip install coincurve==13.0.0 and it was successfully installed, then after that I also tried installing the pip install bit and it finally successfully installed bit too. Thank you so much!