franktakes / teexgraph

C++ library for large-scale network analysis and computation
GNU General Public License v3.0
24 stars 8 forks source link

Compilation problems since last few larger changes #17

Closed franktakes closed 2 years ago

franktakes commented 2 years ago

Recently, there have been a few issues with compilation, depending on the versions of the system considered.

In particular, on CentOS 7 machines, the compilation fails as a result of a compiler flag that is missing. To solve this, in the CMakeLists.txt file, -std=c++17 should be appended to the two lines of target_compile_options()

A second error is on these older compilers is of the form /teexgraph/src/Graph.cpp:706:120: error: ‘scope’ is predetermined ‘shared’ for ‘shared’ where basically in the #pragma omp# commands, the variable 'scope' should be removed from the shared() list to make the code compile

franktakes commented 2 years ago

And the third, which I for now solved by removing the function it concerns, which is obviously not the solution.


In file included from teexgraph/src/BDGraph.cpp:17:0:
teexgraph/include/teexgraph/Graph.h:228:1: error: default argument for template parameter for class enclosing ‘void teexgraph::Graph::loadDirectedFromVectors(const std::vector<_RealType>&, const std::vector<_RealType>&)’
 ){
franktakes commented 2 years ago

The last error is one on linking, plugin needed to handle lto object, and then separate cpp files not being able to see the functions of the other. This was solved after adding the -ffat-lto-objects to the compile options.