Как решить "scala.collection.immutable.StringLike.toString with signature () Ljava.lang.String; не найден". в низком уровне? - PullRequest
0 голосов
/ 23 октября 2019

При попытке скомпилировать битовый поток RISC-V для Nexys4 я столкнулся со следующей ошибкой:

~/riscv/lowrisc-chip/fpga/board/nexys4_ddr$ CONFIG=Nexys4DebugConfig make jump
FPGA_DIR=/home/user/riscv/lowrisc-chip/fpga/board/nexys4_ddr BASE_DIR=/home/user/riscv/lowrisc-chip/fpga/bare_metal/examples make -C examples jump.hex
make[1]: Entering directory '/home/user/riscv/lowrisc-chip/fpga/board/nexys4_ddr/examples'
make[1]: 'jump.hex' is up to date.
make[1]: Leaving directory '/home/user/riscv/lowrisc-chip/fpga/board/nexys4_ddr/examples'
cp examples/jump.hex src/boot.mem && make bit-update
make[1]: Entering directory '/home/user/riscv/lowrisc-chip/fpga/board/nexys4_ddr'
make -C ../../../rocket-chip/vsim verilog
make[2]: Entering directory '/home/user/riscv/lowrisc-chip/rocket-chip/vsim'
make -C /home/user/riscv/lowrisc-chip/rocket-chip/firrtl SBT="java -jar /home/user/riscv/lowrisc-chip/rocket-chip/sbt-launch.jar" root_dir=/home/user/riscv/lowrisc-chip/rocket-chip/firrtl build-scala
make[3]: Entering directory '/home/user/riscv/lowrisc-chip/rocket-chip/firrtl'
java -jar /home/user/riscv/lowrisc-chip/rocket-chip/sbt-launch.jar "assembly"
java.lang.NoSuchMethodError: method scala.collection.immutable.StringLike.toString with signature ()Ljava.lang.String; was not found.
   at org.apache.ivy.core.RelativeUrlResolver.r$71be2a5f(RelativeUrlResolver.java:224)
   at scala.collection.immutable.StringOps.r$506e3f25(StringOps.scala:31)
   at scala.collection.immutable.StringOps.r(StringOps.scala:31)
   at xsbt.boot.CrossVersionUtil$.<init>(CrossVersionUtil.scala:12)
   at xsbt.boot.CrossVersionUtil$.<clinit>(CrossVersionUtil.scala)
   at java.lang.Class.initializeClass(libgcj.so.17)
   at xsbt.boot.ConfigurationParser$$anonfun$3.apply(ConfigurationParser.scala:70)
   at xsbt.boot.ConfigurationParser$$anonfun$processSection$1.apply(ConfigurationParser.scala:109)
   at xsbt.boot.ConfigurationParser.process(ConfigurationParser.scala:110)
   at xsbt.boot.ConfigurationParser.processSection(ConfigurationParser.scala:109)
   at xsbt.boot.ConfigurationParser.xsbt$boot$ConfigurationParser$$apply(ConfigurationParser.scala:49)
   at xsbt.boot.ConfigurationParser$$anonfun$apply$3.apply(ConfigurationParser.scala:47)
   at xsbt.boot.Using$.withResource(Using.scala:10)
   at xsbt.boot.Using$.apply(Using.scala:9)
   at xsbt.boot.Configuration$$anonfun$parse$1.apply(Configuration.scala:21)
   at xsbt.boot.Using$.withResource(Using.scala:10)
   at xsbt.boot.Using$.apply(Using.scala:9)
   at xsbt.boot.Configuration$.parse$fcb646c(Configuration.scala:21)
   at xsbt.boot.Launch$.apply(Launch.scala:18)
   at xsbt.boot.Boot$.runImpl(Boot.scala:41)
   at xsbt.boot.Boot$.main(Boot.scala:17)
   at xsbt.boot.Boot.main(Boot.scala)
Error during sbt execution: java.lang.NoSuchMethodError: method scala.collection.immutable.StringLike.toString with signature ()Ljava.lang.String; was not found.
Makefile:25: recipe for target '/home/user/riscv/lowrisc-chip/rocket-chip/firrtl/utils/bin/firrtl.jar' failed
make[3]: *** [/home/user/riscv/lowrisc-chip/rocket-chip/firrtl/utils/bin/firrtl.jar] Error 1
make[3]: Leaving directory '/home/user/riscv/lowrisc-chip/rocket-chip/firrtl'
/home/user/riscv/lowrisc-chip/rocket-chip/Makefrag:27: recipe for target '/home/user/riscv/lowrisc-chip/rocket-chip/firrtl/utils/bin/firrtl.jar' failed
make[2]: *** [/home/user/riscv/lowrisc-chip/rocket-chip/firrtl/utils/bin/firrtl.jar] Error 2
make[2]: Leaving directory '/home/user/riscv/lowrisc-chip/rocket-chip/vsim'
Makefile:121: recipe for target 'verilog' failed
make[1]: *** [verilog] Error 2
make[1]: Leaving directory '/home/user/riscv/lowrisc-chip/fpga/board/nexys4_ddr'
Makefile:252: recipe for target 'jump' failed
make: *** [jump] Error 2

Я использую следующее руководство, чтобы провести меня по этому https://www.lowrisc.org/docs/debug-v0.3/fpga/ однако в нем ничего не говорится о такого рода ошибках.

Руководство предлагает выполнить:

cd $TOP/fpga/board/nexys4_ddr
make cleanall
CONFIG=Nexys4DebugConfig make jump

Что и происходит на последнем шаге, при CONFIG = Nexys4DebugConfig make jump

Я нахожусь в системе Debian 9.11.

Я пытался самостоятельно найти эту конкретную ошибку. Я нашел это java.lang.NoSuchMethodError: scala.collection.immutable.StringLike.toString , но не похоже, что оно связано.

...