YosysHQ / fpga-toolchain

Multi-platform nightly builds of open source FPGA tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

yosys-smtbmc is broken in windows build

edbordin opened this issue · comments

On other platforms this is a python script, for windows an exe launcher is generated but make install doesn't seem to be adding the script it expects.

$ yosys-smtbmc.exe --help
Cannot open <snip>\fpga-toolchain\bin\yosys-smtbmc-script.py

If I copy in the script from the linux build I get

$ yosys-smtbmc.exe --help
failed to create process.

https://github.com/YosysHQ/yosys/blob/93c6c6779861d7b41fae1b87d54790e0a9555b80/backends/smt2/smtbmc.py
https://github.com/YosysHQ/yosys/blob/93c6c6779861d7b41fae1b87d54790e0a9555b80/backends/smt2/Makefile.inc#L14
https://github.com/YosysHQ/yosys/blob/93c6c6779861d7b41fae1b87d54790e0a9555b80/misc/launcher.c

edit: related to #25

Discussed on IRC- the changes that broke @edbordin's setup were mine from a while back.

By design, the binary compiled from launcher.c will read the shebang line of yosys-smtbmc-script.py, and try to invoke a Python interpreter pointed to by that line. If the launcher can't find the interpreter, you get that helpful error.

The build system will attempt to search for a python binary and prepend yosys-smtbmc-script.py accordingly. However, if that search logic fails, a use can pass make PYTHON=C:\path\to\python.exe to force the shebang line to anything they want while yosys is installed.

fixed in #38 - worked out the shebang seems to work with a relative path so I bundled python3.8.exe but renamed it to python3-private.exe. We already have all of lib/python3.8 for nextpnr anyway. Seems to work transparently and should avoid issues that might have otherwise been caused by putting MinGW python into PATH.