installation problem with "summa-embed"
flowerpower13 opened this issue · 5 comments
During the installation process, the build for the "summa-embed" package fails with a Rust compilation error. This error appears to be related to the Rust code compilation process, specifically during the build of the "summa-core" component. The error message suggests a problem with the native library build through cargo, leading to a non-zero exit status.
Error Details:
Compiling summa-core v0.17.18 (/tmp/pip-install-8yw6q_9t/summa-embed_7e4bfb0350794254be97a96cde62bd59/local_dependencies/summa-core)
error: could not compile summa-core
(lib) due to 2 previous errors
warning: build failed, waiting for other jobs to finish...
💥 maturin failed
Caused by: Failed to build a native library through cargo
Caused by: Cargo build finished with "exit status: 101": PYO3_ENVIRONMENT_SIGNATURE="cpython-3.9-64bit" PYO3_PYTHON="/usr/bin/python3.9" PYTHON_SYS_EXECUTABLE="/usr/bin/python3.9" "cargo" "rustc" "--release" "--features" "pyo3/extension-module" "--manifest-path" "/tmp/pip-install-8yw6q_9t/summa-embed_7e4bfb0350794254be97a96cde62bd59/Cargo.toml" "--message-format" "json" "--lib"
warning: associated type documentsStream
should have an upper camel case name
--> /tmp/pip-install-8yw6q_9t/summa-embed_7e4bfb0350794254be97a96cde62bd59/target/release/build/summa-proto-cf39bd6a57042ac9/out/summa.proto.rs:2949:14
|
2949 | type documentsStream: futures_core::Stream<
| ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: DocumentsStream
|
= note: #[warn(non_camel_case_types)]
on by default
warning: 1 warning emitted
error: couldn't read local_dependencies/summa-core/src/lib.rs: No such file or directory (os error 2)
error: aborting due to previous error
Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/usr/bin/python3.9', '--compatibility', 'off'] returned non-zero exit status 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for summa-embed
Failed to build summa-embed
ERROR: Could not build wheels for summa-embed, which is required to install pyproject.toml-based projects
Environment:
Python version: 3.9
Docker container: hopeful_bohr
Operating System: Windows 11
Steps to Reproduce:
Clone the "cybrex" package repository.
Follow the installation instructions using Python 3.9 within a Docker container.
Observe the compilation failure during the build of the "summa-embed" package.
Expected Outcome:
Successful compilation and installation of the "summa-embed" package, allowing seamless usage of the "cybrex" package.
I have the same problem on my Windows machine and can install it on a Linux machine.
Could you try it with latest versions of summa-embed
? They have published pre-built versions for Windows. Beforehand you might need to update your pip
up to the latest verions
I can install the latest version of stc-geck on my Windows machine, v1.6.6, but still failed to query data from CLI.
(stc-geck) PS E:\> geck --ipfs-http-base-url 127.0.0.1:8080 - search doi:10.3384/ecp1392a41
INFO: Setting up indices...
thread 'tokio-runtime-worker' panicked at 'External("status: 301 Moved Permanently for http://127.0.0.1:8080/ipns/standard-template-construct.org/data//meta.json")', D:\a\summa\summa\summa-core\src\directories\network_directory.rs:78:23
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "E:\conda\miniconda3\envs\stc-geck\Scripts\geck.exe\__main__.py", line 7, in <module>
File "E:\conda\miniconda3\envs\stc-geck\Lib\site-packages\stc_geck\cli.py", line 203, in main
fire.Fire(stc_geck_cli, name='geck')
File "E:\conda\miniconda3\envs\stc-geck\Lib\site-packages\fire\core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\conda\miniconda3\envs\stc-geck\Lib\site-packages\fire\core.py", line 475, in _Fire
component, remaining_args = _CallAndUpdateTrace(
^^^^^^^^^^^^^^^^^^^^
File "E:\conda\miniconda3\envs\stc-geck\Lib\site-packages\fire\core.py", line 689, in _CallAndUpdateTrace
component = loop.run_until_complete(fn(*varargs, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\conda\miniconda3\envs\stc-geck\Lib\asyncio\base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "E:\conda\miniconda3\envs\stc-geck\Lib\site-packages\stc_geck\cli.py", line 125, in search
async with self.geck as geck:
File "E:\conda\miniconda3\envs\stc-geck\Lib\site-packages\aiokit\aiothing.py", line 81, in __aenter__
await self.start()
File "E:\conda\miniconda3\envs\stc-geck\Lib\site-packages\aiokit\aiothing.py", line 39, in guarded_fn
r = await fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\conda\miniconda3\envs\stc-geck\Lib\site-packages\stc_geck\client.py", line 158, in start
await self.summa_embed_server.start()
pyo3_asyncio.RustPanic: rust future panicked
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x000002150BC38150>
ERROR:asyncio:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x000002150BC384D0>
Update again and try this way:
geck --ipfs-http-base-url 127.0.0.1:8080 --ipfs-data-directory /ipns/standard-template-construct.org/data/nexus_science - search doi:10.3384/ecp1392a41
Better if you would have finally tested it and pinned used database by resolving /ipns/standard-template-construct.org/data/nexus_science
to IPFS hash and then substituting resolved one into command:
geck --ipfs-http-base-url 127.0.0.1:8080 --ipfs-data-directory /ipns/<ipfs_hash> - search doi:10.3384/ecp1392a41
Code is instantly updating, it is hard for me to track such long-standing threads. Tho, feel free to create new one if find other bugs.
@the-superpirate
Thank you for the suggestion on resolving the IPNS name and pinning the database. I was able to run the geck command successfully and query data from my Windows machine!