mapequation / infomap

Multi-level network clustering based on the Map Equation
https://mapequation.org/infomap
GNU General Public License v3.0
425 stars 88 forks source link

build error from source code #326

Closed tianyunzqs closed 1 year ago

tianyunzqs commented 1 year ago

some errors throw when i build the source code by https://github.com/mapequation/infomap/issues/108#issuecomment-1207755335

root@2f32fd68f496:/infomap# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)

root@2f32fd68f496:/infomap# g++ --version
g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

the error happend when execute the command make python

root@2f32fd68f496:/infomap# make python
swig -c++ -python -outdir build/py -o build/py/infomap_wrap.cpp build/py/Infomap.i
src/core/InfoNode.h:31: Warning 341: The 'using' keyword in type aliasing is not fully supported yet.
src/core/InfoNode.h:32: Warning 341: The 'using' keyword in type aliasing is not fully supported yet.
...(omit some text)
src/core/InfoNode.h:47: Warning 315: Nothing known about 'std::vector< InfoEdge * >::iterator'.
src/core/InfoNode.h:50: Warning 341: The 'using' keyword in type aliasing is not fully supported yet.
src/core/InfoNode.h:48: Warning 315: Nothing known about 'std::vector< InfoEdge * >::const_iterator'.
src/core/InfoNode.h:51: Warning 341: The 'using' keyword in type aliasing is not fully supported yet.
...(omit some text)
src/core/InfomapBase.h:543: Warning 315: Nothing known about 'p.InfoNode'.
...(omit some text)
Building with OpenMP support
running build_ext
building '_infomap' extension
g++ -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -Iheaders -Iheaders/src -Iheaders/src/core -Iheaders/src/core/iterators -Iheaders/src/io -Iheaders/src/utils -I/usr/local/include/python3.7m -c ./infomap_wrap.cpp -o build/temp.linux-x86_64-3.7/./infomap_wrap.o -DAS_LIB -DPYTHON -std=c++14 -fopenmp
./infomap_wrap.cpp: In function ‘PyObject* _wrap_InfoNode_begin__SWIG_0(PyObject*, PyObject*)’:
./infomap_wrap.cpp:18819:3: error: ‘child_iterator’ was not declared in this scope
   child_iterator result;
   ^~~~~~~~~~~~~~
./infomap_wrap.cpp:18829:7: error: ‘result’ was not declared in this scope
       result = (arg1)->begin();
       ^~~~~~
./infomap_wrap.cpp:18834:39: error: expected type-specifier before ‘child_iterator’
   resultobj = SWIG_NewPointerObj((new child_iterator(static_cast< const child_iterator& >(result))), SWIGTYPE_p_child_iterator, SWIG_POINTER_OWN |  0 );
                                       ^
./infomap_wrap.cpp:18857:7: error: ‘result’ was not declared in this scope
       result = (arg1)->end();
       ^~~~~~
...(omit some text)
error: command 'g++' failed with exit status 1
Makefile:162: recipe for target 'py-build' failed
make: *** [py-build] Error 1

does anybody known how to solve the problem?