scallop-lang / scallop

Framework and Language for Neurosymbolic Programming.
https://www.scallop-lang.org
MIT License
201 stars 8 forks source link

Unable to install scallopy on a cluster node #13

Closed mukhtarhussainb closed 11 months ago

mukhtarhussainb commented 11 months ago

I am trying to pip install using pip install https://github.com/scallop-lang/scallop/releases/download/0.1.4/scallopy-0.1.4-cp39-cp39-manylinux_2_27_x86_64.whl

ERROR: scallopy-0.1.4-cp39-cp39-manylinux_2_27_x86_64.whl is not a supported wheel on this platform.

uname -a Linux evc1 3.10.0-1127.el7.x86_64

python --version
Python 3.9.18

When I try to compile from the source I get the following error:

error[E0554]: #![feature] may not be used on the stable release channel --> core/src/lib.rs:1:1 | 1 | #![feature(min_specialization)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0554]: #![feature] may not be used on the stable release channel --> core/src/lib.rs:2:1 | 2 | #![feature(extract_if)] | ^^^^^^^^^^^^^^^^^^^^^^^

error[E0554]: #![feature] may not be used on the stable release channel --> core/src/lib.rs:3:1 | 3 | #![feature(hash_extract_if)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0554]: #![feature] may not be used on the stable release channel --> core/src/lib.rs:4:1 | 4 | #![feature(proc_macro_span)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0554]: #![feature] may not be used on the stable release channel --> core/src/lib.rs:2:12 | 2 | #![feature(extract_if)] | ^^^^^^^^^^

error[E0554]: #![feature] may not be used on the stable release channel --> core/src/lib.rs:3:12 | 3 | #![feature(hash_extract_if)] | ^^^^^^^^^^^^^^^

error[E0554]: #![feature] may not be used on the stable release channel --> core/src/lib.rs:4:12 | 4 | #![feature(proc_macro_span)] | ^^^^^^^^^^^^^^^

For more information about this error, try rustc --explain E0554.

Liby99 commented 11 months ago

In terms of your first question, I see that you have Python version 3.10 so you should be using this wheel instead:

https://github.com/scallop-lang/scallop/releases/tag/0.2.1

Plus this is a newer version (0.2.1 vs. 0.1.4)

Liby99 commented 11 months ago

In terms of your second question, you should use the nightly channel before you compile. You can enable that by using the following command:

rustup default nightly
mukhtarhussainb commented 11 months ago

Thank you for the quick response. I installed python 3.10 and run the following:

python --version
Python 3.10.13
pip install https://github.com/scallop-lang/scallop/releases/download/0.2.1/scallopy-0.2.1-cp310-cp310-manylinux_2_31_x86_64.whl
ERROR: scallopy-0.2.1-cp310-cp310-manylinux_2_31_x86_64.whl is not a supported wheel on this platform.

Although the same pip install is working on my other Linux machine.

Liby99 commented 11 months ago

Is it possible that the machine arch is not x86_64? I would assume any x86_64 linux with Python 3.10 can work. If you are using Mac with Apple Silicon, I can provide pre-built binaries (wheels). But if it is for other architectures, unfortunately I won't be able to provide them. I would advise you to build from source instead.

Before building, you will need to use the nightly channel. You can then configure a Python environment (say 3.10) and activate it. After that, you can run the following command:

make install-scallopy
mukhtarhussainb commented 11 months ago

The machine arch is x86_64 as the uname output.

 uname -a
Linux evc1 3.10.0-1127.el7.x86_64 

I successfully compiled it from the source. Thank you.