Skip to content

BaseModelica.jl pre-compiling test package is broken #256

@AnHeuermann

Description

@AnHeuermann

Issue

The BaseModelica.jl test job is broken: https://libraries.openmodelica.org/branches/basemodelica_jl_master/Modelica_4.1.0/Modelica_4.1.0.html.
Every test has error message

julia --sysimage=/var/lib/jenkins/ws/OpenModelicaLibraryTestingWork/OpenModelicaLibraryTesting/TestBaseModelica.so Modelica.Blocks.Examples.BooleanNetwork1_test.jl
fatal: error thrown and no exception handler available.
InitError(mod=:C, error=ErrorException("no environment in the LOAD_PATH ([\"/home/hudson/saved_omc/libraries/.julia/environments/v1.11/Project.toml\", \"/opt/julia/julia-1.11.6/share/julia/stdlib/v1.11\"]) depends on CondaPkg"))

Julia uses the HOME variable to setup an environment. So this is persistent between different Jobs which is not good.

On our test server there seem to be some incompatibility between the installed Python modules and Python dependencies of BaseModelica.jl:

[ Info: PackageCompiler: Executing /home/andreas/workdir/OM/OpenModelicaLibraryTesting/TestBaseModelica/precompile_skript.jl => /tmp/jl_packagecompiler_VfUSyu/jl_bRRMHD
[ Info: Running CauerLowPassAnalog ...
┌ Error: Failed to initialize ANTLR parser
│   exception = Python: ModuleNotFoundError: No module named 'antlr4'
└ @ BaseModelica ~/.julia/packages/BaseModelica/eRfgs/src/antlr_parser.jl:74
┌ Info: The ANTLR parser requires:
│ 1. Generated parser files (run: cd grammar && ./build_parser.sh)
│ 2. Python dependencies (managed automatically by CondaPkg.jl)
│ 
│ If you're seeing import errors, the Python dependencies should be installed
└ automatically. Try restarting Julia to trigger CondaPkg installation.
┌ Warning: ... failed!
└ @ Main ~/workdir/OM/OpenModelicaLibraryTesting/TestBaseModelica/precompile_skript.jl:30

My best guess is that the CondaPkg installation breaks pre-compiling with PackageCompiler.jl. We could try switching to PrecompileTools.jl.

Adding flag --no-julia-sys-image to the test script could be a quick and dirty solution.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions