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

Error loading ShipMMG when building Docker environment #48

Closed
hinata235 opened this issue Jul 3, 2023 · 2 comments
Closed

Error loading ShipMMG when building Docker environment #48

hinata235 opened this issue Jul 3, 2023 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@hinata235
Copy link
Contributor

I tried to use the ShipMMG library in a Docker environment with the Dockerfile, but it throws an error at the Docker container building stage. It seems that there is some conflict between Turing and ParameterizedFunctions loaded in the Dockerfile. Below is the Dockerfile and the error logs.

Dockerfile.

FROM jupyter/datascience-notebook:julia-1.8.5

USER root

WORKDIR /workdir

RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="CSV",version="0.10.9")); using CSV'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="Revise",version="3.5.1")); using Revise'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="Distributions",version="0.25.80")); using Distributions'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="StatsPlots",version="0.15.4")); using StatsPlots'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="StatsBase",version="0.33.21")); using StatsBase'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="KernelDensity",version="0.6.5")); using KernelDensity'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter",version="1.0.20")); using JuliaFormatter'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="ShipMMG",version="0.0.6")); using ShipMMG'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="Plots",version="1.38.4")); using Plots'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="DifferentialEquations",version="7.6.0")); using DifferentialEquations'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="DataFrames",version="1.4.4")); using DataFrames'
RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="Turing",version="0.21.13")); using Turing'

Error log when building Docker containers.

#0 231.5   ✓ DifferentialEquations
#0 276.6   ✗ ShipMMG
#0 276.6   181 dependencies successfully precompiled in 267 seconds. 202 already precompiled.
#0 276.6   1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package
#0 316.0 WARNING: Method definition subsumes(Setfield.IdentityLens, Setfield.IdentityLens) in module AbstractPPL at /opt/julia/packages/AbstractPPL/xvJWs/src/varname.jl:277 overwritten in module DynamicPPL at /opt/julia/packages/DynamicPPL/zPOYL/src/varname.jl:2.
#0 316.0   ** incremental compilation may be fatally broken for this module **
#0 316.0 
#0 320.7 WARNING: both Turing and ParameterizedFunctions export "@model"; uses of it in module ShipMMG must be qualified
#0 320.8 ERROR: LoadError: UndefVarError: @model not defined
#0 321.5 Stacktrace:
#0 321.5  [1] top-level scope
#0 321.5    @ :0
#0 321.5  [2] include(mod::Module, _path::String)
#0 321.5    @ Base ./Base.jl:419
#0 321.5  [3] include(x::String)
#0 321.5    @ ShipMMG /opt/julia/packages/ShipMMG/noAyN/src/ShipMMG.jl:1
#0 321.5  [4] top-level scope
#0 321.5    @ /opt/julia/packages/ShipMMG/noAyN/src/ShipMMG.jl:20
#0 321.5  [5] include
#0 321.5    @ ./Base.jl:419 [inlined]
#0 321.5  [6] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
#0 321.5    @ Base ./loading.jl:1554
#0 321.5  [7] top-level scope
#0 321.5    @ stdin:1
#0 321.5 in expression starting at /opt/julia/packages/ShipMMG/noAyN/src/kt.jl:335
#0 321.5 in expression starting at /opt/julia/packages/ShipMMG/noAyN/src/kt.jl:310
#0 321.5 in expression starting at /opt/julia/packages/ShipMMG/noAyN/src/ShipMMG.jl:1
#0 321.5 in expression starting at stdin:1
#0 322.0 ERROR: Failed to precompile ShipMMG [37f2b0bf-0c13-4883-8808-e75eb56597e7] to /opt/julia/compiled/v1.8/ShipMMG/jl_PaduNM.
#0 322.6 Stacktrace:
#0 322.6  [1] error(s::String)
#0 322.6    @ Base ./error.jl:35
#0 322.6  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
#0 322.6    @ Base ./loading.jl:1707
#0 322.6  [3] compilecache
#0 322.6    @ ./loading.jl:1651 [inlined]
#0 322.6  [4] _require(pkg::Base.PkgId)
#0 322.6    @ Base ./loading.jl:1337
#0 322.6  [5] _require_prelocked(uuidkey::Base.PkgId)
#0 322.6    @ Base ./loading.jl:1200
#0 322.6  [6] macro expansion
#0 322.6    @ ./loading.jl:1180 [inlined]
#0 322.6  [7] macro expansion
#0 322.6    @ ./lock.jl:223 [inlined]
#0 322.6  [8] require(into::Module, mod::Symbol)
#0 322.6    @ Base ./loading.jl:1144
------
Dockerfile-with-features:16
--------------------
  14 |     RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="KernelDensity",version="0.6.5")); using KernelDensity'
  15 |     RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter",version="1.0.20")); using JuliaFormatter'
  16 | >>> RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="ShipMMG",version="0.0.6")); using ShipMMG'
  17 |     RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="Plots",version="1.38.4")); using Plots'
  18 |     RUN julia -e 'using Pkg; Pkg.add(PackageSpec(name="DifferentialEquations",version="7.6.0")); using DifferentialEquations'
--------------------
ERROR: failed to solve: process "/bin/bash -o pipefail -c julia -e 'using Pkg; Pkg.add(PackageSpec(name=\"ShipMMG\",version=\"0.0.6\")); using ShipMMG'" did not complete successfully: exit code: 1
@hinata235
Copy link
Contributor Author

When building the environment with the Dockerfile used:
Turing = "0.21.13" ParameterizedFunctions = "5.15.0"

@taiga4112
Copy link
Contributor

From your error log, it seems that the macro name "@model" is duplicated between Turing.jl and ParameterizedFunction.jl.

@taiga4112 taiga4112 self-assigned this Jul 3, 2023
@taiga4112 taiga4112 added the bug Something isn't working label Jul 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants