Upgrade from 0.13 to 0.14 on Mac OS X 10.11.6 - Python 2.7.13

Hi,
I’ve been away from the pulse since around the time that 0.14 released.
Today I tried to upgrade form 0.13 to 0.14 and I am having some compile errors.
If anyone can assist in resolving I would greatly appreciate it.
FYI I also have some btc and some .id assets that I would not want to lose, so advice on private keys etc. would be helpful.

I encountered a clang compile error where it can’t find gmp.h.

Here’s the output:

clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Isrc/ -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/curveMath.c -o build/temp.macosx-10.11-x86_64-2.7/src/curveMath.o -O2
            In file included from src/curveMath.c:1:
            src/curveMath.h:6:10: fatal error: 'gmp.h' file not found
            #include <gmp.h>
                     ^
            1 error generated.
            error: command 'clang' failed with exit status 1
            
            ----------------------------------------
        Command "/usr/local/opt/python/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-build-dzojek/fastecdsa/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-_Wurr7-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-build-dzojek/fastecdsa/

Thanks - way more details below.
-james


I had 0.13 installed:

Blockstack cli version 0.0.13.24

I used this overall process to move to 0.14:

  • upgrade my brew install
  • upgrade my python (2.7.13)
  • upgrade my pip and setup tools
  • upgrade my blockstack cli

Here’s what I did:

$ brew upgrade
Updating Homebrew...
[... lots of stuff here ...]
$

Then I ran brew upgrade again, to be sure all was up to date.

$ brew upgrade
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (caskroom/cask).
$

I then checked to see the version of python I had:

$ brew info python
python: stable 2.7.13 (bottled), HEAD
Interpreted, interactive, object-oriented programming language
https://www.python.org
/usr/local/Cellar/python/2.7.12 (6,288 files, 85.3MB)
[... lots of info here ...]
Pip and setuptools have been installed. To update them
  pip install --upgrade pip setuptools

You can install Python packages with
  pip install <package>

They will install into the site-package directory
  /usr/local/lib/python2.7/site-packages

See: http://docs.brew.sh/Homebrew-and-Python.html

$

Then, to ensure python and pip were up to date:

$ brew upgrade python
Error: python 2.7.13 already installed
$ pip install --upgrade pip setuptoolsj
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages
Collecting setuptools
  Downloading setuptools-34.3.3-py2.py3-none-any.whl (389kB)
[... more output here ...]
Successfully installed appdirs-1.4.3 pyparsing-2.2.0 setuptools-34.3.3 six-1.10.0
$

I then did a plain install of blockstack (perhaps this was a wrong thing to do?) - here is full output:

$ pip install blockstack
Requirement already satisfied: blockstack in /usr/local/lib/python2.7/site-packages
Requirement already satisfied: virtualchain>=0.0.13.0 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: protocoin>=0.1 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: blockstack-profiles>=0.4.4 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: pybitcoin>=0.9.9 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: blockstack-zones>=0.1.6 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: blockstack-storage-drivers>=0.0.13.6 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: blockstack-utxo>=0.0.13.0 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: defusedxml>=0.4.1 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: keylib>=0.0.5 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: mixpanel>=4.3.1 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: pycrypto>=2.6.1 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already satisfied: bitcoin>=1.1.42 in /usr/local/lib/python2.7/site-packages (from virtualchain>=0.0.13.0->blockstack)
Requirement already satisfied: python-bitcoinrpc==0.1 in /usr/local/lib/python2.7/site-packages (from virtualchain>=0.0.13.0->blockstack)
Requirement already satisfied: utilitybelt>=0.2.6 in /usr/local/lib/python2.7/site-packages (from virtualchain>=0.0.13.0->blockstack)
Requirement already satisfied: ecdsa>=0.10 in /usr/local/lib/python2.7/site-packages (from protocoin>=0.1->blockstack)
Requirement already satisfied: cryptography>=1.2.3 in /usr/local/lib/python2.7/site-packages (from blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: jsontokens>=0.0.2 in /usr/local/lib/python2.7/site-packages (from blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: requests>=2.4.3 in /usr/local/lib/python2.7/site-packages (from pybitcoin>=0.9.9->blockstack)
Requirement already satisfied: commontools==0.1.0 in /usr/local/lib/python2.7/site-packages (from pybitcoin>=0.9.9->blockstack)
Requirement already satisfied: keychain>=0.1.4 in /usr/local/lib/python2.7/site-packages (from pybitcoin>=0.9.9->blockstack)
Requirement already satisfied: boto>=2.38.0 in /usr/local/lib/python2.7/site-packages (from blockstack-storage-drivers>=0.0.13.6->blockstack)
Requirement already satisfied: basicrpc>=0.0.2 in /usr/local/lib/python2.7/site-packages (from blockstack-storage-drivers>=0.0.13.6->blockstack)
Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python2.7/site-packages (from mixpanel>=4.3.1->blockstack)
Requirement already satisfied: setuptools>=11.3 in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: pyasn1>=0.1.8 in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: cffi>=1.4.1 in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: enum34 in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: ipaddress in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: idna>=2.0 in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: bitmerchant>=0.1.8 in /usr/local/lib/python2.7/site-packages (from keychain>=0.1.4->pybitcoin>=0.9.9->blockstack)
Requirement already satisfied: packaging>=16.8 in /usr/local/lib/python2.7/site-packages (from setuptools>=11.3->cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: appdirs>=1.4.0 in /usr/local/lib/python2.7/site-packages (from setuptools>=11.3->cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: pycparser in /usr/local/lib/python2.7/site-packages (from cffi>=1.4.1->cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
Requirement already satisfied: base58>=0.2.1 in /usr/local/lib/python2.7/site-packages (from bitmerchant>=0.1.8->keychain>=0.1.4->pybitcoin>=0.9.9->blockstack)
Requirement already satisfied: cachetools>=1.1.1 in /usr/local/lib/python2.7/site-packages (from bitmerchant>=0.1.8->keychain>=0.1.4->pybitcoin>=0.9.9->blockstack)
Requirement already satisfied: pyparsing in /usr/local/lib/python2.7/site-packages (from packaging>=16.8->setuptools>=11.3->cryptography>=1.2.3->blockstack-profiles>=0.4.4->blockstack)
$

Then checked version with and got:

$ blockstack -h
usage: blockstack [-h]
[ ... other stuff ... ]
Blockstack cli version 0.0.13.24
[ ... other stuff ... ]
$

Then I noticed something about using ‘sudo’ when installing blockstack, so I did that and noticed a message that suggested using -H for sudo on mac, so I did that… and had similar results to first install, so I then went on to try --upgrade to see if I would get an install of 0.14. This is where I ran into the compile error.

Here’s the output:

$ pip install --upgrade blockstack
Collecting blockstack
  Downloading blockstack-0.14.1.3.tar.gz (338kB)
    100% |████████████████████████████████| 348kB 1.9MB/s 
Collecting virtualchain>=0.14.1 (from blockstack)
  Downloading virtualchain-0.14.1.1.tar.gz (40kB)
    100% |████████████████████████████████| 40kB 5.8MB/s 
Requirement already up-to-date: keychain>=0.1.4 in /usr/local/lib/python2.7/site-packages (from blockstack)
Requirement already up-to-date: protocoin>=0.2 in /usr/local/lib/python2.7/site-packages (from blockstack)
Collecting blockstack-profiles>=0.14.1 (from blockstack)
  Downloading blockstack-profiles-0.14.1.tar.gz
Requirement already up-to-date: pybitcoin>=0.9.9 in /usr/local/lib/python2.7/site-packages (from blockstack)
Collecting blockstack-zones>=0.14.1 (from blockstack)
  Downloading blockstack-zones-0.14.1.tar.gz
Collecting defusedxml>=0.4.1 (from blockstack)
  Downloading defusedxml-0.5.0-py2.py3-none-any.whl
Collecting keylib>=0.0.5 (from blockstack)
  Downloading keylib-0.1.0.tar.gz
Collecting mixpanel>=4.3.1 (from blockstack)
  Downloading mixpanel-4.3.2-py2.py3-none-any.whl
Requirement already up-to-date: pycrypto>=2.6.1 in /usr/local/lib/python2.7/site-packages (from blockstack)
Collecting simplejson>=3.8.2 (from blockstack)
  Downloading simplejson-3.10.0.tar.gz (77kB)
    100% |████████████████████████████████| 81kB 3.3MB/s 
Collecting jsonschema>=2.5.1 (from blockstack)
  Downloading jsonschema-2.6.0-py2.py3-none-any.whl
Collecting fastecdsa>=1.3.2 (from blockstack)
  Downloading fastecdsa-1.4.2.tar.gz
Requirement already up-to-date: basicrpc>=0.0.2 in /usr/local/lib/python2.7/site-packages (from blockstack)
Collecting boto>=2.38.0 (from blockstack)
  Downloading boto-2.46.1-py2.py3-none-any.whl (1.4MB)
    100% |████████████████████████████████| 1.4MB 660kB/s 
Collecting dropbox>=7.1.1 (from blockstack)
  Downloading dropbox-7.2.1-py2-none-any.whl (302kB)
    100% |████████████████████████████████| 307kB 2.1MB/s 
Requirement already up-to-date: bitcoin>=1.1.42 in /usr/local/lib/python2.7/site-packages (from virtualchain>=0.14.1->blockstack)
Requirement already up-to-date: utilitybelt>=0.2.6 in /usr/local/lib/python2.7/site-packages (from virtualchain>=0.14.1->blockstack)
Requirement already up-to-date: bitmerchant>=0.1.8 in /usr/local/lib/python2.7/site-packages (from keychain>=0.1.4->blockstack)
Requirement already up-to-date: ecdsa>=0.10 in /usr/local/lib/python2.7/site-packages (from protocoin>=0.2->blockstack)
Collecting cryptography>=1.2.3 (from blockstack-profiles>=0.14.1->blockstack)
  Downloading cryptography-1.8.1-cp27-cp27m-macosx_10_10_intel.whl (1.8MB)
    100% |████████████████████████████████| 1.8MB 505kB/s 
Requirement already up-to-date: jsontokens>=0.0.2 in /usr/local/lib/python2.7/site-packages (from blockstack-profiles>=0.14.1->blockstack)
Collecting warlock>=1.3.0 (from blockstack-profiles>=0.14.1->blockstack)
  Downloading warlock-1.3.0.tar.gz
Requirement already up-to-date: six>=1.10.0 in /usr/local/lib/python2.7/site-packages (from blockstack-profiles>=0.14.1->blockstack)
Collecting requests>=2.4.3 (from pybitcoin>=0.9.9->blockstack)
  Downloading requests-2.13.0-py2.py3-none-any.whl (584kB)
    100% |████████████████████████████████| 593kB 1.3MB/s 
Requirement already up-to-date: commontools==0.1.0 in /usr/local/lib/python2.7/site-packages (from pybitcoin>=0.9.9->blockstack)
Requirement already up-to-date: python-bitcoinrpc==0.1 in /usr/local/lib/python2.7/site-packages (from pybitcoin>=0.9.9->blockstack)
Collecting functools32; python_version == "2.7" (from jsonschema>=2.5.1->blockstack)
  Downloading functools32-3.2.3-2.zip
Collecting typing>=3.5.2 (from dropbox>=7.1.1->blockstack)
  Downloading typing-3.6.1.tar.gz (66kB)
    100% |████████████████████████████████| 71kB 3.2MB/s 
Collecting urllib3 (from dropbox>=7.1.1->blockstack)
  Downloading urllib3-1.20-py2.py3-none-any.whl (111kB)
    100% |████████████████████████████████| 112kB 3.8MB/s 
Collecting base58>=0.2.1 (from bitmerchant>=0.1.8->keychain>=0.1.4->blockstack)
  Downloading base58-0.2.5-py2-none-any.whl
Requirement already up-to-date: cachetools>=1.1.1 in /usr/local/lib/python2.7/site-packages (from bitmerchant>=0.1.8->keychain>=0.1.4->blockstack)
Requirement already up-to-date: setuptools>=11.3 in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
Collecting cffi>=1.4.1 (from cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
  Downloading cffi-1.10.0-cp27-cp27m-macosx_10_6_intel.whl (226kB)
    100% |████████████████████████████████| 235kB 2.5MB/s 
Collecting idna>=2.1 (from cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
  Downloading idna-2.5-py2.py3-none-any.whl (55kB)
    100% |████████████████████████████████| 61kB 3.1MB/s 
Requirement already up-to-date: enum34 in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
Collecting asn1crypto>=0.21.0 (from cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
  Downloading asn1crypto-0.22.0-py2.py3-none-any.whl (97kB)
    100% |████████████████████████████████| 102kB 3.2MB/s 
Collecting ipaddress (from cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
  Downloading ipaddress-1.0.18-py2-none-any.whl
Requirement already up-to-date: packaging in /usr/local/lib/python2.7/site-packages (from cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
Collecting jsonpatch<2,>=0.10 (from warlock>=1.3.0->blockstack-profiles>=0.14.1->blockstack)
  Downloading jsonpatch-1.15-py2.py3-none-any.whl
Requirement already up-to-date: appdirs>=1.4.0 in /usr/local/lib/python2.7/site-packages (from setuptools>=11.3->cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
Collecting pycparser (from cffi>=1.4.1->cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
  Downloading pycparser-2.17.tar.gz (231kB)
    100% |████████████████████████████████| 235kB 2.5MB/s 
Requirement already up-to-date: pyparsing in /usr/local/lib/python2.7/site-packages (from packaging->cryptography>=1.2.3->blockstack-profiles>=0.14.1->blockstack)
Collecting jsonpointer>=1.9 (from jsonpatch<2,>=0.10->warlock>=1.3.0->blockstack-profiles>=0.14.1->blockstack)
  Downloading jsonpointer-1.10-py2-none-any.whl
Building wheels for collected packages: blockstack, virtualchain, blockstack-profiles, blockstack-zones, keylib, simplejson, fastecdsa, warlock, functools32, typing, pycparser
  Running setup.py bdist_wheel for blockstack ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/85/2e/08/546e204ad2f424848a00c69f84030442b6b86e21c51ccff03a
  Running setup.py bdist_wheel for virtualchain ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/15/d1/fd/07aac3e1f7ce11f6fcc23ba16248571a1dd6147588395b0574
  Running setup.py bdist_wheel for blockstack-profiles ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/00/84/bd/611328585bbcf83631b2f054d682db04a9ce43d2c34a5f5928
  Running setup.py bdist_wheel for blockstack-zones ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/b5/2d/1c/997aa0ea79149ba98395a2560e76d527874989b3b922d6cbf0
  Running setup.py bdist_wheel for keylib ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/b0/a9/68/556d14d978c8837933276646ce1877071a09b0586aa07a1908
  Running setup.py bdist_wheel for simplejson ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/43/c5/ef/edcebbb19becffd2ba75bf219afdbb4ca85198b2d909f1b31b
  Running setup.py bdist_wheel for fastecdsa ... error
  Complete output from command /usr/local/opt/python/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-build-dzojek/fastecdsa/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 /var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/tmpPkdI7Fpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.11-x86_64-2.7
  creating build/lib.macosx-10.11-x86_64-2.7/fastecdsa
  copying fastecdsa/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
  copying fastecdsa/curve.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
  copying fastecdsa/ecdsa.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
  copying fastecdsa/keys.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
  copying fastecdsa/point.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
  copying fastecdsa/test.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
  copying fastecdsa/util.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
  running build_ext
  building 'fastecdsa.curvemath' extension
  creating build/temp.macosx-10.11-x86_64-2.7
  creating build/temp.macosx-10.11-x86_64-2.7/src
  clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Isrc/ -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/curveMath.c -o build/temp.macosx-10.11-x86_64-2.7/src/curveMath.o -O2
  In file included from src/curveMath.c:1:
  src/curveMath.h:6:10: fatal error: 'gmp.h' file not found
  #include <gmp.h>
           ^
  1 error generated.
  error: command 'clang' failed with exit status 1
  
  ----------------------------------------
  Failed building wheel for fastecdsa
  Running setup.py clean for fastecdsa
  Running setup.py bdist_wheel for warlock ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/30/fb/b4/9e2241eab889a3b8964b9f2b7cad077bb775cb574c1fdecc01
  Running setup.py bdist_wheel for functools32 ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/3c/d0/09/cd78d0ff4d6cfecfbd730782a7815a4571cd2cd4d2ed6e69d9
  Running setup.py bdist_wheel for typing ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/b3/54/d1/d7ad0895b6f57c608afdf3ec5d2339c5d18ffcf2c2e0e0d9aa
  Running setup.py bdist_wheel for pycparser ... done
  Stored in directory: /Users/james/Library/Caches/pip/wheels/a8/0b/41/dc95621f9d3a0da7bc191b8a71f0e8182ffd3cc5f33ac55005
Successfully built blockstack virtualchain blockstack-profiles blockstack-zones keylib simplejson warlock functools32 typing pycparser
Failed to build fastecdsa
Installing collected packages: simplejson, virtualchain, pycparser, cffi, idna, asn1crypto, ipaddress, cryptography, requests, keylib, blockstack-zones, functools32, jsonschema, jsonpointer, jsonpatch, warlock, blockstack-profiles, defusedxml, mixpanel, fastecdsa, boto, typing, urllib3, dropbox, blockstack, base58
  Found existing installation: virtualchain 0.0.13.5
    Uninstalling virtualchain-0.0.13.5:
      Successfully uninstalled virtualchain-0.0.13.5
  Found existing installation: pycparser 2.14
    Uninstalling pycparser-2.14:
      Successfully uninstalled pycparser-2.14
  Found existing installation: cffi 1.8.3
    Uninstalling cffi-1.8.3:
      Successfully uninstalled cffi-1.8.3
  Found existing installation: idna 2.1
    Uninstalling idna-2.1:
      Successfully uninstalled idna-2.1
  Found existing installation: ipaddress 1.0.17
    Uninstalling ipaddress-1.0.17:
      Successfully uninstalled ipaddress-1.0.17
  Found existing installation: cryptography 1.5.2
    Uninstalling cryptography-1.5.2:
      Successfully uninstalled cryptography-1.5.2
  Found existing installation: requests 2.7.0
    Uninstalling requests-2.7.0:
      Successfully uninstalled requests-2.7.0
  Found existing installation: keylib 0.0.5
    Uninstalling keylib-0.0.5:
      Successfully uninstalled keylib-0.0.5
  Found existing installation: blockstack-zones 0.1.6.1
    Uninstalling blockstack-zones-0.1.6.1:
      Successfully uninstalled blockstack-zones-0.1.6.1
  Found existing installation: jsonschema 2.3.0
    Uninstalling jsonschema-2.3.0:
      Successfully uninstalled jsonschema-2.3.0
  Found existing installation: blockstack-profiles 0.4.7
    Uninstalling blockstack-profiles-0.4.7:
      Successfully uninstalled blockstack-profiles-0.4.7
  Found existing installation: defusedxml 0.4.1
    Uninstalling defusedxml-0.4.1:
      Successfully uninstalled defusedxml-0.4.1
  Found existing installation: mixpanel 4.3.1
    Uninstalling mixpanel-4.3.1:
      Successfully uninstalled mixpanel-4.3.1
  Running setup.py install for fastecdsa ... error
    Complete output from command /usr/local/opt/python/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-build-dzojek/fastecdsa/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-_Wurr7-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.11-x86_64-2.7
    creating build/lib.macosx-10.11-x86_64-2.7/fastecdsa
    copying fastecdsa/__init__.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
    copying fastecdsa/curve.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
    copying fastecdsa/ecdsa.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
    copying fastecdsa/keys.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
    copying fastecdsa/point.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
    copying fastecdsa/test.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
    copying fastecdsa/util.py -> build/lib.macosx-10.11-x86_64-2.7/fastecdsa
    running build_ext
    building 'fastecdsa.curvemath' extension
    creating build/temp.macosx-10.11-x86_64-2.7
    creating build/temp.macosx-10.11-x86_64-2.7/src
    clang -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Isrc/ -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/curveMath.c -o build/temp.macosx-10.11-x86_64-2.7/src/curveMath.o -O2
    In file included from src/curveMath.c:1:
    src/curveMath.h:6:10: fatal error: 'gmp.h' file not found
    #include <gmp.h>
             ^
    1 error generated.
    error: command 'clang' failed with exit status 1
    
    ----------------------------------------
Command "/usr/local/opt/python/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-build-dzojek/fastecdsa/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-_Wurr7-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/hb/nk6lz6vx5r3b_fd207g498mh0000gn/T/pip-build-dzojek/fastecdsa/

I am sure there is likely something weird in my mac / brew / python / … setup - hoping that someone with more experience might spot the issue and reply with what to fix.

If I find the issue in the meantime, I will post it here.

Addendum:
More interesting part of the error:

Running setup.py install for fastecdsa ... error
    Complete output from command /usr/local/opt/python/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-m02NHH/fastecdsa/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-kEoKee-record/install-record.txt --single-version-externally-managed --compile:

More specific to what pip install was doing when the clang command failed.

Welcome back!

Oh no!

This is the script I use to build blockstack-core for the macOS app: https://github.com/blockstack/blockstack-portal/blob/master/native/macos/build_blockstack_virtualenv.sh

You won’t need the last two lines.

I build using the version of python2.7 bundled with macOS have had better luck installing in a virtualenv on macOS.

I’ve also only tested the build script on 10.12.x - not sure how it will work on 10.11.6.

Tagging @jude on this for help with migrating keys.

1 Like

Addendum:

More info - looks like the problem is building a package called fastecdsa.

I noticed that I have an ‘ecdsa’ and of course, no ‘fastecdsa’

$ pip show ecdsa
Name: ecdsa
Version: 0.13
Summary: ECDSA cryptographic signature library (pure python)
Home-page: http://github.com/warner/python-ecdsa
Author: Brian Warner
Author-email: [email protected]
License: MIT
Location: /usr/local/lib/python2.7/site-packages
Requires: 
$ pip show fastecdsa
$

@larry Thanks!

A few things:

  • I see you’re typing macOS - is that out of habit and do you really mean mac os x? (see subject).
  • Is the pip install trying to build core for my box, or just the cli?

Also, I always wait on updating OS to be sure they’re stable - do you use macOS, and if so, should I upgrade?

Thanks,
-james

PS: I should get real and get hip to using virtualenv

Apple renamed OS X to macOS last year. I guess they’re trying to have consistent naming across their OSs: iOS, tvOS, watchOS, macOS.

In 0.14.x what was formerly the server and cli are now in one package. pip install blockstack gets you the CLI, the “server” and an API endpoint. You can enable the server and API endpoint manually if you wish. By default, the CLI will talk to the server specified in your config file which is node.blockstack.org.

I find that virtualenv makes it a lot easier to get python packages working.

I haven’t had any problems with 10.12. Can’t think of any downsides of upgrading. Lots of security improvements!

1 Like

Larry! Hallelujah! I love that Blockstack is now a single thing - and I am so looking forward to moving away from client/server language for the decentralized_internet.

I am going to do a reset and get installin’ from a dev perspective and from the decentralized perspective.

Plus, I will upgrade my macOS now to Sierra, thanks for your willingness to share your experience.

Your input has been super helpful.

Was there a blog post about how to move from 0.13 to 0.14 that would have explained the changes in architecture (not just he hard fork)…
I was looking for that info, and I wasn’t able to find it.
Do you know the post and where it is?
Thanks,
-james

Hey James! The 0.14 release announcement is here: https://blog.blockstack.org/blockstack-core-v0-14-0-release-aad748f46d

Regarding migrating your wallet, just type blockstack setup_wallet if you haven’t been prompted to do so already. That should take care of getting your wallet up-to-date.

1 Like