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

TimerOutputs #68

Open
Batmanabcdefg opened this issue Dec 6, 2019 · 18 comments
Open

TimerOutputs #68

Batmanabcdefg opened this issue Dec 6, 2019 · 18 comments

Comments

@Batmanabcdefg
Copy link

Error: TimerOutputs in its dependencies

ERROR: LoadError: ArgumentError: Package FEMBase does not have TimerOutputs in its dependencies:
- If you have FEMBase checked out for development and have
  added TimerOutputs as a dependency but haven't updated your primary
  environment's manifest file, try `Pkg.resolve()`.
- Otherwise you may need to report an issue with FEMBase
@ahojukka5
Copy link
Member

This is also fixed, but I cannot release a new version of the package before a new version of FEMBasis.jl is released. Meanwhile, you can pin FEMBase.jl version 0.2.2, which is working as expected. I guess the following should do the trick:

] pin FEMBase@0.2.2

@Batmanabcdefg
Copy link
Author

thank you! but another issue in 0.2.2 version:
ERROR: LoadError: LoadError: invalid subtyping in definition of Poi1

@ahojukka5
Copy link
Member

I think this is because of FEMBasis, too. So if you pin [email protected] and [email protected] you should be fine. And then free packages when the new ones get released with dependency issues fixed.

@CWillberg
Copy link

Hello,

i got the same problem and add the FEMBasis. Now I have version 0.2.0, but cannot compile the FEMBeam

Failed to precompile FEMBeam due to
ERROR: LoadError: LoadError: TypeError: in AbstractElement, in M, expected M<:FEMBase.AbstractFieldSet, got Type{FEMBasis.Seg2}

@ahojukka5
Copy link
Member

Hmm... Can you provide Manifest.toml of your environment so I can reproduce the problem?

@CWillberg
Copy link

CWillberg commented Jan 6, 2020 via email

@bocc
Copy link

bocc commented May 2, 2020

Hello Jukka,

I just wanted to mention that a fresh installation of JuliaFEM 0.5.1 (add JuliaFEM without a specific version) still draws in FEMBase 0.3.0 as a dependency, where this issue is not yet resolved.

@ahojukka5
Copy link
Member

Hmm, strange. I take a look at it.

@ahojukka5
Copy link
Member

Ok now I have an idea what's going on. There has been a problem in the Project.toml file in the version 0.3.0:

✔ ~/dev/FEMBase [v0.3.0|…1⚑ 2] 
18:49 $ cat Project.toml 
name = "FEMBase"
uuid = "fbcbbc08-f1bf-5204-9233-b69f5d396135"
authors = ["Jukka Aho <[email protected]>"]
version = "0.3.0"

[deps]
FEMBasis = "353fb843-c566-51e6-ba49-78b3e3d5ebb5"
FEMQuad = "be8e8821-3f6f-54c2-987c-d2773c3a52cb"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

[compat]
julia = "≥ 1.0"

[extras]
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test"]

There should be TimerOutsputs in [deps]. I wonder is it possible to fixup already released 0.3.0.

And I guess the stuff in [extras] should be in test target also.

I could do a rebase and edit that commit but is this having some undesirable effects on the 0.3.1 version. Opinions, @KristofferC ?

@ahojukka5 ahojukka5 reopened this May 3, 2020
@ahojukka5
Copy link
Member

The problems comes in these commits:

commit 5011799fb6712359723fd6036756839055a70f18
Author: Jukka Aho <[email protected]>
Date:   Thu Nov 28 14:19:29 2019 +0700

    Add TimerOutputs.jl to dependencies

commit c65831e355754a204c43587f46698f6723775b78 (tag: v0.3.0)
Author: Jukka Aho <[email protected]>
Date:   Fri Nov 22 00:47:12 2019 +0700

    Use Project.toml to define package
    
    Also, remove REQUIRE and test/REQUIRE

So what has happened, is that during the change from REQUIRE files to Project.toml file, for some reason TimerOutputs has dropped from dependencies, and it was added in the next commit but 0.3.0 was registered to commit before that.

@ahojukka5
Copy link
Member

Actually rebase is not even required, we just need to point v0.3.0 to commit 5011799 which fixes this problem.

@ahojukka5
Copy link
Member

commit 5011799fb6712359723fd6036756839055a70f18 (tag: v0.3.0)
Author: Jukka Aho <[email protected]>
Date:   Thu Nov 28 14:19:29 2019 +0700

    Add TimerOutputs.jl to dependencies

commit c65831e355754a204c43587f46698f6723775b78
Author: Jukka Aho <[email protected]>
Date:   Fri Nov 22 00:47:12 2019 +0700

    Use Project.toml to define package
    
    Also, remove REQUIRE and test/REQUIRE

I moved v0.3.0 tag to commit 5011799 which might solved the problem.

@bocc
Copy link

bocc commented May 3, 2020

I am afraid this doesn't do the trick. I know next to nothing about how the Julia registry works, but to me it seems that this binds releases to commit SHAs, not tags. I think you somehow need to tell the Julia TagBot (or the Registrator app?) to do an update, and unfortunately, it's seems probable that you can't adjust packages retroactively.

@ahojukka5
Copy link
Member

["0.2.0"]
git-tree-sha1 = "db5de793bd337c54da86bfa1c0ac11620476a018"

["0.2.1"]
git-tree-sha1 = "198c857f558749c073638f40d5817965d384c3d1"

["0.2.2"]
git-tree-sha1 = "ecfefd15a301e0beddaf6a477587f96311df6276"

["0.3.0"]
git-tree-sha1 = "838c706c0e58c416643ca7f62e6a6d339fe4c0be"

["0.3.1"]
git-tree-sha1 = "15d93560a2d8fa9008eb24951355a3b4b267695b"
commit c65831e355754a204c43587f46698f6723775b78
Author: Jukka Aho <[email protected]>
Date:   Fri Nov 22 00:47:12 2019 +0700

    Use Project.toml to define package
    
    Also, remove REQUIRE and test/REQUIRE
23:28 $ git rev-parse c65831e355754a204c43587f46698f6723775b78^{tree}
838c706c0e58c416643ca7f62e6a6d339fe4c0be
23:28 $ git rev-parse 5011799fb6712359723fd6036756839055a70f18^{tree}
fc3bad773d5620a6264a0c7f01df42e09b4d23fa

Maybe there should be

["0.3.0"]
git-tree-sha1 = "fc3bad773d5620a6264a0c7f01df42e09b4d23fa"

PR?

bocc added a commit to bocc/General that referenced this issue May 3, 2020
0.3.0 points to a commit which lacks a dependency, this should fix it by redirecting. This version is currently pulled in by JuliaFEM by default. See [this issue](JuliaFEM/FEMBase.jl#68) for details
@bocc
Copy link

bocc commented May 3, 2020

Sorry, I was a bit late, I'll delete mine.

@ahojukka5
Copy link
Member

Well, that didn't work quite well. Due to the policies of the register, they do not allow modifications once registered. So v0.3.0 is going to point to commit c65831e in register no matter what. Any ideas about what other things we could try?

@ahojukka5
Copy link
Member

Of course, it would be interesting to know why JuliaFEM tries to use v0.3.0.

@bocc
Copy link

bocc commented May 4, 2020

Maybe someone more experienced will correct me, but it seems that the way forward is to yank/deprecate 0.3.0, because after a manual update to 0.3.1 it works. I don't know why the dependency tree solver chooses the lower one, perhaps an update is needed for JuliaFEM's Project.toml. (I'll read thorugh the Pkg docs and try to grasp it better.) I am sorry to be a bearer of bad news, but using JuliaFEM still fails with an error in FEMBeam on my machine, I'll try to create a ticket/PR for it tomorrow.

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

4 participants