MagneticResonanceImaging / MRIReco.jl

Julia Package for MRI Reconstruction
https://magneticresonanceimaging.github.io/MRIReco.jl/latest/
Other
86 stars 22 forks source link

Precompile for MRIReco fails #5

Closed mjherold closed 4 years ago

mjherold commented 4 years ago

The precompile for MRIReco seems to fail on my platform. I get the following error after using MRIReco.

WARNING: could not import LinearOperators.FuncOrNothing into MRIReco
ERROR: LoadError: LoadError: LoadError: UndefVarError: FuncOrNothing not defined

The module LinearOperators precompiles without a problem, and also passes test LinearOperators.

julia> versioninfo()
Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin18.6.0)
  CPU: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, skylake)

Thank you in advance for any help with this issue!

Michael J Herold

tknopp commented 4 years ago

Dear Michael,

thanks for the bug report! I cannot reproduce here for version 0.21 and also for master. Could you please report the version of MRIReco that you are using. Best is if you report the output of

(v1.3) pkg> st --manifest MRIReco

Mine looks like this:

(v1.3) pkg> st --manifest MRIReco
    Status `~/.julia/environments/v1.3/Manifest.toml`
  [31c24e10] Distributions v0.21.12
  [7a1cc6ca] FFTW v1.2.0
  [5789e2e9] FileIO v1.2.2
  [a2bd30eb] Graphics v0.4.0
  [f67ccb44] HDF5 v0.12.5
  [8ad4436d] ImageUtils v0.2.1 [`~/.julia/dev/ImageUtils`]
  [9c8b4983] LightXML v0.8.1
  [5c8ed15e] LinearOperators v1.0.1
  [bdf86e05] MRIReco v0.2.1
  [efe261a4] NFFT v0.5.0
  [a3a9e032] NIfTI v0.4.0
  [92933f4c] ProgressMeter v1.2.0
  [189a3867] Reexport v0.2.0
  [1e9c538a] RegularizedLeastSquares v0.5.1
  [a5ff1dd3] SparsityOperators v0.1.5
  [2913bbd2] StatsBase v0.32.1
  [1986cc42] Unitful v0.17.0
  [29a6e085] Wavelets v0.9.0
  [8ba89e20] Distributed 
  [37e2e46d] LinearAlgebra 
  [9a3f8284] Random 
mjherold commented 4 years ago

Dear Tobias:

My output for the MRIReco manifest looks like:

(v1.3) pkg> st --manifest MRIReco
    Status `~/.julia/environments/v1.3/Manifest.toml`
  [3da002f7] ColorTypes v0.9.1
  [c3611d14] ColorVectorSpace v0.8.3
  [31c24e10] Distributions v0.22.4
  [e30172f5] Documenter v0.24.5
  [7a1cc6ca] FFTW v1.2.0
  [5789e2e9] FileIO v1.2.2
  [a2bd30eb] Graphics v1.0.1
  [f67ccb44] HDF5 v0.12.5
  [cd3eb016] HTTP v0.8.9
  [6218d12a] ImageMagick v1.1.2
  [916415d5] Images v0.22.0
  [9c8b4983] LightXML v0.8.1
  [5c8ed15e] LinearOperators v1.0.1
  [bdf86e05] MRIReco v0.2.0
  [efe261a4] NFFT v0.4.0
  [a3a9e032] NIfTI v0.4.0
  [92933f4c] ProgressMeter v1.2.0
  [dca85d43] QuartzImageIO v0.7.0
  [189a3867] Reexport v0.2.0
  [1e9c538a] RegularizedLeastSquares v0.5.1
  [2913bbd2] StatsBase v0.32.1
  [1986cc42] Unitful v1.0.0
  [29a6e085] Wavelets v0.9.0
  [8ba89e20] Distributed
  [37e2e46d] LinearAlgebra
  [9a3f8284] Random

The list contains more packages than the output you show. Maybe a fresh Julia install will resolve this, which I did, and then added MRIReco. Still same Julia version and commit as before, but the only package add done was for MRIReco:

Julia Version 1.3.1
Commit 2d5741174c (2019-12-30 21:36 UTC)

Adding MRIReco worked fine now.

julia> using MRIReco
[ Info: Precompiling MRIReco [bdf86e05-2d2b-5731-a332-f3fe1f9e047f]

(v1.3) pkg>

Now the manifest output is:

(v1.3) pkg> st --manifest MRIReco
    Status `~/.julia/environments/v1.3/Manifest.toml`
  [31c24e10] Distributions v0.21.12
  [7a1cc6ca] FFTW v1.2.0
  [5789e2e9] FileIO v1.2.2
  [a2bd30eb] Graphics v0.4.0
  [f67ccb44] HDF5 v0.12.5
  [8ad4436d] ImageUtils v0.2.0
  [9c8b4983] LightXML v0.8.1
  [5c8ed15e] LinearOperators v1.0.1
  [bdf86e05] MRIReco v0.2.1
  [efe261a4] NFFT v0.5.0
  [a3a9e032] NIfTI v0.4.0
  [92933f4c] ProgressMeter v1.2.0
  [189a3867] Reexport v0.2.0
  [1e9c538a] RegularizedLeastSquares v0.5.1
  [a5ff1dd3] SparsityOperators v0.1.5
  [2913bbd2] StatsBase v0.32.1
  [1986cc42] Unitful v0.17.0
  [29a6e085] Wavelets v0.9.0
  [8ba89e20] Distributed
  [37e2e46d] LinearAlgebra
  [9a3f8284] Random

Fewer packages are no now in the list, and maybe there is some subtle conflict with one of the additional packages listed before the fresh Julia install.

Thank you for the feedback! Hopefully from here it is smooth sailing.

Michael

tknopp commented 4 years ago

ok, yes your versions were old. That was a time where the Julia ecosystem had no upper version bounds, which was an inherent problem. Now the entire package ecosystem has upper version bounds and such things should not really happen anymore. You could have solved this by simply updating the packages ] up.

Anyway: I hope that you find this package useful and please report issues or things where you are missing something. I am confident that our approach has many advantages but apparently, there are already established packages. In turn I am happy about anybody finding this useful :-)

mjherold commented 4 years ago

Tobias: Thank you and sorry for what with hindsight could have been avoided. I just started to use Julia, having done most work up to now in Python.

Michael

On Feb 28, 2020, at 1:12 PM, Tobias Knopp notifications@github.com wrote:

ok, yes your versions were old. That was a time where the Julia ecosystem had no upper version bounds, which was an inherent problem. Now the entire package ecosystem has upper version bounds and such things should not really happen anymore. You could have solved this by simply updating the packages ] up.

Anyway: I hope that you find this package useful and please report issues or things where you are missing something. I am confident that our approach has many advantages but apparently, there are already established packages. In turn I am happy about anybody finding this useful :-)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/MagneticResonanceImaging/MRIReco.jl/issues/5?email_source=notifications&email_token=ABQVJP6G3SL6BVZROPZ7ARDRFFHY3A5CNFSM4K3UGPWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENJTUMQ#issuecomment-592656946, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQVJP3TCDUO7MKTDU2I7TDRFFHY3ANCNFSM4K3UGPWA.

wizofe commented 4 years ago

Hello! I am getting the same error here. I tried to up my packages but still the same error. I am using Julia 1.5b.

[ Info: Precompiling MRIReco [bdf86e05-2d2b-5731-a332-f3fe1f9e047f]
WARNING: could not import LinearOperators.FuncOrNothing into MRIReco
ERROR: LoadError: LoadError: LoadError: UndefVarError: FuncOrNothing not defined
Stacktrace:
 [1] top-level scope at /home/iva19/.julia/packages/MRIReco/2dde9/src/Operators/NFFTOp.jl:5
 [2] include(::Function, ::Module, ::String) at ./Base.jl:380
 [3] include at ./Base.jl:368 [inlined]
 [4] include(::String) at /home/iva19/.julia/packages/MRIReco/2dde9/src/MRIReco.jl:1
 [5] top-level scope at /home/iva19/.julia/packages/MRIReco/2dde9/src/Operators/Operators.jl:4
 [6] include(::Function, ::Module, ::String) at ./Base.jl:380
 [7] include at ./Base.jl:368 [inlined]
 [8] include(::String) at /home/iva19/.julia/packages/MRIReco/2dde9/src/MRIReco.jl:1
 [9] top-level scope at /home/iva19/.julia/packages/MRIReco/2dde9/src/MRIReco.jl:35
 [10] include(::Function, ::Module, ::String) at ./Base.jl:380
 [11] include(::Module, ::String) at ./Base.jl:368
 [12] top-level scope at none:2
 [13] eval at ./boot.jl:331 [inlined]
 [14] eval(::Expr) at ./client.jl:467
 [15] top-level scope at ./none:3

Thanks!

tknopp commented 4 years ago

Hi @wizofe,

I am currently making a release, which will be version 0.2.4. I think with that an up should install this version. If not it would be helpful to post the output of ] st and ] st --manifest.

What is happening is that another project is holding back an upgrade of MRIReco.

Best, Tobi

wizofe commented 4 years ago

Hi Tobias,

thanks for your reply! Still the same even after up-ping! Here are the results of the output you asked:

(@v1.5) pkg> st
Status `~/.julia/environments/v1.5/Project.toml`
  [39de3d68] AxisArrays v0.4.3
  [f67ccb44] HDF5 v0.13.2
  [7073ff75] IJulia v1.21.2
  [86fae568] ImageView v0.10.9
  [5c8ed15e] LinearOperators v1.1.0
  [23992714] MAT v0.8.0
  [bdf86e05] MRIReco v0.2.0
  [78eec104] MagneticResonanceSignals v0.1.0 `https://github.com/TRIImaging/MagneticResonanceSignals.jl#master`
  [1986cc42] Unitful v1.3.0

and

Status `~/.julia/environments/v1.5/Manifest.toml`
  [7b86fcea] ATK_jll v2.34.1+2
  [621f4979] AbstractFFTs v0.5.0
  [c7e460c6] ArgParse v1.1.0
  [13072b0f] AxisAlgorithms v1.0.0
  [39de3d68] AxisArrays v0.4.3
  [a74b3585] Blosc v0.7.0
  [0b7ba130] Blosc_jll v1.14.3+1
  [e1450e63] BufferedStreams v1.0.0
  [6e34b625] Bzip2_jll v1.0.6+2
  [159f3aea] Cairo v1.0.4
  [83423d85] Cairo_jll v1.16.0+4
  [aafaddc9] CatIndices v0.2.1
  [944b1d66] CodecZlib v0.7.0
  [3da002f7] ColorTypes v0.10.7
  [c3611d14] ColorVectorSpace v0.8.5
  [5ae59095] Colors v0.12.3
  [34da2185] Compat v3.13.0
  [e66e0078] CompilerSupportLibraries_jll v0.3.3+0
  [ed09eef8] ComputationalResources v0.3.2
  [8f4d0f93] Conda v1.4.1
  [187b0558] ConstructionBase v1.0.0
  [150eb455] CoordinateTransformations v0.6.0
  [adafc99b] CpuId v0.2.2
  [a8cc5b0e] Crayons v4.0.3
  [dc8bdbbb] CustomUnitRanges v1.0.0
  [717857b8] DSP v0.6.7
  [9a962f9c] DataAPI v1.3.0
  [864edb3b] DataStructures v0.17.19
  [e2d170a0] DataValueInterfaces v1.0.0
  [ee1fde0b] Dbus_jll v1.12.16+0
  [b4f34e82] Distances v0.8.2
  [31c24e10] Distributions v0.23.5
  [ffbed154] DocStringExtensions v0.8.2
  [e30172f5] Documenter v0.25.1
  [da5c29d0] EllipsisNotation v0.4.0
  [2e619515] Expat_jll v2.2.7+3
  [e2ba6199] ExprTools v0.1.1
  [8f5d6c58] EzXML v1.1.0
  [4f61f5a4] FFTViews v0.3.1
  [7a1cc6ca] FFTW v1.2.2
  [f5851436] FFTW_jll v3.3.9+5
  [9aa1b823] FastClosures v0.3.2
  [5789e2e9] FileIO v1.4.0
  [1a297f60] FillArrays v0.8.13
  [53c48c17] FixedPointNumbers v0.8.4
  [a3f928ae] Fontconfig_jll v2.13.1+12
  [59287772] Formatting v0.4.1
  [d7e528f0] FreeType2_jll v2.10.1+2
  [559328eb] FriBidi_jll v1.0.5+3
  [77ec8976] GTK3_jll v3.24.11+2
  [92fee26a] GZip v0.5.1
  [78b55507] Gettext_jll v0.20.1+4
  [7746bdde] Glib_jll v2.59.0+2
  [75302f13] Graphene_jll v1.10.0+2
  [a2bd30eb] Graphics v1.0.2
  [3b182d85] Graphite2_jll v1.3.13+1
  [4c0ca9eb] Gtk v1.1.4
  [27996c0f] GtkReactive v1.0.3
  [f67ccb44] HDF5 v0.13.2
  [0234f1f7] HDF5_jll v1.10.5+5
  [cd3eb016] HTTP v0.8.17
  [2e76f6c2] HarfBuzz_jll v2.6.1+5
  [7073ff75] IJulia v1.21.2
  [bbac6d45] IdentityRanges v0.3.1
  [2803e5a7] ImageAxes v0.6.4
  [f332f351] ImageContrastAdjustment v0.3.5
  [a09fc81d] ImageCore v0.8.14
  [51556ac3] ImageDistances v0.2.7
  [6a3955dd] ImageFiltering v0.6.14
  [6218d12a] ImageMagick v1.1.5
  [c73af94c] ImageMagick_jll v6.9.10-12+3
  [bc367c6b] ImageMetadata v0.9.1
  [787d08f9] ImageMorphology v0.2.8
  [2996bd0c] ImageQualityIndexes v0.1.4
  [4e3cecfd] ImageShow v0.2.3
  [02fcd773] ImageTransformations v0.8.5
  [86fae568] ImageView v0.10.9
  [916415d5] Images v0.22.4
  [9b13fd28] IndirectArrays v0.5.1
  [83e8ac13] IniFile v0.5.0
  [1d5cc7b8] IntelOpenMP_jll v2018.0.3+0
  [a98d9a8b] Interpolations v0.12.10
  [8197267c] IntervalSets v0.5.1
  [d8418881] Intervals v1.4.1
  [c8e1da08] IterTools v1.3.0
  [42fd0dbc] IterativeSolvers v0.8.4
  [82899510] IteratorInterfaceExtensions v1.0.0
  [682c06a0] JSON v0.21.0
  [aacddb02] JpegTurbo_jll v2.0.1+1
  [dd4b983a] LZO_jll v2.10.0+1
  [42c93a91] Libepoxy_jll v1.5.4+0
  [e9f186c6] Libffi_jll v3.2.1+1
  [d4300ac3] Libgcrypt_jll v1.8.5+1
  [7e76a0d4] Libglvnd_jll v1.3.0+1
  [7add5ba3] Libgpg_error_jll v1.36.0+1
  [94ce4f54] Libiconv_jll v1.16.0+5
  [4b2f31a3] Libmount_jll v2.34.0+1
  [89763e89] Libtiff_jll v4.1.0+0
  [38a345b3] Libuuid_jll v2.34.0+4
  [9c8b4983] LightXML v0.9.0
  [5c8ed15e] LinearOperators v1.1.0
  [5ced341a] Lz4_jll v1.9.2+2
  [23992714] MAT v0.8.0
  [856f044c] MKL_jll v2020.1.216+0
  [bdf86e05] MRIReco v0.2.0
  [1914dd2f] MacroTools v0.5.5
  [78eec104] MagneticResonanceSignals v0.1.0 `https://github.com/TRIImaging/MagneticResonanceSignals.jl#master`
  [dbb5928d] MappedArrays v0.2.2
  [739be429] MbedTLS v1.0.2
  [c8ffd9c3] MbedTLS_jll v2.16.6+1
  [e1d29d7a] Missings v0.4.3
  [78c3b35d] Mocking v0.7.1
  [e94cdb99] MosaicViews v0.2.2
  [efe261a4] NFFT v0.5.1
  [a3a9e032] NIfTI v0.4.1
  [77ba4419] NaNMath v0.3.4
  [6fe1bfb0] OffsetArrays v1.1.2
  [efe28fd5] OpenSpecFun_jll v0.5.3+3
  [bac558e1] OrderedCollections v1.3.0
  [2f80f16e] PCRE_jll v8.42.0+2
  [90014a1f] PDMats v0.10.0
  [5432bcbf] PaddedViews v0.5.5
  [36c8627f] Pango_jll v1.42.4+8
  [d96e819e] Parameters v0.12.1
  [69de0a69] Parsers v1.0.7
  [30392449] Pixman_jll v0.38.4+2
  [f27b6e38] Polynomials v1.1.3
  [08abe8d2] PrettyTables v0.9.1
  [92933f4c] ProgressMeter v1.3.2
  [1fd47b50] QuadGK v2.4.0
  [dca85d43] QuartzImageIO v0.6.0
  [b3c3ace0] RangeArrays v0.3.2
  [c84ed2f1] Ratios v0.4.0
  [a223df75] Reactive v0.8.3
  [3cdcf5f2] RecipesBase v1.0.2
  [189a3867] Reexport v0.2.0
  [1e9c538a] RegularizedLeastSquares v0.6.4
  [ae029012] Requires v1.0.1
  [79098fc4] Rmath v0.6.1
  [f50d1b31] Rmath_jll v0.2.2+1
  [6038ab10] Rotations v1.0.1
  [d5f540fe] RoundingIntegers v0.2.0
  [21efa798] SIMDPirates v0.8.19
  [699a6c99] SimpleTraits v0.9.2
  [b85f4697] SoftGlobalScope v1.0.10
  [a2af1166] SortingAlgorithms v0.3.1
  [a5ff1dd3] SparsityOperators v0.1.6
  [276daf66] SpecialFunctions v0.10.3
  [90137ffa] StaticArrays v0.12.4
  [2913bbd2] StatsBase v0.33.0
  [4c63d2b9] StatsFuns v0.9.5
  [3783bdb8] TableTraits v1.0.0
  [bd369af6] Tables v1.0.5
  [b718987f] TextWrap v1.0.1
  [06e1c1a7] TiledIteration v0.2.4
  [f269a46b] TimeZones v1.3.1
  [a759f4b9] TimerOutputs v0.5.6
  [3bb67fe8] TranscodingStreams v0.9.5
  [3a884ed6] UnPack v1.0.1
  [1986cc42] Unitful v1.3.0
  [42071c24] UnitfulRecipes v0.2.4
  [3d5dd08c] VectorizationBase v0.12.28
  [81def892] VersionParsing v1.2.0
  [29a6e085] Wavelets v0.9.2
  [a2964d1f] Wayland_jll v1.17.0+1
  [2381bf8a] Wayland_protocols_jll v1.18.0+1
  [efce3f68] WoodburyMatrices v0.5.2
  [02c8fc9c] XML2_jll v2.9.10+1
  [aed1982a] XSLT_jll v1.1.33+2
  [4f6342f7] Xorg_libX11_jll v1.6.9+2
  [0c0b7dd1] Xorg_libXau_jll v1.0.9+2
  [3c9796d7] Xorg_libXcomposite_jll v0.4.5+2
  [935fb764] Xorg_libXcursor_jll v1.2.0+2
  [0aeada51] Xorg_libXdamage_jll v1.1.5+2
  [a3789734] Xorg_libXdmcp_jll v1.1.3+2
  [1082639a] Xorg_libXext_jll v1.3.4+2
  [d091e8ba] Xorg_libXfixes_jll v5.0.3+2
  [a51aa0fd] Xorg_libXi_jll v1.7.10+2
  [d1454406] Xorg_libXinerama_jll v1.1.4+2
  [ec84b674] Xorg_libXrandr_jll v1.5.2+2
  [ea2f1a96] Xorg_libXrender_jll v0.9.10+2
  [b6f176f1] Xorg_libXtst_jll v1.2.3+2
  [14d82f49] Xorg_libpthread_stubs_jll v0.1.0+1
  [c7cfdc94] Xorg_libxcb_jll v1.13.0+2
  [cc61e674] Xorg_libxkbfile_jll v1.1.0+2
  [35661453] Xorg_xkbcomp_jll v1.4.2+2
  [33bec58e] Xorg_xkeyboard_config_jll v2.27.0+1
  [c5fb5394] Xorg_xtrans_jll v1.4.0+1
  [c2297ded] ZMQ v1.2.1
  [8f1865be] ZeroMQ_jll v4.3.2+4
  [83775a58] Zlib_jll v1.2.11+14
  [3161d3a3] Zstd_jll v1.4.5+0
  [b437f822] adwaita_icon_theme_jll v3.33.92+3
  [de012916] at_spi2_atk_jll v2.34.1+1
  [0fc3237b] at_spi2_core_jll v2.34.0+1
  [da03df04] gdk_pixbuf_jll v2.38.2+6
  [059c91fe] hicolor_icon_theme_jll v0.17.0+1
  [bf975903] iso_codes_jll v4.3.0+1
  [b53b4c65] libpng_jll v1.6.37+3
  [d8fb68d0] xkbcommon_jll v0.9.1+1
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8bb1440f] DelimitedFiles
  [8ba89e20] Distributed
  [7b1f6079] FileWatching
  [b77e0a4c] InteractiveUtils
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [1a1011a3] SharedArrays
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [4607b0f0] SuiteSparse
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode

😮 Thanks for your help.

Ioannis

tknopp commented 4 years ago

Hi, it seems that your registry was not updated then. I recommend cleaning ~/.julia/clones/ and ~/.julia/registries/ and again do up. You may want to backup both directories but I usually just rm them.

If that does not help, you may also start from a fresh environment (just remove ~/.julia/environments/v1.5 and start adding new packages starting with MRIReco which should directly be 0.2.4).

wizofe commented 4 years ago

Hi Tobias,

thanks a lot for the instructions. This worked for my both my Linux box and Mac (had the same problem weirdly).

Best, Ioannis

tknopp commented 4 years ago

great, hope that the package is useful for you. We are open to collaborate if there are things that are missing.