cselab / smarties

Lightweight and scalable framework for Reinforcement Learning
MIT License
117 stars 50 forks source link

Compilation error on Linux #10

Open aureva opened 2 years ago

aureva commented 2 years ago

Hi,

I got the following compilation errors :

_/home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/../Network/Layers/Layers.h:454:0: warning: ignoring #pragma omp simd [-Wunknown-pragmas]

pragma omp simd aligned(ret, inputs : VEC_WIDTH)

^ In file included from /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/../Utils/StatsTracker.h:12:0, from /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/Learner.h:14, from /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/Learner_approximator.h:12, from /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/PPO.h:12, from /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/PPO.cpp:9: /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/../Utils/ThreadSafeVec.h: In constructor 'smarties::THRvec::THRvec(smarties::Uint, T)': /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/../Utils/ThreadSafeVec.h:31:45: error: 'make_unique' is not a member of 'std' for(Uint i=0; i<nThreads; ++i) m_v[i] = std::make_unique(initial); ^ /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/../Utils/ThreadSafeVec.h:31:63: error: expected primary-expression before '>' token for(Uint i=0; i<nThreads; ++i) m_v[i] = std::make_unique(initial); ^ /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/../Utils/ThreadSafeVec.h: In member function 'void smarties::THRvec::resize(smarties::Uint)': /home/aurelien.vadrot/TOOLS/smarties/source/smarties/Learners/../Utils/ThreadSafeVec.h:45:16: error: 'make_unique' is not a member of 'std' m_v[i] = std::makeunique(initial); ^ compilation terminated due to -fmax-errors=3. make[2]: [CMakeFiles/libsmarties.dir/source/smarties/Learners/PPO.cpp.o] Error 1 make[1]: [CMakeFiles/libsmarties.dir/all] Error 2 make: *** [all] Error 2

I loaded: 1) gcc/4.8.5 2) cmake/3.8.0 and I installed other requirements with install_dependencies.sh Could you please help me with that ?

Thanks !

aureva commented 2 years ago

I fixed the problem changing the version of gcc to 7.1.0 and cmake to 3.23