-
Notifications
You must be signed in to change notification settings - Fork 3
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
Compilation error: ‘shared_ptr’ in namespace ‘std’ does not name a template type #7
Comments
@pettyalex Do you have any comments on this issue? I have tried compiling it but it does not compile on our computing cluster due to the same errors (and cmake) version. I thought you might have a better idea on how to fix this. I know there is a cmake 3.5 available; however 3.3 is the latest version available on both computing clusters that I have access to. Is there a way to revert the minimum required version to 3.25 or 3.3? |
Cmake 3.5 was released 6 years ago: https://cmake.org/files/v3.5/ cmake 3.22 and 3.25 are much, much newer than cmake 3.5, so that's not the problem. To me, this looks like a missing #include in ilash, probably because of efforts to reduce internal dependencies within libstdc++ over the last few years. I've seen this in several applications, ilash probably uses some things without actually #include -ing the headers that define them. I'll take a look, this should be easy to reproduce and fix on Ubuntu 22.04. To prevent and fix these kinds of problems, there's a tool called "include what you use" to make sure that you include what you use: https://include-what-you-use.org/ |
Thank you so much Alex!! I will also try to learn and use the "include what you use" tool tonight. |
It's not particularly user friendly, kind of annoying to work with. It's
very useful for these types of problems, though!
…On Thu, Nov 10, 2022 at 10:45 AM Roohy (Ruhollah) Shemirani < ***@***.***> wrote:
Thank you so much Alex!! I will also try to learn and use the "include
what you use" tool tonight.
—
Reply to this email directly, view it on GitHub
<#7 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAYR5RORWBHOGI2LUFENPLTWHURDNANCNFSM6AAAAAAR4I4RHM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Well, there's a fix for this problem. I'm attaching the whole output from include-what-you-use if you want to go fishing for the rest: If you'd like, I can run the tool's auto-fix mode and commit that |
Great! Thank you, Alex! |
I think it'd be wisest to fix this first ASAP for @Deleetdk , and then I'll look at integrating include-what-you-use into cmake the right way rather than just doing a one time fixup, if you're interested |
Oh, and if you want to see all of the gory details behind why this broke, check it out here: statgen/savvy#26 (comment) |
I agree. I will add merge your current commit immediately then. |
Running Mint 21 (Ubuntu 22.04).
cmake
ran fine,make
gives some c errors.Instructions say cmake of >= 3.5, but there's no such thing as far as I can tell: https://cmake.org/download/. Newest stable is 3.25. Installed is 3.22:
The text was updated successfully, but these errors were encountered: