<hackerfoo>
I'm having difficulty determining why the device specific channels.db is empty. CMake doesn't seem to be able to handle it correctly, because if I delete it, it won't be rebuilt. Is it being modified during the build process?
flammit has quit [*.net *.split]
mats has quit [*.net *.split]
diamondman has quit [*.net *.split]
flammit_ is now known as flammit
mats_ is now known as mats
diamondman_ is now known as diamondman
<hackerfoo>
prjxray_create_edges.py is deleting it for some reason.
<hackerfoo>
It gets copied from build/xc7/archs/artix7, then the script deletes it and crashes. At least I can re-run the script now.
<hackerfoo>
No, that changes the error.
<litghost>
hackerfoo: Is the channels.db in build/xc7/archs/artix7 empty?
<litghost>
hackerfoo: Because that would explain what you are seeing
<hackerfoo>
No, it's 700+ MB
<litghost>
hackerfoo: To be clear, are you running in a clean tree?
<litghost>
hackerfoo: e.g. master
<hackerfoo>
No, I'm not. Building the other ROI works fine.
<litghost>
hackerfoo: Do you have changes other than the ROI?
<hackerfoo>
I'm just trying to make the error reproducible, so I can fix it, but I think the script trashes the DB.
<hackerfoo>
Lots of changes, but I don't see an easy way to isolate them.
<litghost>
hackerfoo: The reason CMake copies the db, than runs prjxray_create_edges is so that if prjxray_create_edges fails it doesn't corrupt the db from prjxray_form_channels
<litghost>
hackerfoo: FYI, if CMake fails a generation step, it deletes the generated output
<litghost>
hackerfoo: E.g. if prjxray_create_edges fails (e.g. return non-zero) then CMake will delete the new database
<hackerfoo>
Each command in the build should be idempotent, though.
<litghost>
hackerfoo: Exactly and they are
<litghost>
hackerfoo: The step takes the DB from prjxray_form_channels and creates a new output
<hackerfoo>
If I copy the DB, I get a different error, though, so I'm missing a step.
<litghost>
hackerfoo: The step always starts from the original non-edged db