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

Dependency issues when using Clapyron #26

Closed
BradenDKelly opened this issue Jul 20, 2021 · 7 comments
Closed

Dependency issues when using Clapyron #26

BradenDKelly opened this issue Jul 20, 2021 · 7 comments

Comments

@BradenDKelly
Copy link

BradenDKelly commented Jul 20, 2021

Hello folks. You went and made a beautiful package and then made it depend on unstable packages or packages not in JuliaHub :D

It is like a series of dependency errors... have you folks tried installing your package from scratch? maybe I am doing something wrong but right off the bat I am met with

ERROR: Unsatisfiable requirements detected for package LogExpFunctions [2ab3a3ac]:
 LogExpFunctions [2ab3a3ac] log:
 ├─possible versions are: 0.2.0-0.2.4 or uninstalled
 └─restricted to versions 0.3 by Clapeyron [7c7805af] — no versions left
   └─Clapeyron [7c7805af] log:
     ├─possible versions are: 0.2.0 or uninstalled
     └─Clapeyron [7c7805af] is fixed to version 0.2.0

To install this, there is another error solved by first installing the package IrrationalConstants, and then install LogExpFunctions , both from Github. LogExpFunctions can be installed from JuliaHub, but is an old version, and Clapyron depends on the latest one, and won't install without version 0.3.

To install IrrationalConstants just do

']'
followed by (don't include pkg>)
pkg> add https://github.com/JuliaMath/IrrationalConstants.jl
followed by
pkg> add https://github.com/JuliaStats/LogExpFunctions.jl

Now upon retrying pkg> add https://github.com/ypaul21/Clapeyron.jl

I am met with the complaint

ERROR: Unsatisfiable requirements detected for package JuliaFormatter [98e50ef6]:
 JuliaFormatter [98e50ef6] log:
 ├─possible versions are: [0.1.0-0.1.5, 0.1.8-0.1.44, 0.2.0-0.2.4, 0.3.0-0.3.9, 0.4.0-0.4.3, 0.5.0-0.5.5, 0.6.0-0.6.9, 0.7.0-0.7.6, 0.8.0-0.8.2, 0.9.0-0.9.9, 0.10.0-0.10.9, 0.11.0, 0.12.0-0.12.3, 0.13.0-0.13.10, 0.14.0-0.14.7] or uninstalled
 ├─restricted by compatibility requirements with DataStructures [864edb3b] to versions: [0.1.0-0.1.5, 0.1.8-0.1.44, 0.2.0-0.2.4, 0.3.0-0.3.7, 0.7.2-0.7.6, 0.8.0-0.8.2, 0.9.0-0.9.9, 0.10.0-0.10.9, 0.11.0, 0.12.0-0.12.3, 0.13.0-0.13.10, 0.14.0-0.14.7] or uninstalled
 │ └─DataStructures [864edb3b] log:
 │   ├─possible versions are: [0.9.0, 0.10.0, 0.11.0-0.11.1, 0.12.0, 0.13.0, 0.14.0-0.14.1, 0.15.0, 0.16.1, 0.17.0-0.17.20, 0.18.0-0.18.9] or uninstalled
 │   └─restricted to versions 0.18 by Clapeyron [7c7805af], leaving only versions 0.18.0-0.18.9
 │     └─Clapeyron [7c7805af] log:
 │       ├─possible versions are: 0.2.0 or uninstalled
 │       └─Clapeyron [7c7805af] is fixed to version 0.2.0
 └─restricted by compatibility requirements with Atom [c52e3926] to versions: [0.4.3, 0.5.0-0.5.5] — no versions left
   └─Atom [c52e3926] log:
     ├─possible versions are: [0.8.0-0.8.8, 0.9.0-0.9.1, 0.10.0-0.10.2, 0.11.0-0.11.3, 0.12.0-0.12.32] or uninstalled
     └─restricted to versions 0.12.11 by an explicit requirement, leaving only versions 0.12.11

When trying to install JuliaFormatter I get ther error that it depends on CSTParser
So I must first install CSTParser and then JuliaFormatter

You cannot use the following
import Pkg; Pkg.add("CSTParser")
because that would be too easy, it installs the wrong version...

When I try
'pkg> add https://github.com/julia-vscode/CSTParser.jl' doesn't work either

ERROR: Unsatisfiable requirements detected for package CSTParser [00ebfdb7]:
 CSTParser [00ebfdb7] log:
 ├─possible versions are: 3.2.4 or uninstalled
 ├─CSTParser [00ebfdb7] is fixed to version 3.2.4-DEV
 └─found to have no compatible versions left with Atom [c52e3926] 
   └─Atom [c52e3926] log:
     ├─possible versions are: [0.8.0-0.8.8, 0.9.0-0.9.1, 0.10.0-0.10.2, 0.11.0-0.11.3, 0.12.0-0.12.32] or uninstalled
     └─restricted to versions 0.12.11 by an explicit requirement, leaving only versions 0.12.11

At this point, I am worn out. Maybe I have somehow done something terribly wrong, but is it necessary to have a package depend on so many unstable packages?

Or maybe there is somekind of setup script that auto installs the necessary dependencies?

@longemen3000
Copy link
Member

Let me update the package, the problem is in our part, on not setting the correct compatibility bounds. LogExpFunctions.jl has a mayor version (0.2 - > 0.3) 9 days ago

@longemen3000
Copy link
Member

longemen3000 commented Jul 20, 2021

i checked and actually we have the dependencies correctly set. the main problem in that case seems to be that your version seems old (also we didnt have any releases out yet, an issue that should be solved before juliacon). in the meantime, could you update the package to the most recent version?

@BradenDKelly
Copy link
Author

I am running v1.4, is that already an old version? I guess it is probably a year old at this point.

I can try... I want version 1.6 for the faster pre-compile anyways :)

@BradenDKelly
Copy link
Author

On another note @longemen3000 , is there explicit calculation of activity coefficients?

@longemen3000
Copy link
Member

ohh, i see the problem:
there is one package in your enviroment that fixes LogExpFunctions to 0.2, and out compat is too strict, i will relax the compat from:
https://github.com/ypaul21/Clapeyron.jl/blob/06b9d1afed3d26cfe658b80cf262bcb74dec4c14/Project.toml#L29
to

LogExpFunctions = "^0.2,^0.3"

on the julia version, its good to know that works on 1.4, but 1.6 what a relief on the load times

there isnt yet a explicit calculation of activity coefficients, yet. at the moment we have only the chemical potential, and that is directly the gradient of the helmholtz equation depending of the molar amounts

@BradenDKelly
Copy link
Author

BradenDKelly commented Jul 20, 2021

@longemen3000 I installed v1.6.2 and Clapyron installed fine. I am just going soft and am used to using the Juno GUI... It is a hassle to reinstall though so I was trying to stick with v1.4... I will either figure out how to run v1.6 from it, or just code old school and run Julia from command line.

I will look into explicit activity coefficients. Shouldn't be hard to do from chemical potential... or maybe I will just derive things to use residual chemical potential from the get go :)

@BradenDKelly
Copy link
Author

@longemen3000 @pw0908 @ypaul21 Nice work fellows, I am digging it.

@ypaul21 ypaul21 closed this as completed Jul 20, 2021
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

3 participants