I need to work with someone else’s code repository and I have zero experience in Julia (although I know how to program). This code repository runs workflows on GitHub Actions, and one of the workflows that runs under Julia nightly version, fails with the following error:
WARNING: Method definition eval(Any) in module OpenInterfaces at /home/runner/work/open-interfaces/open-interfaces/lang_julia/package/src/OpenInterfaces.jl:1 overwritten at /home/runner/work/open-interfaces/open-interfaces/lang_julia/package/src/OpenInterfaces.jl:18. ERROR: LoadError: Method overwriting is not permitted during Module precompile.
When I look at the module
OpenInterfaces.jl, the code looks like this (I left only relevant staff):
module OpenInterfaces function eval(expression) ret = @ccall "liboif_connector".oif_connector_eval_expression(expression::Cstring)::Cint check_call(ret, "cannot eval $expression") end end
What I do not understand is that I do not see any rewrite of the function
eval in this module. The Julia manual on modules says that each module is a separate namespace, so it seems that there is no implicit override of this method from built-in Julia libraries. At the same time the warning implies that at line 1 of this module (at the very beginning) somehow the function
eval is already defined.
Could someone explain to me the issue and how to fix it? Thanks!