Hey, all. I hope it's okay that I'm bumping a two-year-old thread. I just got my Chordata in the mail and realized I allocated my RPi4 to a work project already. Here's what I ended up doing to try and get it working in the time since:
First, the image on the site won't boot -- it's 64 bit and the Zero W is 32 bit. I grabbed the 32 bit (Lite?) OS, as noted by highmatergogo in the first post.
I set up wifi and 'touched /boot/ssh' before you ejecting the CF disk.
The RPi was up and running, so I installed aptitude, scons, git, and build-essentials.
I cloned the repo: git clone https://gitlab.com/chordata/notochord-module.git
.
Running make setup
gave this error:
E: Unable to locate package python3.7-distutils
E: Couldn't find any package by glob 'python3.7-distutils'
E: Package 'python3.7' has no installation candidate
E: Unable to locate package python3.7-dev
E: Couldn't find any package by glob 'python3.7-dev'
make: *** [Makefile:80: install-deps] Error 100
So I swapped python-3.9 because it's already available for the RPi. I just edited the Makefile to change this.
The setup-submodules command will attempt to install lxml for Python, which will fail due to a hash mismatch. Might be because of my 32-bit version or, more likely, because of the Python 3.9 version. The problem is one of the submodules has a hash mismatch. I tried purging the Pipfile.lock, but I think it's in a submodule that the hashes are located. This is where I'm stuck now. Going to try purging the submodule folder.
Update: After purging the .local and Pipfile.lock, I'm still hitting the 'Can't install package' issue.
ERROR: Couldn't install package: [Requirement(_name='lxml', vcs=None, req=NamedRequirement(name='lxml', version='==4.9.1', req=Requirement.parse('lxml==4.9.1'), extras=[], editable=False, _parsed_line=<Line (editable=False, name=lxml, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===4.9.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=lxml==4.9.1)>), markers=None, _specifiers='==4.9.1', index='pypi', editable=False, hashes=frozenset({'sha256:9f36de4cd0c262dd9927886cc2305aa3f2210db437aa4fed3fb4940b8bf4592c', 'sha256:8d1a92d8e90b286d491e5626af53afef2ba04da33e82e30744795c71880eaa21', 'sha256:ef72013e20dd5ba86a8ae1aed7f56f31d3374189aa8b433e7b12ad182c0d2dfb', 'sha256:c4b2e0559b68455c085fb0f6178e9752c4be3bba104d6e881eb5573b399d1eb2', 'sha256:e8f0c9d65da595cfe91713bc1222af9ecabd37971762cb830dea2fc3b3bb2acf', 'sha256:603a464c2e67d8a546ddaa206d98e3246e5db05594b97db844c2f0a1af37cf5b', 'sha256:eea5d6443b093e1545ad0210e6cf27f920482bfcf5c77cdc8596aec73523bb7e', 'sha256:93e414e3206779ef41e5ff2448067213febf260ba747fc65389a3ddaa3fb8715', 'sha256:be9eb06489bc975c38706902cbc6888f39e946b81383abc2838d186f0e8b6a9d', 'sha256:e5f66bdf0976ec667fc4594d2812a00b07ed14d1b44259d19a41ae3fff99f2b8', 'sha256:04da965dfebb5dac2619cb90fcf93efdb35b3c6994fea58a157a834f2f94b318', 'sha256:fe17d10b97fdf58155f858606bddb4e037b805a60ae023c009f760d8361a4eb8', 'sha256:f05251bbc2145349b8d0b77c0d4e5f3b228418807b1ee27cefb11f69ed3d233b', 'sha256:079b68f197c796e42aa80b1f739f058dcee796dc725cc9a1be0cdb08fc45b000', 'sha256:4cfbe42c686f33944e12f45a27d25a492cc0e43e1dc1da5d6a87cbcaf2e95627', 'sha256:5974895115737a74a00b321e339b9c3f45c20275d226398ae79ac008d908bff7', 'sha256:a60f90bba4c37962cbf210f0188ecca87daafdf60271f4c6948606e4dabf8785', 'sha256:27e590352c76156f50f538dbcebd1925317a0f70540f7dc8c97d2931c595783a', 'sha256:ae06c1e4bc60ee076292e582a7512f304abdf6c70db59b56745cca1684f875a4', 'sha256:0538747a9d7827ce3e16a8fdd201a99e661c7dee3c96c885d8ecba3c35d1032c', 'sha256:0645e934e940107e2fdbe7c5b6fb8ec6232444260752598bc4d09511bd056c0b', 'sha256:4780677767dd52b99f0af1f123bc2c22873d30b474aa0e2fc3fe5e02217687c7', 'sha256:a614e4afed58c14254e67862456d212c4dcceebab2eaa44d627c2ca04bf86837', 'sha256:f9ced82717c7ec65a67667bb05865ffe38af0e835cdd78728f1209c8fffe0cad', 'sha256:1e1cf47774373777936c5aabad489fef7b1c087dcd1f426b621fda9dcc12994e', 'sha256:2aaf6a0a6465d39b5ca69688fce82d20088c1838534982996ec46633dc7ad6cc', 'sha256:6d949f53ad4fc7cf02c44d6678e7ff05ec5f5552b235b9e136bd52e9bf730b91', 'sha256:927a9dd016d6033bc12e0bf5dee1dde140235fc8d0d51099353c76081c03dc29', 'sha256:32a73c53783becdb7eaf75a2a1525ea8e49379fb7248c3eeefb9412123536387', 'sha256:6eafc048ea3f1b3c136c71a86db393be36b5b3d9c87b1c25204e7d397cee9536', 'sha256:4d5bae0a37af799207140652a700f21a85946f107a199bcb06720b13a4f1f0b7', 'sha256:edffbe3c510d8f4bf8640e02ca019e48a9b72357318383ca60e3330c23aaffc7', 'sha256:b122a188cd292c4d2fcd78d04f863b789ef43aa129b233d7c9004de08693728b', 'sha256:c62e8dd9754b7debda0c5ba59d34509c4688f853588d75b53c3791983faa96fc', 'sha256:bd34f6d1810d9354dc7e35158aa6cc33456be7706df4420819af6ed966e85448', 'sha256:bcaa1c495ce623966d9fc8a187da80082334236a2a1c7e141763ffaf7a405067', 'sha256:fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f', 'sha256:c852b1530083a620cb0de5f3cd6826f19862bafeaf77586f1aef326e49d95f0c', 'sha256:206a51077773c6c5d2ce1991327cda719063a47adc02bd703c56a662cdb6c58b', 'sha256:487c8e61d7acc50b8be82bda8c8d21d20e133c3cbf41bd8ad7eb1aaeb3f07c97', 'sha256:4beea0f31491bc086991b97517b9683e5cfb369205dac0148ef685ac12a20a67', 'sha256:f1be258c4d3dc609e654a1dc59d37b17d7fef05df912c01fc2e15eb43a9735f3', 'sha256:10d2017f9150248563bb579cd0d07c61c58da85c922b780060dcc9a3aa9f432d', 'sha256:41fb58868b816c202e8881fd0f179a4644ce6e7cbbb248ef0283a34b73ec73bb', 'sha256:57e4d637258703d14171b54203fd6822fda218c6c2658a7d30816b10995f29f3', 'sha256:b570da8cd0012f4af9fa76a5635cd31f707473e65a5a335b186069d5c7121ff2', 'sha256:9232b09f5efee6a495a99ae6824881940d6447debe272ea400c02e3b68aad85d', 'sha256:dad7b164905d3e534883281c050180afcf1e230c3d4a54e8038aa5cfcf312b84', 'sha256:4e285b5f2bf321fc0857b491b5028c5f276ec0c873b985d58d7748ece1d770dd', 'sha256:287605bede6bd36e930577c5925fcea17cb30453d96a7b4c63c14a257118dbb9', 'sha256:9c3a88d20e4fe4a2a4a84bf439a5ac9c9aba400b85244c63a1ab7088f85d9d25', 'sha256:8f0a4d179c9a941eb80c3a63cdb495e539e064f8054230844dcf2fcb812b71d3', 'sha256:13c90064b224e10c14dcdf8086688d3f0e612db53766e7478d7754703295c7c8', 'sha256:1355755b62c28950f9ce123c7a41460ed9743c699905cbe664a5bcc5c9c7c7fb', 'sha256:1a7c59c6ffd6ef5db362b798f350e24ab2cfa5700d53ac6681918f314a4d3b94', 'sha256:1436cf0063bba7888e43f1ba8d58824f085410ea2025befe81150aceb123e345', 'sha256:1423631e3d51008871299525b541413c9b6c6423593e89f9c4cfbe8460afc0a2', 'sha256:86e92728ef3fc842c50a5cb1d5ba2bc66db7da08a7af53fb3da79e202d1b2cd3', 'sha256:d9fc0bf3ff86c17348dfc5d322f627d78273eba545db865c3cd14b3f19e57fa5', 'sha256:5ef87fca280fb15342726bd5f980f6faf8b84a5287fcc2d4962ea8af88b35130', 'sha256:98cafc618614d72b02185ac583c6f7796202062c41d2eeecdf07820bad3295ed', 'sha256:6d279033bf614953c3fc4a0aa9ac33a21e8044ca72d4fa8b9273fe75359d5cca', 'sha256:6daa662aba22ef3258934105be2dd9afa5bb45748f4f702a3b39a5bf53a1f4dc', 'sha256:6653071f4f9bac46fbc30f3c7838b0e9063ee335908c5d61fb7a4a86c8fd2036', 'sha256:6ca2264f341dd81e41f3fffecec6e446aa2121e0b8d026fb5130e02de1402785', 'sha256:830c88747dce8a3e7525defa68afd742b4580df6aa2fdd6f0855481e3994d391', 'sha256:21fb3d24ab430fc538a96e9fbb9b150029914805d551deeac7d7822f64631dfc', 'sha256:0f3f0059891d3254c7b5fb935330d6db38d6519ecd238ca4fce93c234b4a0f73', 'sha256:8caf4d16b31961e964c62194ea3e26a0e9561cdf72eecb1781458b67ec83423d', 'sha256:4878e667ebabe9b65e785ac8da4d48886fe81193a84bbe49f12acff8f7a383a4'}), extras=(), abstract_dep=None, _line_instance=<Line (editable=False, name=lxml, path=None, uri=None, extras=(), markers=None, vcs=None, specifier===4.9.1, pyproject=None, pyproject_requires=None, pyproject_backend=None, ireq=lxml==4.9.1)>, _ireq=None)]
I'm looking for where this hash appears, but it looks like it's auto-generated from somehwhere and then added to the lock file? I'll try and hack around it. Just have to get the submodules installed and built.
/home/joseph/.local/share/virtualenvs/notochord-module-4zc6H2Qp/bin/python /home/joseph/.local/lib/python3.9/site-packages/pipenv/patched/pip/__pip-runner__.py install -i https://pypi.org/simple --no-input --upgrade --no-deps --exists-action=i -r /tmp/pipenv-wm21z3o2-requirements/pipenv-vli02zgd-hashed-reqs.txt
Using source directory: '/home/joseph/.local/share/virtualenvs/notochord-module-4zc6H2Qp/src'
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting lxml==4.9.1
Using cached https://www.piwheels.org/simple/lxml/lxml-4.9.1-cp39-cp39-linux_armv6l.whl (6.7 MB)
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
lxml==4.9.1 from https://www.piwheels.org/simple/lxml/lxml-4.9.1-cp39-cp39-linux_armv6l.whl#sha256=8c6c812e0284a452ed567ce1ec33c0b4c51a1e3111b350f5b061618e99fb29e4 (from -r /tmp/pipenv-wm21z3o2-requirements/pipenv-vli02zgd-hashed-reqs.txt (line 1)):
UPDATE 2:
I found this: https://github.com/pypa/pipenv/issues/2540 Looks like piwheels is not in the Pipfile, so the 64-bit hashes are getting used. I just made the swap and am trying to do a build again.
UPDATE 3:
All is not well in waffleville.
Locking [packages] dependencies...
â ‡ INFO:pipenv.patched.pip._internal.resolution.resolvelib.reporter:Reporter.ending(State(mapping=OrderedDict([('lxml', LinkCandidate('https://files.pythonhosted.org/packages/70/bb/7a2c7b4f8f434aa1ee801704bf08f1e53d7b5feba3d5313ab17003477808/lxml-4.9.1.tar.gz (from https://pypi.org/simple/lxml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=
Locking [dev-packages] dependencies...
â ¹ pipenv.exceptions.ResolutionFailure: ERROR: No matching distribution found for cython
joseph@raspberrypi:~/notochord-module $ vi ./Pipfile
So for some reason LXML and cython aren't getting along? Or, at least, cython isn't found. There should be a {version="*", index="piwheels"} in the Pipfile, so I'm not sure why it's saying none can be found. Trying to install it manually:
joseph@raspberrypi:~/notochord-module $ python3.9 -m pipenv install cython
Installing cython...
Pipfile.lock (e4122c) out of date, updating to (3f4329)...
Locking [packages] dependencies...
Locking [dev-packages] dependencies...
⠙ ✘ Locking Failed!
CRITICAL:pipenv.patched.pip._internal.resolution.resolvelib.factory:Cannot install cython because these package versions have conflicting dependencies.
[ResolutionFailure]: File "/home/joseph/.local/lib/python3.9/site-packages/pipenv/resolver.py", line 811, in _main
[ResolutionFailure]: resolve_packages(
[ResolutionFailure]: File "/home/joseph/.local/lib/python3.9/site-packages/pipenv/resolver.py", line 759, in resolve_packages
[ResolutionFailure]: results, resolver = resolve(
[ResolutionFailure]: File "/home/joseph/.local/lib/python3.9/site-packages/pipenv/resolver.py", line 738, in resolve
[ResolutionFailure]: return resolve_deps(
[ResolutionFailure]: File "/home/joseph/.local/lib/python3.9/site-packages/pipenv/utils/resolver.py", line 1100, in resolve_deps
[ResolutionFailure]: results, hashes, markers_lookup, resolver, skipped = actually_resolve_deps(
[ResolutionFailure]: File "/home/joseph/.local/lib/python3.9/site-packages/pipenv/utils/resolver.py", line 899, in actually_resolve_deps
[ResolutionFailure]: resolver.resolve()
[ResolutionFailure]: File "/home/joseph/.local/lib/python3.9/site-packages/pipenv/utils/resolver.py", line 687, in resolve
[ResolutionFailure]: raise ResolutionFailure(message=str(e))
[pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Hint: try $ pipenv lock --pre if it is a pre-release dependency.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
Hmm.
UPDATE 4:
I caved, added --skip-lock
to just get everything installed. Moving to the next step of setup.
My final Pipfile:
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[[source]]
url = "https://www.piwheels.org/simole"
name = "piwheels"
verify_ssl = true
[dev-packages]
scons = { version = "==4.2.0", index = "piwheels" }
pytest = { version = "*", index = "piwheels" }
pytest-cov = { version = "*", index = "piwheels" }
cython = { version = "*", index = "piwheels" }
scons-compiledb = { version = "==0.4.7", index = "piwheels" }
smbus2 = { version = "*", index = "piwheels"}
pygltflib = { version = "*", index = "piwheels"}
numpy = { version = "*", index = "piwheels"}
[packages]
lxml = ">=4.5"
cython = "*"
[requires]
python_version = "3"
UPDATE 5:
make
fails almost immediately with "DuplicateSectionError: While reading from 'Pipfile' [line 6]: section '[source' already exists:". That's allowed, I thought, but the internet says it's a strict mode thing: https://github.com/pypa/pip/issues/8373
I edited the SConstruct file and set strict to false. It's pretty late now, so I think I'll come back to this tomorrow.