blackbear submodule not linking against conda std library #16867
-
I'm getting a build error on my Mac laptop when I try to build blackbear with the neml submodule. I can build blackbear without neml and I can build neml by itself but I keep getting the below error when I try to build blackbear with the neml submodule. I can build them together on sawtooth so it must be something in my environment but I'm not sure what. I've deleted my moose repo, blackbear repo and re-cloned them. I'm using the standard moose conda environment using the instructions from the moose conda install help page. I brew uninstalled everything to make sure that wasn't causing the conflict and it wasn't because I still get the neml build error. I think there is something in the blackbear/contrib/neml.mk that is causing this but I can't figure out what. Has anyone seen this error and know how to fix it?
|
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 15 replies
-
Best match I've found so far is: https://trac.macports.org/ticket/60962 |
Beta Was this translation helpful? Give feedback.
-
Ok I think I've figured this out. Here is a test program: #include <iostream>
#include <some_crazy_name_bar>
using namespace std;
int main()
{
bar();
cout << "Hello World!\nI'm a C++ program\n";
} and here is the directory containing it:
And then following clang's suggestion to use quotes for including
Another compilation method that works fine:
So the key takeaways:
I am honestly kind of shocked we haven't run into an issue like this before |
Beta Was this translation helpful? Give feedback.
-
D'Uh, Lynn, you're encountering this because you're using a case
insensitive filesystem. My fs is case sensitive (as I'm used to that from
Linux), so I was unable to reproduce this issue.
…On Mon, Feb 8, 2021 at 12:22 PM Lynn Munday ***@***.***> wrote:
I'm going to make an issue for this in blackbear and update the neml.mk
file with the -I replaced with -iquote .
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#16867 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABRMPUR5MIE52CNGUDUAG3S6A2X3ANCNFSM4XACPMCQ>
.
|
Beta Was this translation helpful? Give feedback.
Ok I think I've figured this out. Here is a test program:
and here is the directory containing it:
iostream
is some dummy file that that does not contain a definition ofstd::cout
.some_crazy_name_bar
is a file that defines the methodvoid bar() {}
. Here are some different compilation attempts: