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

problems with using both Julia 1.6.3 and Julia 1.7.0-rc3 #758

Closed
ThomasBreuer opened this issue Nov 16, 2021 · 3 comments
Closed

problems with using both Julia 1.6.3 and Julia 1.7.0-rc3 #758

ThomasBreuer opened this issue Nov 16, 2021 · 3 comments

Comments

@ThomasBreuer
Copy link
Member

After installing Julia 1.7.0-rc3 and the Oscar relevant packages for it, using GAP did not cause problems.
Afterwards I started Julia 1.6.3 and called using GAP, and Julia crashed with the following message:

/.../julia/julia-1.6.3/bin/julia: symbol lookup error: /.../GAP.jl/pkg/JuliaInterface/bin/x86_64-pc-linux-gnu-julia64-kv8/JuliaInterface.so: undefined symbol: jl_get_pgcstack

After touching a file from GAP.jl/src, starting Julia 1.6.3 again and calling using GAP, Julia precompiled GAP and compiled JuliaInterface, and everything was fine.

However, the problem is reproducible:
I started Julia 1.7.0-rc3 and called using GAP, which forced Julia to precompile GAP and to compile JuliaInterface, so everything looked fine. Afterwards I started Julia 1.6.3, called using GAP and got the same crash as before.

@fingolfin
Copy link
Member

Yes, I am aware (I've run into this myself before). This is because JuliaInterface needs to be recompiled for each Julia version. This then motivated issue #691 and later #728.

But actually it should already be fixed in GAP.jl master, though, simply because then a JLL for JuliaInterface is used -- that was one of the many motivations for doing that, and is one of the reasons I want to make a new GAP.jl release in time for the new Oscar.jl release.

@ThomasBreuer
Copy link
Member Author

@fingolfin As discussed in gather.town a few minutes ago:
I am using the dev version of GAP.jl in both Julia 1.6.3 and Julia 1.7.0-rc3.
I have run Pkg.update() in both Julia versions.

First I start Julia 1.6.3:

julia> using GAP
┌ Debug: storing pointer to Julia module 'GAP' into JuliaInterface
└ @ GAP /.../GAP.jl/src/GAP.jl:101
┌ Debug: about to read init.g
└ @ GAP /.../GAP.jl/src/GAP.jl:111
 ┌───────┐   GAP 4.12dev-1062-g401c797-dirty built on 2021-10-16 16:43:04+0000
 │  GAP  │   https://www.gap-system.org
 └───────┘   Architecture: x86_64-pc-linux-gnu-julia64-kv8
 Configuration:  gmp 6.2.0, Julia GC, Julia 1.6.3, readline
 Loading the library and packages ...
 Packages:   AClib 1.3.2, Alnuth 3.1.2, AtlasRep 2.1.0, AutoDoc 2020.08.11, 
             AutPGrp 1.10.2, Browse 1.8.12, CRISP 1.4.5, Cryst 4.1.24, 
             CrystCat 1.1.9, CTblLib 1.3.dev, FactInt 1.6.3, FGA 1.4.0, 
             Forms 1.2.6, GAPDoc 1.dev, genss 1.6.6, IO 4.7.1, IRREDSOL 1.4.3, 
             JuliaInterface 0.7.2-DEV, LAGUNA 3.9.3, orb 4.8.3, Polenta 1.3.9, 
             Polycyclic 2.16, PrimGrp 3.4.1, RadiRoot 2.8, recog 1.3.2, 
             ResClasses 4.7.2, SmallGrp 1.4.2, Sophus 1.24, SpinSym 1.5.2, 
             TomLib 1.2.9, TransGrp 3.3, utils 0.69
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'
┌ Debug: finished reading init.g
└ @ GAP /.../GAP.jl/src/GAP.jl:115

I leave the Julia session and start Julia 1.7.0-rc3:

julia> using GAP
[ Info: Precompiling GAP [c863536a-3901-11e9-33e7-d5cd0df7b904]
[ Info: Set up gaproot at /.../GAP.jl/gaproot/v1.7
┌ Debug: selected cc as C compiler
└ @ GAP.Setup /.../GAP.jl/src/setup.jl:57
┌ Debug: selected c++ as C++ compiler
└ @ GAP.Setup /.../GAP.jl/src/setup.jl:57
[ Info: Compiling JuliaInterface ...
┌ Debug: Use JuliaInterface.so from /.../GAP.jl/pkg/JuliaInterface/bin/x86_64-pc-linux-gnu-julia64-kv8
└ @ GAP.Setup /.../GAP.jl/src/setup.jl:290
┌ Debug: storing pointer to Julia module 'GAP' into JuliaInterface
└ @ GAP /.../GAP.jl/src/GAP.jl:101
┌ Debug: about to read init.g
└ @ GAP /.../GAP.jl/src/GAP.jl:111
 ┌───────┐   GAP 4.12dev-1062-g401c797-dirty built on 2021-10-16 16:43:04+0000
 │  GAP  │   https://www.gap-system.org
 └───────┘   Architecture: x86_64-pc-linux-gnu-julia64-kv8
 Configuration:  gmp 6.2.1, Julia GC, Julia 1.7.0-rc3, readline
 Loading the library and packages ...
do not load the Browse dev. version
reading ~/.gap/gaprc
 Packages:   AClib 1.3.2, Alnuth 3.1.2, AtlasRep 2.1.0, AutoDoc 2020.08.11, 
             AutPGrp 1.10.2, Browse 1.8.12, CRISP 1.4.5, Cryst 4.1.24, 
             CrystCat 1.1.9, CTblLib 1.3.dev, FactInt 1.6.3, FGA 1.4.0, 
             Forms 1.2.6, GAPDoc 1.dev, genss 1.6.6, IO 4.7.1, IRREDSOL 1.4.3, 
             JuliaInterface 0.7.2-DEV, LAGUNA 3.9.3, orb 4.8.3, Polenta 1.3.9, 
             Polycyclic 2.16, PrimGrp 3.4.1, RadiRoot 2.8, recog 1.3.2, 
             ResClasses 4.7.2, SmallGrp 1.4.2, Sophus 1.24, SpinSym 1.5.2, 
             TomLib 1.2.9, TransGrp 3.3, utils 0.69
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'
┌ Debug: finished reading init.g
└ @ GAP /.../GAP.jl/src/GAP.jl:115

Then I start Julia 1.6.3 again:

julia> using GAP
┌ Debug: storing pointer to Julia module 'GAP' into JuliaInterface
└ @ GAP /.../GAP.jl/src/GAP.jl:101
┌ Debug: about to read init.g
└ @ GAP /.../GAP.jl/src/GAP.jl:111
 ┌───────┐   GAP 4.12dev-1062-g401c797-dirty built on 2021-10-16 16:43:04+0000
 │  GAP  │   https://www.gap-system.org
 └───────┘   Architecture: x86_64-pc-linux-gnu-julia64-kv8
 Configuration:  gmp 6.2.0, Julia GC, Julia 1.6.3, readline
 Loading the library and packages ...
/..../julia/julia-1.6.3/bin/julia: symbol lookup error: /.../GAP.jl/pkg/JuliaInterface/bin/x86_64-pc-linux-gnu-julia64-kv8/JuliaInterface.so: undefined symbol: jl_get_pgcstack

Apparently Julia does not want to precompile GAP or compile JuliaInterface in this situation.
As stated above, explicitly touching a file from GAP.jl/src helps.

@ThomasBreuer
Copy link
Member Author

Thanks to @fingolfin's help, the problem is gone. Apparently my installation of the dev version of GAP.jl had been corrupted, such that I had not got a new version of GAP_pkg_juliainterface_jll.
(I do not understand why the git commands did not warn me about this situation.)

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