Julia 预编译使用ParallelAccelerator的模块时发出警告

Julia 预编译使用ParallelAccelerator的模块时发出警告,julia,Julia,每当我尝试使用ParallelAccelerator对包含的模块进行预编译时,我都会收到以下警告: WARNING: eval from module J2CArray to Foo: Expr(:block, Expr(:line, 69, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :j2c_array_size,

每当我尝试使用ParallelAccelerator对包含
的模块进行预编译时,我都会收到以下警告:

WARNING: eval from module J2CArray to Foo:    
Expr(:block, Expr(:line, 69, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :j2c_array_size, Expr(:::, :arr, Expr(:curly, :Ptr, :Void)::Any)::Any, Expr(:::, :dim, :Int)::Any)::Any, Expr(:block, Expr(:line, 70, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :l = Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :j2c_array_size)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, :Cuint, Expr(:tuple, Expr(:curly, :Ptr, :Void)::Any, :Cuint)::Any, :arr, Expr(:call, :convert, :Cuint, :dim)::Any)::Any, Expr(:line, 72, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:return, Expr(:call, :convert, :Int, :l)::Any)::Any)::Any)::Any, Expr(:line, 77, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :j2c_array_to_pointer, Expr(:::, :arr, Expr(:curly, :Ptr, :Void)::Any)::Any, Expr(:::, :own, :Bool)::Any)::Any, Expr(:block, Expr(:line, 78, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :j2c_array_to_pointer)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, Expr(:curly, :Ptr, :Void)::Any, Expr(:tuple, Expr(:curly, :Ptr, :Void)::Any, :Bool)::Any, :arr, :own)::Any)::Any)::Any, Expr(:line, 84, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :j2c_array_get, Expr(:::, :arr, Expr(:curly, :Ptr, :Void)::Any)::Any, Expr(:::, :idx, :Int)::Any, Expr(:::, :T, :Type)::Any)::Any, Expr(:block, Expr(:line, 85, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :nbytes = Expr(:if, Expr(:call, :===, :T, Expr(:curly, :Ptr, :Void)::Any)::Any, 0, Expr(:call, :sizeof, :T)::Any)::Any, Expr(:line, 86, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :_value = Expr(:call, Expr(:curly, :Array, :T)::Any, 1)::Any, Expr(:line, 87, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :j2c_array_get)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, :Void, Expr(:tuple, :Cint, Expr(:curly, :Ptr, :Void)::Any, :Cuint, Expr(:curly, :Ptr, :Void)::Any)::Any, Expr(:call, :convert, :Cint, :nbytes)::Any, :arr, Expr(:call, :convert, :Cuint, :idx)::Any, Expr(:call, :convert, Expr(:curly, :Ptr, :Void)::Any, Expr(:call, :pointer, :_value)::Any)::Any)::Any, Expr(:line, 89, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:return, Expr(:ref, :_value, 1)::Any)::Any)::Any)::Any, Expr(:line, 94, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, Expr(:curly, :j2c_array_set, :T)::Any, Expr(:::, :arr, Expr(:curly, :Ptr, :Void)::Any)::Any, Expr(:::, :idx, :Int)::Any, Expr(:::, :value, :T)::Any)::Any, Expr(:block, Expr(:line, 95, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :nbytes = Expr(:if, Expr(:call, :===, :T, Expr(:curly, :Ptr, :Void)::Any)::Any, 0, Expr(:call, :sizeof, :T)::Any)::Any, Expr(:line, 96, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :_value = Expr(:if, Expr(:call, :==, :nbytes, 0)::Any, :value, Expr(:call, :convert, Expr(:curly, :Ptr, :Void)::Any, Expr(:call, :pointer, Expr(:ref, :T, :value)::Any)::Any)::Any)::Any, Expr(:line, 97, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :j2c_array_set)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, :Void, Expr(:tuple, :Cint, Expr(:curly, :Ptr, :Void)::Any, :Cuint, Expr(:curly, :Ptr, :Void)::Any)::Any, Expr(:call, :convert, :Cint, :nbytes)::Any, :arr, Expr(:call, :convert, :Cuint, :idx)::Any, :_value)::Any)::Any)::Any, Expr(:line, 107, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :j2c_array_delete, Expr(:::, :arr, Expr(:curly, :Ptr, :Void)::Any)::Any)::Any, Expr(:block, Expr(:line, 108, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :j2c_array_delete)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, :Void, Expr(:tuple, Expr(:curly, :Ptr, :Void)::Any)::Any, :arr)::Any)::Any)::Any, Expr(:line, 115, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :j2c_array_deref, Expr(:::, :arr, Expr(:curly, :Ptr, :Void)::Any)::Any)::Any, Expr(:block, Expr(:line, 116, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :j2c_array_deref)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, :Void, Expr(:tuple, Expr(:curly, :Ptr, :Void)::Any)::Any, :arr)::Any)::Any)::Any, Expr(:line, 119, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:if, Expr(:call, :>=, :VERSION, Expr(:macrocall, :@v_str, "0.6.0-pre")::Any)::Any, Expr(:block, Expr(:line, 121, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :to_j2c_array, Expr(:::, :inp, :AbstractString)::Any, :ptr_array_dict, :mapAtypeKey, :j2c_array_new)::Any, Expr(:block, Expr(:line, 122, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :arr = Expr(:call, :to_j2c_array, Expr(:call, Expr(:curly, :Vector, :UInt8)::Any, :inp)::Any, :ptr_array_dict, :mapAtypeKey, :j2c_array_new)::Any, Expr(:line, 123, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :new_ascii_string)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, Expr(:curly, :Ptr, :Void)::Any, Expr(:tuple, Expr(:curly, :Ptr, :Void)::Any)::Any, :arr)::Any)::Any)::Any)::Any, Expr(:block, Expr(:line, 127, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :to_j2c_array, Expr(:::, :inp, :AbstractString)::Any, :ptr_array_dict, :mapAtypeKey, :j2c_array_new)::Any, Expr(:block, Expr(:line, 128, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :arr = Expr(:call, :to_j2c_array, Expr(:., :inp, :data)::Any, :ptr_array_dict, :mapAtypeKey, :j2c_array_new)::Any, Expr(:line, 129, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :new_ascii_string)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, Expr(:curly, :Ptr, :Void)::Any, Expr(:tuple, Expr(:curly, :Ptr, :Void)::Any)::Any, :arr)::Any)::Any)::Any)::Any)::Any, Expr(:line, 134, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:function, Expr(:call, :from_ascii_string, Expr(:::, :str, Expr(:curly, :Ptr, :Void)::Any)::Any, :ptr_array_dict)::Any, Expr(:block, Expr(:line, 135, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :data = Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :from_ascii_string)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, Expr(:curly, :Ptr, :Void)::Any, Expr(:tuple, Expr(:curly, :Ptr, :Void)::Any)::Any, :str)::Any, Expr(:line, 136, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, :arr = Expr(:call, :_from_j2c_array, :data, :UInt8, 1, :ptr_array_dict)::Any, Expr(:line, 137, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:call, :ccall, Expr(:tuple, Expr(:quote, :delete_ascii_string)::Any, "/home/miguel/.julia/v0.6/ParallelAccelerator/src/../deps/libj2carray.so.1.0")::Any, :Void, Expr(:tuple, Expr(:curly, :Ptr, :Void)::Any)::Any, :str)::Any, Expr(:line, 138, Symbol("/home/miguel/.julia/v0.6/ParallelAccelerator/src/j2c-array.jl"))::Any, Expr(:return, :arr)::Any)::Any)::Any)::Any
  ** incremental compilation may be broken for this module **
我可以用5行代码重现这个警告。首先,我创建模块:

Foo.jl

__precompile__()

module Foo
    using ParallelAccelerator
end
using Foo
然后我创建一个测试脚本:

测试.jl

__precompile__()

module Foo
    using ParallelAccelerator
end
using Foo
最后,我使用julia0.6.4运行测试脚本

$ julia test.jl

这是ParallelAccelerator的问题还是我的系统设置的问题?

你是想用Foo编写吗?是的,对不起。我会编辑它。