-
Notifications
You must be signed in to change notification settings - Fork 24
Description
Hi!
I have been trying to use PyNetLogo inside a container because my university HPC does not have NetLogo 6.3 installed. I have not been able to load a model successfully so far.
I am on a Ubuntu 20.04 container and whether I use the java jvm in the NetLogo 6.3 runtime folder or I install a separate java (13/17) using apt-get install, I still get a problem when loading the model.
Here is the error message (I have attached the singularity build for reference):
import pynetlogo
>>> jvm_path = "/usr/lib/jvm/java-17-openjdk-amd64/lib/server/"
>>> nl = pynetlogo.NetLogoLink(gui=False, netlogo_home='/opt/NetLogo', jvm_path=jvm_path)
>>> nl.load_model('/Netlogo/BC_model_inductive_firms.nlogo')
java.lang.NoSuchMethodError: 'void org.objectweb.asm.MethodVisitor.visitMethodInsn(int, java.lang.String, java.lang.String, java.lang.String, boolean)'
at org.nlogo.generate.Generator$InstructionGenerator.generateConstructor(Generator.scala:124)
at org.nlogo.generate.Generator$InstructionGenerator.generate(Generator.scala:94)
at [org.nlogo.generate.Generator.org](https://urldefense.com/v3/__http:/org.nlogo.generate.Generator.org__;!!PAKc-5URQlI!8ON1ThkluqUVPIDJG7Ee-Ix2k8FJz7ofXKVGQyVGBPuCd6dZ40okuc8HGSadKUzbVHVpNnTMXN8qADddyOZBQIDlUKfgm0U$)$nlogo$generate$Generator$$recurse(Generator.scala:29)
at org.nlogo.generate.Generator.$anonfun$generate$1(Generator.scala:25)
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:286)
at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:198)
at scala.collection.TraversableLike.map(TraversableLike.scala:286)
at scala.collection.TraversableLike.map$(TraversableLike.scala:279)
at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:198)
at org.nlogo.generate.Generator.generate(Generator.scala:25)
at org.nlogo.compile.CompilerMain$.assembleProcedure(CompilerMain.scala:89)
at org.nlogo.compile.CompilerMain$.$anonfun$compile$1(CompilerMain.scala:65)
at scala.collection.immutable.List.map(List.scala:293)
at org.nlogo.compile.CompilerMain$.compile(CompilerMain.scala:65)
at org.nlogo.compile.Compiler.compileProgram(Compiler.scala:54)
at org.nlogo.headless.HeadlessModelOpener.openFromModel(HeadlessModelOpener.scala:50)
at org.nlogo.headless.HeadlessWorkspace.openModel(HeadlessWorkspace.scala:535)
at org.nlogo.headless.HeadlessWorkspace.open(HeadlessWorkspace.scala:502)
at netLogoLink.NetLogoLink.loadModel(NetLogoLink.java:132)
I have been trying to debug it by installing different versions of Java (13/17) without success. I have tried changing the jvm path to the NetLogo folder '/opt/NetLogo/lib/runtime/lib/client/' without success. Same with setting JAVA_Home to the NetLogo runtime as opposed to the openJDK version.
When I do it on my windows computer simply setting JAVA_HOME to my NetLogo runtime folder it does work.