Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation problem #37

Closed
GregLawson opened this issue Apr 10, 2021 · 3 comments
Closed

Installation problem #37

GregLawson opened this issue Apr 10, 2021 · 3 comments

Comments

@GregLawson
Copy link

GregLawson commented Apr 10, 2021

When installing grex on Debian Linux, I get 365 syntax errors.
They seem to be many repetitions of:
the trait data_traits::RawDataSubst<u128> is not implemented for <S as data_traits::DataOwned>::MaybeUninit
348 | impl_scalar_lhs_op!(Complex, Ordered, /, Div, div, "division");
| -------------------------------------------------------------------- in this macro invocation
|
::: /home/greg/.cargo/registry/src/github.com-1ecc6299db9ec823/ndarray-0.15.0/src/data_traits.rs:411:1
|
411 | pub unsafe trait DataOwned: Data {
| -------------------------------- required by data_traits::DataOwned
I seem to get the same blast whether I run cargo from the command-line or in vscode.
I installed with:
$ git clone https://github.com/pemistahl/grex.git
$ cd grex
$ cargo build
and
$ cargo install grex
Since I don't see any other complaints perhaps my distribution is to blame:
$ uname -a
Linux debian-dell-desktop 5.10.0-4-amd64 #1 SMP Debian 5.10.19-1 (2021-03-02) x86_64 GNU/Linux
Creating an empty project with grex as the only dependency also fails.
Version 1.1 of grex seems to run fine.
I've only been programming rust for about a year, so I haven't gotten to writing macros yet, but I'll try to dig deeper.
-- Greg

@pemistahl
Copy link
Owner

pemistahl commented Apr 11, 2021

This is weird.. The ndarray crate obviously has some kind of problem, perhaps it contains a bug. This is most likely not a bug in grex itself.

Please create an issue in ndarray's issue tracker and post the entire stacktrace there. I think the people over there can help you better than I can. I develop on macOS, so I don't have a Linux machine to test on.

Another alternative:
Do you get the same error when you use the Linux binary from my repository? If not, then there is probably just an issue within the build process of ndarray.

@GregLawson
Copy link
Author

Thanks for the tips. The Linux binary works fine. Since grex 1.11.0 also builds fine, I have 2 versions to bisect.
Following the track that its ndarray not grex's fault, I backed up to ndarray version 0.13.0 (used by grex 1.1.0) and that builds successfully in an empty project. However ndarray version 0.13.0

when applied to grex 1.2.0 produce the attached stack trace. Hopefully by limiting the differences to between grex 1.1.0&1.2.0, ndarray 0.13.0&0.15.0, and MacOs&Linux, the stack trace that has shrunk to only 25 errors will be more suggestive. I assume we have a version mismatch problem, but since I know absolutely nothing about ndarray nor grex internals, I'm hoping for another clue to narrow my search / learning curve.
ndarray-v0.13.0.txt

@GregLawson
Copy link
Author

I fixed my problem with:
$ rustup update
I don't think its worth hunting down what combination of changes in the rust toolchain, ndarray, and grex caused my problem. Unless the problem reappears elsewhere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants