electronic_eel has quit [Ping timeout: 265 seconds]
<esden>
hey all, I am sorry if it is a very stupid question. (it seems that others don't have that issue) I was trying to install a newer version of glasgow (current master) and it is failing during the fx2 dependency install with.
<esden>
```
<esden>
running build_ext
<esden>
make: *** ../firmware/library: No such file or directory. Stop.
<esden>
I have to work on my python setup script fu... I am not sure about what that path is relative to. I would imagine that it is trying to find the fx2 library. But the relative path to the software directoly would be ../vendor/libfx2/firmware/library ?
<esden>
Anyways, pointers welcome. :)
<electronic_eel_>
esden: IIRC I had that problem too
<electronic_eel_>
it happens when you do not have libfx2 installed and you try to install the glasgow software
<electronic_eel_>
the glasgow setup sees that libfx2 is missing and it is building it as dependency
<electronic_eel_>
IIRC I fixed it by cloning libfx2 and installing it with it's setup before installing glasgow
electronic_eel_ is now known as electronic_eel
<electronic_eel>
I should have probably created a pr (or a patch)
<esden>
Ohh ok, I will try that. I was just following the README instructions. Those are already missing the mention of --recursive or `submodule init` & `submodule update`. I will send in a pr for the things when I actually manage to get things to work again. I got it to work in the past ;)
<whitequark>
electronic_eel: esden: yeah, it's a submodule
<esden>
It worked by going into the submodule and installing it manually... but following the readme fails.
<whitequark>
yes, just fixed that
<_whitenotifier>
[GlasgowEmbedded/Glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JeszF
<esden>
ok... I maved away ~/.local to ~/.local-bak ... then cloned glasgow cleanly, inistialized the submodule, and ran `python3.7 setup.py develop --user`
<esden>
this results in `Running fx2-0.7/setup.py -q bdist_egg --dist-dir /tmp/easy_install-79s02p_0/fx2-0.7/egg-dist-tmp-sxx_cxu9`
<esden>
`make: *** ../firmware/library: No such file or directory. Stop.`
<whitequark>
hm
<esden>
I guess it is downloading it from pypi instead of using the submodule
<_whitenotifier>
[Glasgow] electroniceel commented on pull request #158: cli: make output legible on black-on-white terminals too - https://git.io/JesVY
<desalin>
I see this channel is not for Glasgow (City of). Any of the good people here know where one would look for such?
<_whitenotifier>
[Glasgow] whitequark commented on pull request #158: cli: make output legible on black-on-white terminals too - https://git.io/JesVG
<_whitenotifier>
[Glasgow] electroniceel commented on pull request #158: cli: make output legible on black-on-white terminals too - https://git.io/JesVu
<_whitenotifier>
[Glasgow] whitequark commented on pull request #158: cli: make output legible on black-on-white terminals too - https://git.io/JesVz
<_whitenotifier>
[Glasgow] whitequark closed pull request #158: cli: make output legible on black-on-white terminals too - https://git.io/JesRa
<_whitenotifier>
[GlasgowEmbedded/Glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JesVg
<_whitenotifier>
[GlasgowEmbedded/Glasgow] electroniceel b6c88af - cli: make output legible on black-on-white terminals too
<ZirconiumX>
It'd be a two-hash channel if so; i.e. ##glasgow
<whitequark>
(a) i don't really use haskell, (b) i've had to debug the output of clash and it is of horrendous quality
<whitequark>
totally unreadable, you basically have to reverse-engineer it
<bgamari_>
that is true
<bgamari_>
whitequark, the output definitely isn't readable
<whitequark>
as an aside, my view is that a language is not enough
<whitequark>
you need an stdlib and a portability layer
<bgamari_>
that being said, in my experience if you take advantage of the type safety that the language provides you generally don't need to read the output
<whitequark>
which... are not really separate
<whitequark>
you always need to read the output.
<whitequark>
at the very least, because of toolchain bugs downstream
<emily>
can't say nmigen's output for Glasgow stuff is exactly stellar reading material either...
<whitequark>
is it not?
<bgamari_>
I'll admit, I did end up killing a day tracing unexpected behavior of a clash design back to vivado's buggy synthesis
<bgamari_>
so you raise a fair point
<bgamari_>
but that is the only time I've had to read the output, thankfully
<bgamari_>
otherwise things "just worked" which was a very pleasant surprise
<bgamari_>
admittedly, I am also rather biased towards Haskell
<emily>
whitequark: i wouldn't describe this 11k line top.il file as particularly elucidating :v
<whitequark>
have you done any designs in clash that had complicated clock trees and CDC arrangement?
<whitequark>
emily: uh
<whitequark>
the verilog output is the human readable one
<bgamari_>
whitequark, I've had a couple of clock domains
<whitequark>
(not as much as it should be, but i'll fix that)
<bgamari_>
nothing terribly crazy though
<emily>
Clash certainly has more clock-domain-crossing guarantees than nmigen does currently...
<whitequark>
emily: I think you're missing my point
* bgamari_
suspects he is as well
<emily>
I mean, you can lean on the compiler more when it's actually checking substantial design properties I think
<emily>
but I agree that ugly compiler output is of course not necessarily beneficial
<whitequark>
Clash is (in principle) good if you can express everything you need (especially CDC stuff) in its type system, because you can't really read its output, even in a pinch
<whitequark>
nMigen doesn't have a type syste, but you can read its output fairly easily
<whitequark>
this means that *if* everything you need fits into clash's model, *then* clash is clearly better
<whitequark>
but otherwise it's clearly worse
<whitequark>
it's a fairly common tradeoff with tools like it.
<bgamari_>
sure
<whitequark>
which is why I'm asking if it can express complex CDC stuff.
<whitequark>
maybe it's good enough! i don't know! that's the question
<whitequark>
or suck o^W^W somehow convince lattice management to release you the right data which they'd have to generate from their models with some cadence crap