I am getting these warning messages when running some code snippets in a Jupyter notebook with the Julia 0.4.3 kernel.
WARNING: Method definition readuntil(AbstractString, Any...) in module Compat at /home/bryan/.julia/v0.4/Compat/src/Compat.jl:807 overwritten in module Compat at /home/bryan/.julia/v0.4/Compat/src/Compat.jl:807.
WARNING: Method definition remote_do(Function, Main.Base.LocalProcess, Any...) in module Compat at /home/bryan/.julia/v0.4/Compat/src/Compat.jl:741 overwritten in module Compat at /home/bryan/.julia/v0.4/Compat/src/Compat.jl:741.
WARNING: Method definition remote_do(Function, Main.Base.Worker, Any...) in module Compat at /home/bryan/.julia/v0.4/Compat/src/Compat.jl:742 overwritten in module Compat at /home/bryan/.julia/v0.4/Compat/src/Compat.jl:742.
(Cut it short, lmk if you need more)
I think if I remove Compat.jl these messages might go away. Is it safe to do this?
Given that Compat.jl is the most depended on package in the entire ecosystem, removing Compat will end up removing most of your packages. Method definition overridden warnings are mostly harmless and can typically be ignored.
You could consider Suppressor.jl to suppress them entirely.
Related
I'm new to Julia and I want to use COBRA Package.
For adding COBRA I use command :
Pkg.add("COBRA")
But when running, I get these errors:
INFO: Building WinRPM
WARNING: skipping repodata/repomd.xml, not in cache -- call WinRPM.update() to download
WARNING: skipping repodata/repomd.xml, not in cache -- call WinRPM.update() to download
INFO: Downloading https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml
WARNING: Unknown download failure, error code: 2148270086
WARNING: Retry 1/5 downloading: https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml
until:
WARNING: Unknown download failure, error code: 2148270086
WARNING: Retry 5/5 downloading: https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml
WARNING: received error 0 while downloading
https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_42.2/repodata/repomd.xml
After these errors, I have checked the link and I've found out the source is not there, anymore.
So then I ran this command as said above:
WinRPM.update()
But it has thrown this error:
ERROR: UndefVarError: WinRPM not defined
Please Help me to add COBRA to Julia. I'm using version 0.6.4 because Cobra does not work on the next versions.(Windows 10)
Any help would be appreciated.
The problem, as you've mentioned, is that the original sources used by the package aren't valid URLs anymore. The proper way to solve this is to open a pull request with the package to change the URLs (which I've now done here ). As a stopgap measure, here's a hacky way to work around this issue for now:
Do a Pkg.add("WinRPM"). This might trigger the same warnings as above, ignore these.
Next, using WinRPM to load the package we added
Now, the source URLs are read from the sources.list file (linked above) into a global WinRPM.sources variable. We're going to edit this variable's contents to point to new working URLs. (This is generally a terrible idea, to directly poke into the internals of a module and change things.)
julia> WinRPM.sources[:] = replace.(WinRPM.sources, "Leap_42.3" => "Leap_15.3")
2-element Vector{String}:
"https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_Leap_15.3"
"https://cache.julialang.org/http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_Leap_15.3"
A WinRPM.update() should now work, and download things into a local cache.
I'm using version 0.6.4 because Cobra does not work on the next versions.
I hope you mean Julia 1.6.4 here, or version 0.6.4 of something else in the stack. If you mean Julia version 0.6.4, you might face further problems down the road and find it hard to get support for such an old version.
In some situations, e.g. when using Eva's abstract domains, loading a session always emits a warning of the form:
[kernel] Warning: 1 state in saved file ignored. It is invalid in this Frama-C configuration.
For instance, here's how to reproduce it with a simple C file containing nothing but a main function (int main() {}):
frama-c main.c -eva -eva-domains gauges -save framac.sav
frama-c -load framac.sav
The warning also appears when using the template generated by frama-c-script make-template and enabling an abstract domain in EVAFLAGS.
The warning about ignoring states in saved files is mostly harmless. It simply means that Frama-C had (during the -save) some data that is not used in the current configuration (-load). There are two main situations in which this can happen:
When loading a state with less plug-ins; for instance, if before the -save you loaded some external plug-in, but not before the -load;
When using Eva's alternative domains with memexec (on by default). Eva instantiates a functor with the enabled domains at each execution, and this functor is saved in the session file. When loading it later, it will emit the message, which can be safely ignored.
Another situation which might lead to this warning would be if you recompiled Frama-C after saving a session, and reloaded it with a different binary. Sessions are not portable among different versions, so a version check prevents this from happening accidentally, but when recompiling yourself without changing the version number, this might happen. In that case, the warning should draw attention to the fact, and regenerating the session file should eliminate it.
Typically, when starting up an renv project, one gets a message that looks something like this:
* Project '~/path/to/project' loaded. [renv 0.10.0]
I am trying to suppress this message, particularly when non-interactively running a script from this project.
Checking the package help, I noted ?config i.e. User-Level Configuration of renv. Specifically, I found synchronized.check, of which the document states is for controlling how renv lockfile synchronization is checked (this is also outputted to the console). However, I couldn't find how to control the main startup message. I also checked the ?settings but found nothing relevant either.
I've tried fiddling with options and Sys.setenv without luck so far.
So, is it possible to suppress the message, seeing that the renv script activate.R controls how the package itself is loaded?
You are correct that there isn't a specific documented way to configure this in renv. For now, you can set:
options(renv.verbose = FALSE)
before renv is loaded. (You may want to turn it back to TRUE if you want renv to display other messages as part of its normal work.)
You can suppress library startup messages with suppressPackageStartupMessages, e.g.
suppressPackageStartupMessages(library(igraph))
There is also suppressMessages for arbitrary function calls.
The current version of Julia is 0.4.6. I, however, am running the development version 0.5. Suddenly JLD doesn't work. It's installed and updated. Yesterday I compiled code using JLD but this morning it doesn't work.
julia> using JLD
INFO: Precompiling module JLD...
WARNING: Method definition convert(Type{#T<:AbstractString}, AbstractArray{#S<:Union{Char, Int32, UInt32}, 1}) in module Base at unicode/utf32.jl:131 overwritten in module LegacyStrings at /root/.julia/v0.5/LegacyStrings/src/utf32.jl:133.
WARNING: Method definition isvalid(Array{Char, 1}) in module Base at unicode/utf32.jl:177 overwritten in module LegacyStrings at /root/.julia/v0.5/LegacyStrings/src/utf32.jl:179.
WARNING: New definition
string(Union{Char, LegacyStrings.UTF8String, LegacyStrings.ASCIIString}...) at /root/.julia/v0.5/LegacyStrings/src/utf8.jl:161
is ambiguous with:
string(Union{Char, UTF8String, ASCIIString}...) at unicode/utf8.jl:166.
To fix, define
string(Char...)
before the new definition.
WARNING: both LegacyStrings and Base export "UTF16String"; uses of it in module JLD must be qualified
ERROR: LoadError: LoadError: UndefVarError: UTF16String not defined
in include(::ASCIIString) at ./boot.jl:234
in include_from_node1(::ASCIIString) at ./loading.jl:417
in include(::ASCIIString) at ./boot.jl:234
in include_from_node1(::ASCIIString) at ./loading.jl:417
[inlined code] from ./boot.jl:237
in anonymous at ./<no file>:4294967295
in eval(::Module, ::Any) at ./boot.jl:237
[inlined code] from ./sysimg.jl:11
in process_options(::Base.JLOptions) at ./client.jl:239
in _start() at ./client.jl:318
while loading /root/.julia/v0.5/JLD/src/jld_types.jl, in expression starting on line 11
while loading /root/.julia/v0.5/JLD/src/JLD.jl, in expression starting on line 130
ERROR: Failed to precompile JLD to /root/.julia/lib/v0.5/JLD.ji
in error(::ASCIIString) at ./error.jl:21
in compilecache(::ASCIIString) at ./loading.jl:496
in compilecache(::Symbol) at ./loading.jl:485
in require(::Symbol) at ./loading.jl:355
in eval(::Module, ::Any) at ./boot.jl:237
When using the development version of Julia, you need to use the development versions of the packages (which works for packages where the developer keeps master up-to-date but hasn't tagged yet). If you run Pkg.checkout("JLD") to checkout master, JLD should work (works on my machine. Note you may need to Pkg.update() before checking out, and you may need to quit Julia and re-open it to recompile the new version).
But as a word of caution, don't use the development versions of Julia as a way to test things out. Remember, the language is still in alpha and there is no guarantee that the package ecosystem or Julia itself will work with the daily master. The dailies are good for working on the language and preparing packages for the next version (and being ballsy I guess).
Well, you're using Julia 0.5 which is still in development. If you switch to 0.4.6 then it should be fine. I'm using that and JLD works fine for me. You could also trying running Pkg.update() closing Julia, then reopening, to see if that helps.
I'm trying to test out the Winston plotting engine in Julia. I installed the package but I'm getting some errors now when I try to compile one of the examples:
> julia example1.jl
Warning: could not import Base.haskey into Inifile
Warning: could not import Graphics.set_source into Color
ERROR: no method haskey(Dict{String,Dict{String,String}},ASCIIString)
in read at /Users/thinkpad20/.julia/IniFile/src/IniFile.jl:41
in read at /Users/thinkpad20/.julia/IniFile/src/IniFile.jl:67
in anonymous at /Users/thinkpad20/.julia/Winston/src/Winston.jl:39
in include_from_node1 at loading.jl:88
in reload_path at loading.jl:111
in require at loading.jl:46
in include_from_node1 at loading.jl:88
in process_options at client.jl:253
in _start at client.jl:334
at /Users/thinkpad20/.julia/Winston/src/Winston.jl:31
at /Users/thinkpad20/.julia/Winston/examples/example1.jl:3
can anyone tell me what's going on? It seems to be that it can't find Base.haskey, but I'm not sure how to address that.
Try inspecting Base.VERSION
haskey was introduced in Julia v0.2 (still pre-release as of this writing), I suspect that you are running a version 0.1.x
The real problem is inside of the Winston package. It sounds like they have their REQUIRES information set up wrong. You should file an issue here: https://github.com/nolta/Winston.jl
You can also download pre-release version of 0.2 for windows and mac here: https://code.google.com/p/julialang/downloads/list