snap-stanford / snap

Stanford Network Analysis Platform (SNAP) is a general purpose network analysis and graph mining library.
Other
2.17k stars 797 forks source link

Unable to compile #112

Closed Tusharsb closed 6 years ago

Tusharsb commented 7 years ago

I tried running make but I get this error

...
...
...
g++ -std=c++98 -Wall -O3 -DNDEBUG -fopenmp -o testSnap testSnap.cpp Snap.o -I../glib-core  -lrt
In file included from ../glib-core/base.h:178:0,
                 from Snap.h:9,
                 from testSnap.cpp:3:
../glib-core/bd.h: In instantiation of ‘void TPt<TRec>::UnRef() const [with TRec = TNEANet]’:
../glib-core/bd.h:480:16:   required from ‘TPt<TRec>::~TPt() [with TRec = TNEANet]’
network.h:2015:54:   required from here
../glib-core/bd.h:472:31: warning: deleting object of polymorphic class type ‘TNEANet’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
       if (Addr->CRef.NoRef()){delete Addr;}
                               ^
make[1]: Leaving directory `/home/.../.../snap/snap-core'

I cloned the latest code from master branch. Am I doing something wrong ?

zhenyuan992 commented 6 years ago

i have gotten a similar type of error code. running on gcc version 6.4.0 (GCC) installed on windows 10 intel i7-6500U any help will be appreciated :)

$ make all
make -C snap-core
make[1]: Entering directory '/home/aktan/Snap-4.0/snap-core'
g++ -c -Wall -D__STDC_LIMIT_MACROS -O3 -DNDEBUG Snap.cpp -I../glib-core
In file included from ../glib-core/base.h:182:0,
                 from Snap.h:9,
                 from Snap.cpp:4:
../glib-core/ds.h: In member function ‘bool TTuple<TVal, NVals>::operator==(const TTuple<TVal, NVals>&) const’:
../glib-core/ds.h:290:5: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation]
     for (int i=0; i<Len(); i++) if(ValV[i]!=Tup[i]){return false;} return true; }
     ^~~
../glib-core/ds.h:290:68: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘for’
     for (int i=0; i<Len(); i++) if(ValV[i]!=Tup[i]){return false;} return true; }
                                                                    ^~~~~~
In file included from Snap.cpp:8:0:
../glib-core/linalg.cpp: In static member function ‘static void TNumericalStuff::LUSolve(const TFltVV&, const TIntV&, TFltV&)’:
../glib-core/linalg.cpp:985:9: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
         else if (sum) ii=i;b[i-1]=sum;
         ^~~~
../glib-core/linalg.cpp:985:28: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
         else if (sum) ii=i;b[i-1]=sum;
                            ^
In file included from Snap.cpp:41:0:
sim.cpp: In function ‘PNEANet KNNJaccard(PNGraph, int)’:
sim.cpp:188:7: warning: variable ‘end’ set but not used [-Wunused-but-set-variable]
   int end;
       ^~~
In file included from ../glib-core/base.h:178:0,
                 from Snap.h:9,
                 from Snap.cpp:4:
../glib-core/bd.h: In instantiation of ‘void TPt<TRec>::UnRef() const [with TRec = TNEANet]’:
../glib-core/bd.h:480:15:   required from ‘TPt<TRec>::~TPt() [with TRec = TNEANet]’
network.h:2015:54:   required from here
../glib-core/bd.h:472:31: warning: deleting object of polymorphic class type ‘TNEANet’ which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
       if (Addr->CRef.NoRef()){delete Addr;}
                               ^~~~~~
make[1]: *** [Makefile:13: Snap.o] Interrupt
make: *** [Makefile:10: MakeAll] Interrupt
roks commented 6 years ago

These are warnings, not errors. We had to remove the virtual declaration, since we encountered issues with the Python layer otherwise.