Skip to content
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

Building Elemental on mac #30

Closed
ViralBShah opened this issue Nov 14, 2015 · 16 comments
Closed

Building Elemental on mac #30

ViralBShah opened this issue Nov 14, 2015 · 16 comments

Comments

@ViralBShah
Copy link
Member

Is building on a mac supported? The Elemental build failed with:

In file included from /Users/viral/.julia/v0.5/Elemental/deps/src/Elemental/src/blas_like/level1-C.cpp:9:
In file included from /Users/viral/.julia/v0.5/Elemental/deps/src/Elemental/include/El.hpp:15:
In file included from /Users/viral/.julia/v0.5/Elemental/deps/src/Elemental/include/El/core.hpp:182:
/Users/viral/.julia/v0.5/Elemental/deps/src/Elemental/include/El/core/Element/impl.hpp:562:43: error: 
      no matching function for call to 'round'
inline T Round( const T& alpha ) { return round(alpha); }
                                          ^~~~~
@poulson
Copy link

poulson commented Nov 14, 2015

Hi Viral,

Yes, I had just temporarily broken master for Clang due to Ubuntu's GCC being more permissive. It should work now.

EDIT: My mac is down right now (upgrading to El Cap was apparently a bluetooth-ridden mistake) so I'm unable to currently test, but it's looking like your version is more recent than I thought. I just committed the following three-liner which might fix the problem: elemental/Elemental@14f7189

@poulson
Copy link

poulson commented Nov 14, 2015

Amateur hour should finally be over:
elemental/Elemental@94a3292

EDIT: Still working on it. My recent addition of std::enable_if to help resolve different templated functions with the same name is apparently much more delicate in Clang and I hope to have a solution soon.

@poulson
Copy link

poulson commented Nov 15, 2015

I'll be flying blind with Clang support until Monday, but the following changeset attempts to make my new usages of std::enable_if closer to the C++14 implementation of std::enable_if_t: elemental/Elemental@f34d442

@ViralBShah
Copy link
Member Author

Thanks @poulson. Trying again now.

@ViralBShah
Copy link
Member Author

Now I get:

/Users/viral/.julia/v0.5/Elemental/deps/src/Elemental/include/El/core/Element/impl.hpp:602:30: error: 
      template parameter redefines default argument
template<typename T,typename=EnableIf<IsScalar<T>>>

@poulson
Copy link

poulson commented Nov 15, 2015

@ViralBShah Progress! This should hopefully finish the job: elemental/Elemental@57d89c9

EDIT: And a subsequent bugfix: elemental/Elemental@6d070c0

@ViralBShah
Copy link
Member Author

I did a git pull in the Julia package directory where Elemental sources are checked out and doing Pkg.build() again. Is there a better way to do this?

@poulson
Copy link

poulson commented Nov 15, 2015

I believe that is the best practice. Things have been much less stable than normal over the last week due to me pushing the library towards supporting some number theory (and my portable build cluster being half out of commission until Monday).

@ViralBShah
Copy link
Member Author

Still seeing these. I wonder if I am doing something wrong with the build.

/Users/viral/.julia/v0.5/Elemental/deps/src/Elemental/include/El/core/Element/impl.hpp:561:30: error: 
      template parameter redefines default argument
template<typename T,typename=EnableIf<IsScalar<T>>>

@ViralBShah
Copy link
Member Author

Wiped Elemental and restarting Pkg.build.

@ViralBShah
Copy link
Member Author

Still dies with the same error as above.

@poulson
Copy link

poulson commented Nov 15, 2015

No, you're not doing anything wrong, I'm just hamstrung due to my Clang machine being temporarily out-of-commission and GCC apparently being extremely permissive with SFINAE in comparison. I'm trying to fix this ASAP by setting up a clang environment.

@ViralBShah
Copy link
Member Author

No worries. I can try again in a few days, once you get things running again.

@poulson
Copy link

poulson commented Nov 15, 2015

I now have a replacement clang build environment put together (after issues with clang-3.5 and clang-3.6 having internal parsing errors compiling MPICH on Ubuntu); fix imminent

@poulson
Copy link

poulson commented Nov 15, 2015

@ViralBShah The clang build is now fixed for me as of this commit: elemental/Elemental@45ac75a

Thanks for your patience!

@ViralBShah
Copy link
Member Author

Build succeeded. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants