Clemapfel / jluna

Julia Wrapper for C++ with Focus on Safety, Elegance, and Ease of Use
https://clemens-cords.com/jluna
MIT License
239 stars 12 forks source link

v0.9.0 build issues Ubuntu g++10 #21

Closed connorfuhrman closed 2 years ago

connorfuhrman commented 2 years ago

I encounters some build issues with version 0.9.0 when building in Ubuntu 20.04.

I was able to install and ctest did not report any errors so I'm assuming these changes are correct :shrug: . These are small changes so I'll submit a PR quickly and let y'all determine if my errors are one-offs or not.

OS: Ubuntu 20.04 Compiler: GCC 11 (installed via apt)

connorfuhrman commented 2 years ago

Mutex error: image

connorfuhrman commented 2 years ago

ThreadPool error: image

Clemapfel commented 2 years ago
// in .src/multi_thread.inl
namespace detail
{
    template<typename Result_t>
    struct TaskValue : public detail::TaskSuper
    {
        friend class ThreadPool; // here

This friend declaration inherited the above namespace, triggering detail::ThreadPool to be declared but not defined. I assume the fact this triggers an error is due to a subtle difference between how G++-10 and 11 solve ambiguity.

Either way, it was fixed by https://github.com/Clemapfel/jluna/pull/22

Thank you for contributing!