treeform / pixie

Full-featured 2d graphics library for Nim.
MIT License
732 stars 28 forks source link

Cannot compile pixie 5.0.6 on windows 11 64bit #531

Closed me7 closed 1 year ago

me7 commented 1 year ago

to reproduce issue just import pixie and compile

import pixie

first I've got ambiguous identifier on bumpy.Rect and vmath.Rect C:\Users\ball\.nimble\pkgs2\pixie-5.0.6-fd4c5d12bba41aac760fc86c2de820e1a367dbfd\pixie\images.nim(132, 36) Error: ambiguous identifier: 'Rect' -- use one of the following: bumpy.Rect: Rect vmath.Rect: Rect

after fix the problem by change Rect to vmath.Rect (I assume no problem because it's same object structure) still have problem of wrong function parameter type C:\Users\ball\.nimble\pkgs2\pixie-5.0.6-fd4c5d12bba41aac760fc86c2de820e1a367dbfd\pixie\images.nim(411, 33) Error: type mismatch Expression: inverse(transform) [1] transform: Mat3 Expected one of (first mismatch at position [#]): [1] func inverse(a: Mat4): Mat4

now I cannot continue because i didn't see mat3.inverse proc in pixie code

guzba commented 1 year ago

Hello, I just confirmed Pixie installs and works just fine here as we run these tests for every commit / PR: https://github.com/treeform/pixie/actions/runs/4387604786/jobs/7683101935

It appears the dependencies are not all installed. If you run nimble test are they all present? If not perhaps you cloned the repo and did not get the dependencies through nimble.

me7 commented 1 year ago

here is data showned when i do nimble install pixie everything is looks ok

Downloading https://github.com/treeform/pixie using git Verifying dependencies for pixie@5.0.6 Info: Dependency on vmath@>= 1.1.4 already satisfied Verifying dependencies for vmath@1.2.0 Info: Dependency on chroma@>= 0.2.6 already satisfied Verifying dependencies for chroma@0.2.7 Info: Dependency on zippy@>= 0.10.3 already satisfied Verifying dependencies for zippy@0.10.7 Info: Dependency on flatty@>= 0.3.4 already satisfied Verifying dependencies for flatty@0.3.4 Info: Dependency on nimsimd@>= 1.2.4 already satisfied Verifying dependencies for nimsimd@1.2.5 Info: Dependency on bumpy@>= 1.1.1 already satisfied Verifying dependencies for bumpy@1.1.1 Info: Dependency on vmath@>= 1.0.0 already satisfied Verifying dependencies for vmath@1.2.0 Info: Dependency on crunchy@>= 0.1.0 already satisfied Verifying dependencies for crunchy@0.1.8 Info: Dependency on nimsimd@>= 1.2.4 already satisfied Verifying dependencies for nimsimd@1.2.5 Installing pixie@5.0.6 Warning: A package "pixie@5.0.6" with checksum "fd4c5d12bba41aac760fc86c2de820e1a367dbfd" already exists the the cache.

guzba commented 1 year ago

And if you run nimble test? This is an issue with local install so it is a matter of debugging that, if nimble test fails the error may help otherwise if it passes then it means things are fine and something is going wrong with compilation elsewhere.

guzba commented 1 year ago

Also the nim -v could be interesting, we do not run or test on develop so it would be expected you're on 1.6.12 or down to the oldest supported version.

me7 commented 1 year ago

And if you run nimble test? This is an issue with local install so it is a matter of debugging that, if nimble test fails the error may help otherwise if it passes then it means things are fine and something is going wrong with compilation elsewhere.

I do clone your repo and nimble test -gc:orc -d:release -y is all pass. but just nim c examples\heart.nim cannot compile image

me7 commented 1 year ago

Also the nim -v could be interesting, we do not run or test on develop so it would be expected you're on 1.6.12 or down to the oldest supported version.

I do both devel version and 1.6.12 version (use choosenim to switch) but both fail image

Anything I can do to debug the problem?

guzba commented 1 year ago

Try with nim c -f ..., one thing I suspect is bad cached code.

me7 commented 1 year ago

Try with nim c -f ..., one thing I suspect is bad cached code.

-f also fail image

guzba commented 1 year ago

Do you have a clone of vmath that you set up nimble develop on? If nimble test works but nim c doesn't that looks like the next likely issue.

me7 commented 1 year ago

Do you have a clone of vmath that you set up nimble develop on? If nimble test works but nim c doesn't that looks like the next likely issue.

Could you please help guide me how to check this? I'm quite sure that I only do nimble install pixie. But will check it.

me7 commented 1 year ago

Hi @guzba, thank you for your help. Now I can solved the problem (although still not known why this is fail) Here the method for other that may have same problem, what you need to do is "reset .nimble folder" What I do is delete everything in .nimble folder except "bin" folder. Then just nimble installl pixie. May be my problem is some caching problem on downloaded packages.

image

treeform commented 1 year ago

I agree, it seems like sort of nimble caching error.