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
1.12.0: build fails with psm3 provider #6614
Comments
Also looks like when LTO is used it is even worse
|
I obviously don't see this. This is based simply on untarring the package and running configure && make, correct? |
Looking closer at your output, this is an rpmbuild. We do an rpmbuild test as part of our CI, though the configure params will be different. I will try to reproduce. (The build works on my system, but I have to disable efa and psm2 from the build.) |
Using rpm means only that I'm 100% reusing build and testing procedure from prev version of the package. |
Just tested build 1.11.2 in exactly the same build env and everything is OK. |
The first Issue appears to be a missing define opa_user.h, not sure why this was not seen earlier. @kloczek, can you describe your build environment (OS, compiler, and their versions)? |
ofiwg#6614 Reviewed-by: Goldman, Adam <adam.goldman@intel.com> Signed-off-by: Todd Rimmer <todd.rimmer@intel.com>
The psm3 provider, which is failing here, is new to v1.12. Adding --disable-psm3 will likely allow your build to succeed. but we need to understand why psm3 fails for you, provide a fix, and generate a new package. |
This appears to be related to #6580. However, this will not work if you build with psm2 src. (
|
I'm using my own distribution which is fedora rawhide based (with tons of bugs fixed). |
That part in prov/psm3/Makefile.include looks looks like dirty hack.
looks like someone have been trying to use automake MyWay(tm) instead like it is used almost everywhere else. IMO those hacks are nothing more than asking for troubles. None of the automake code should use anything from any |
I don't see any issue with using the include directive to include other makefiles. (https://www.gnu.org/software/make/manual/html_node/Include.html) That part in particular is allowing separation of developer responsibilities. @jsquyres may be able to help with specific automake issues. (Despite his attempt to create memes stating otherwise, I'm still not an automake expert.) If there are specific issues in the psm3 makefile that you can point to directly, it sounds like that would be helpful. |
In that approach issue is that you don't have per directory generated Makefile. Only BecauaseWeCan(tn) should not mean to do sometbing :)
If someone using automake and libtool is think that usimg in Makefile.am $AR is necrssary to solve something that maybe truth because that person may be only thinking that it is RightWay(tm) :P To solve that issue question "why here objcopy and repackaging ar archive is used?" needs to be answered first .. |
I have been able to reproduce LTO issue on stock RHEL 8.1 (kernel/compiler) with the following command:
I extracted the flags from your make output, but not sure if there is a better way to generate these. I had to add "-Wformat " to support "-Werror=format-security" I am also not an automake expert. |
It does look like For example, I see:
Indeed, I get my own compile errors with PSM3:
If you're going to require the |
@jsquyres, I am new to automake, can you provide a better target to generate the checksum. Yes, the second bullet, specifically the objcopy line is what seems to cause the issue. Making this a simple copy allows LTO to work, breaks the isolation we were going for. As for the mavx2 option, I missed that in the other configure checks I added. I will introduce a fix for that. |
My $0.02 is that it's fairly meaningless to checksum the source every time you build. That seems more like a
@kloczek was a little snarky about it, but he's not wrong: you probably shouldn't be trying to out-Automake Automake. Meaning: you're doing un-Automake-ish things in the Automake framework. This LTO issue could be the first of multiple that you'll run into. I don't fully grok what you're trying to do, but the typical way such things are done inside Automake projects is via source code manipulation and multiple compilations (e.g., via sym links, or multiple Automake targets, ...).
👍 |
ofiwg#6614 Reviewed-by: Goldman, Adam <adam.goldman@intel.com> Signed-off-by: Todd Rimmer <todd.rimmer@intel.com> (cherry picked from commit 8967633)
ofiwg#6614 Reviewed-by: Goldman, Adam <adam.goldman@intel.com> Signed-off-by: Todd Rimmer <todd.rimmer@intel.com> (cherry picked from commit 8967633)
OK I've tested 74c9186. Looks like it fixes build when LTO is not used When LTO is used build still fails.
|
Sorry to say that but stripping optimisation flags is not the right way to solve that :/ |
Instead wasteing time on commiting temporary "woraroud" was possible to just put in README that LTO issue is not solved for now. |
Has the LTO build issue been resolved? This is fixed in v1.12.1, correct? There's a separate open issue to cleanup the psm3 build, but has this specific problem been fixed? |
This issue is stale because it has been open 360 days with no activity. Remove stale label or comment, otherwise it will be closed in 7 days. |
Source tree configured with:
and it fails with:
The text was updated successfully, but these errors were encountered: