-
Notifications
You must be signed in to change notification settings - Fork 597
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Workspace Issues: Compile errors with firrtl master #499
Comments
Have you tried a publish-local in firrtl? |
I believe it should work without publish-local? |
It should, but we're still in pre-3.0.0 SNAPSHOT phase and things aren't always up to date. @ucbjrl we should probably publish a new snapshot. |
We should never force chisel users to run publish-local. Otherwise, all projects having chisel as a submodule will be messed up.(This is why I stop using chisel testers) I'm so scared that this can show up again even after we publish a new snapshot. It's also very unfortunate chisel annotations strongly depend on firrtl annotations. |
Projects using chisel as a git submodule (like rocket-chip) specifically
include the commit they know works with their other modules. They are in
complete control of the version of chisel (and dependent repos) they use.
This has always been true.
If you use the master branch of chisel, you have to use the master branch
of all dependent repos and you have to publish-local each of those repos if
you update them. This has always been true. We do not publish the master
branches. They change much to frequently.
If you use the release branch of chisel, you have to use the release branch
of all dependent repos. In this case, these are published for you (by us),
and are guaranteed to be in sync. Currently, we are still publishing
SNAPSHOTs. Once we have an API we are committed to supporting, we will
publish tagged releases, which will not change once they've been published.
If you mix master and release branches, you're on your own.
…On Thu, Feb 9, 2017 at 12:13 PM, Donggyu ***@***.***> wrote:
We should never force chisel users to run publish-local. Otherwise, all
projects having chisel as a submodule will be messed up.(This is why I stop
using chisel testers) I'm so scared that this can show up again even after
we publish a new snapshot. It's also very unfortunate chisel annotations
strongly depend on firrtl annotations.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#499 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGh1wEO4WFCl2SesdUiG8dJTd6zjSXQ_ks5ra3NfgaJpZM4L7v-T>
.
|
Look at the rocket-chip Makefrag if you want to use chisel3 and firrtl as submodules |
So, having firrtl as an unmanaged dependency is not working with chisel3? Writing makefile in this ways is too brutal. This brings chaos the projects I'm working on. |
@ucbjrl might know the more specific details, but basically sbt does not allow you to override library dependencies with a local subproject. This is a known issue sbt/sbt#2777. The best solution we have come up with is what rocket-chip currently implements. |
Regardless of whether sbt lets you do things, having so many project
dependencies that are all kind of part of the same thing is very user
unfriendly. Especially for people just starting out... I understand (sort
of) the point of breaking Chisel into Chisel, FIRRTL, Chisel-Testers, etc.,
but it was a lot easier from the user perspective to have one unified
Chisel, like with Chisel2.
Also, is there a better way than currently exists to be able to design
something *potentially* to use with rocket-chip but not have all of the
overhead of being compliant with rocket-chip versions of Chisel? (Besides
black boxing your stuff?) This seems to be quite problematic when you need
a feature of Chisel that's in a newer version than what rocket-chip
sub-projects.
And you're pretty much cornered into using rocket-chip style Makefrags when
you really shouldn't be needing to....
…On Thursday, February 9, 2017, Jack Koenig ***@***.***> wrote:
@ucbjrl <https://github.com/ucbjrl> might know the more specific details,
but basically sbt does not allow you to override library dependencies with
a local subproject. This is a known issue sbt/sbt#2777
<sbt/sbt#2777>. The best solution we have come
up with is what rocket-chip currently implements.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#499 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGTTFoepPW26BpLpIsWEIQttl0fpbNAkks5ra8LVgaJpZM4L7v-T>
.
|
New users don't have to include lots of things, they can just include chisel3 and optionally the chisel-testers if they want those too. Regardless, new uses should use the chisel-template so that they don't have to create their own build.sbt which having to figure out is generally pretty unfriendly for new people. As for using rocket-chip with different versions of Chisel, I'm not sure but this seems like a good thing to look in to. |
This needs to be documented, and snapshots should be publishing more regularly. |
Superseded by #556 |
I have compile errors with firrtl master as follows:
The text was updated successfully, but these errors were encountered: