-
Notifications
You must be signed in to change notification settings - Fork 301
Resolve test failures on mac: ignore the compile warning #4388
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
base: devel
Are you sure you want to change the base?
Conversation
fe3fa51 to
c233359
Compare
ignore the compile warning refs libMesh#4387
c233359 to
f035b7c
Compare
|
Test failures are in metaphyscl and unrelated |
Wait - this isn't a mix of incompatible XDR installations, this is a single XDR implementation that's incompatible with itself? Or ... is it an XDR implementation that's incompatible with the original XDR definition? I don't see how a decade-old API change has started biting us now, but I don't think it's safe to just cast a function taking 2 args to a function taking 3 and cross our fingers about what happens at runtime. I'd like to see what the official Apple word is on all this, but a search for "xdrproc_t site:apple.com" just brings up this: a URL for an iOS man page with a header saying it's an OSX man page and the text of a BSD man page, wherein Logan switched our recipe environment yesterday to try to work around this mess, but if this is an OSX issue and not just an Intel-Mac-software-decay issue then we're going to need a more robust solution. Let me see what I can do. |
I was somehow still too pessimistic here - it looks like it's an XDR implementation that's incompatible with the original XDR definition and incompatible with itself. The compiler's not complaining that we're trying to cast our own functions of an incompatible type to I'm going back to my "Intel-Mac-software-decay" hypothesis, but with more disdain this time. Those function types do look incompatible to me, not just the compiler, and if they are incompatible then letting something call them after casting from one to the other is undefined behavior. If the new recipe works fine then I'm personally okay with letting libMesh on the old environment serve as a cautionary tale rather than as a finite element library. |
not the most glorious way of fixing this but copilot says the alternative is to write wrappers, which I think defeat the purpose of the templating done here?
Happy to close this if you have a better solution
refs #4387