Open cr1901 opened 7 years ago
It seems like you have put in quite some effort to make this work. I tried something similar and eventually gave up. I think one problem is that libelf is too old to work, and has been more or less replace with elfutils. Unfortunately, it seems like no one has ever managed to compile elfutils on Windows.
This is very unfortunate, since elf-loader is a dependency for a lot of the systems in the base library. I've been thinking a lot about how to solve this, and come to the conclusion that I will need to either or both
So, for now, all I can say is that I'm sorry that things involving elf-loader doesn't work well on windows. I've had reports that it might work on cygwin, so maybe that could be a workaround.
maybe elfutils has gotten better nowdays?
When attempting to use
iverilog
withfusesoc
, compiling the elf-loader, compilation of the VPI module fails due to missing<gelf.h>
:On msys2 installations, libelf headers are provided under
/mingw{32,64}/include/libelf
. For now, I hardcoded theicarus
simulator to search that path.When that issue is taken care of, I tickle what I suspect is a bug in
iverilog-vpi
(have not currently checked if it was reported, too busy), so I had to compile to object files manually and pass in the object files toiverilog-vpi
(since I cannot customize how VPI modules are build in fusesoc).Even after all that, compiling the elf-loader failed because it appears my
libelf
is too new (which is the one provided by msys2):At the moment, I am unsure how to proceed, but the consequence is that iverilog simulation does not work at all since (AFAICT) the elf loader is a prerequisite. This is a placeholder issue for now. I currently don't have the time to try and fix this myself :(.