Open mgaudet opened 5 years ago
You're right: we should update the list of pre-requisites. I knew about dwarf and elf, but somehow seem to have missed when libz and cuda became mandatory. And they should absolutely be documented! Thanks for pointing it out @mgaudet !
@rwy0717 @dnakamura could you please have a think about whether we really need all these to be compulsory requirements for every OMR consumer and then document the ones that need to be?
Randomly, I came across the PR that brought in the libz dependency, I think: https://github.com/eclipse/omr/pull/4267
CUDA is purely optional, but libdwarf+libelf+libz are needed for DDR. Try turning off DDR with cmake -DOMR_DDR=OFF
.
Maybe DDR should be turned off by default?
Thx @rwy0717 : I noticed that the CUDA dependency is just a warning (while I was building the JitBuilder release binaries :) ).
Agree with @charliegracie that we may want to turn DDR off by default (and document that when turned on, it pulls in the libdwarf+libelf+libz dependency).
If CUDA is "purely optional" then why does it print a warning if you don't have it? Is there another flag (OMR_CUDA?) that should also be disabled by default?
OMR_CUDA is an optional feature of the port component, only enabled if cuda is found on your system. We could disable this feature by default, but I prefer the model where a component's optional features are automatically enabled when possible. These messages are generated by cmake when a dependency (via find_package) isn't found, even if it's optional. It's possible to silence, but I think this information is useful, if unfortunately verbose. Personally, I would rather just leave it alone.
If we want to turn DDR off by default, I don't really have an opinion, but do I think we need to have a broader discussion about what it means to build OMR "standalone" (for instance, why are any components enabled by default?).
EDIT:
I've had a user request to "soften" the "cuda not found" message, so please let's do that. I created https://github.com/eclipse/omr/issues/4396 .
Documenting component dependencies is probably a larger issue we need to address across the board. I also created https://github.com/eclipse/omr/issues/4397 .
Any other opinions on disabling DDR by default?
Any other opinions on disabling DDR by default?
@keithc-ca any thoughts?
The danger of disabling DDR by default is that OMR might accept changes that break DDR. I'd prefer to keep it enabled by default.
I think the 'CUDA not found' message is due to the find_package(CUDA)
added by #3808; I'm not sure what can be done to 'soften' that message.
I have mixed feelings about the current behavior: It's not clear that we'll get the right result if a user has more than one version of the CUDA toolkit installed. I understand there are ways to guide it to choose the one you want, but you'll need google's help to find them.
@keith-ca Disabling DDR by default and not doing builds with DDR enabled are two different things, so let's not confuse them.
I would be ok with most of our PR builds explicitly enabling DDR so long as we have at least one (say, an extra x86_64 linux build?) that builds with the defaults to make sure we aren't breaking that use case either. Thoughts?
Agreed, as long as PR builds enable DDR it should be less likely to break. We may have to do something explicitly to ensure that's the case.
Opened PRs #4403 and #4404.
This issue is stale because it has been open 180 days with no activity. Remove stale label or comment on the issue or it will be closed in 60 days.
The building w/ cmake instructions are still out of date, so I am removing the stale label.
It seems that the build requirements aren't documented anywhere?
I have clang + CMake + make installed, but when following the instructions I get
I can't seem to find documentation suggesting I need
libdwarf
,libelf
,libz
orcuda
?(These seem to be the blessed install instructions linked to from the readme)