JuliaFEM / FEMBase.jl

JuliaFEM base package (core functionality)
http://juliafem.org/
MIT License
16 stars 9 forks source link

TimerOutputs #68

Open Batmanabcdefg opened 4 years ago

Batmanabcdefg commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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

ahojukka5 commented 4 years ago

I think this is because of FEMBasis, too. So if you pin FEMBase@v0.2.2 and FEMBasis@0.2.0 you should be fine. And then free packages when the new ones get released with dependency issues fixed.

CWillberg commented 4 years ago

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 commented 4 years ago

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

CWillberg commented 4 years ago

Dear Jukka,

thank you for your response. Here the manifest.toml

best regards Christian

Von: Jukka Aho [mailto:notifications@github.com] Gesendet: Samstag, 4. Januar 2020 02:34 An: JuliaFEM/FEMBase.jl Cc: Willberg, Christian; Comment Betreff: Re: [JuliaFEM/FEMBase.jl] TimerOutputs (#68)

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

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/JuliaFEM/FEMBase.jl/issues/68?email_source=notifications&email_token=AIHBTCZZC7TPSURTBY6WOSLQ37ROZA5CNFSM4JWPXUC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEICOD7Y#issuecomment-570745343, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIHBTC3LRNWZFHDSIC7NRDDQ37ROZANCNFSM4JWPXUCQ.

bocc commented 4 years ago

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 commented 4 years ago

Hmm, strange. I take a look at it.

ahojukka5 commented 4 years ago

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 <ahojukka5@gmail.com>"]
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 commented 4 years ago

The problems comes in these commits:

commit 5011799fb6712359723fd6036756839055a70f18
Author: Jukka Aho <ahojukka5@gmail.com>
Date:   Thu Nov 28 14:19:29 2019 +0700

    Add TimerOutputs.jl to dependencies

commit c65831e355754a204c43587f46698f6723775b78 (tag: v0.3.0)
Author: Jukka Aho <ahojukka5@gmail.com>
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 commented 4 years ago

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

ahojukka5 commented 4 years ago
commit 5011799fb6712359723fd6036756839055a70f18 (tag: v0.3.0)
Author: Jukka Aho <ahojukka5@gmail.com>
Date:   Thu Nov 28 14:19:29 2019 +0700

    Add TimerOutputs.jl to dependencies

commit c65831e355754a204c43587f46698f6723775b78
Author: Jukka Aho <ahojukka5@gmail.com>
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 5011799fb6712359723fd6036756839055a70f18 which might solved the problem.

bocc commented 4 years ago

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 commented 4 years ago
["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 <ahojukka5@gmail.com>
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 commented 4 years ago

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

ahojukka5 commented 4 years ago

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 c65831e355754a204c43587f46698f6723775b78 in register no matter what. Any ideas about what other things we could try?

ahojukka5 commented 4 years ago

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

bocc commented 4 years ago

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.