ls-cwi / heinz

Single species module discovery
MIT License
13 stars 8 forks source link

Compilation problems #9

Closed gorgitko closed 6 years ago

gorgitko commented 6 years ago

Hello,

I am trying to compile heinz, but make fails. I am using the latest version from GitHub. Thanks in advance for help!

$ cmake -DLIBLEMON_ROOT=/home/novotnyj/Temp/lemon-1.3.1/build -DLIBOGDF_ROOT=/home/novotnyj/Temp/ogdf-master/build ..

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
Unable to find CPLEX and Concert installation in /Applications
Unable to find CPLEX and Concert installation in /home/novotnyj/ILOG
Found CPLEX's installation in 
Autodetected CPLEX's include dir   : /opt/ibm/ILOG/CPLEX_Studio128/cplex/include
Autodetected CPLEX's library dir   : /opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic
Autodetected Concert's include dir : /opt/ibm/ILOG/CPLEX_Studio128/concert/include
Autodetected Concert's library dir : /opt/ibm/ILOG/CPLEX_Studio128/concert/lib/x86-64_linux/static_pic
-- Configuring done
-- Generating done
-- Build files have been written to: /home/novotnyj/Temp/heinz-master/build
$ make -j8

Scanning dependencies of target heinz_pcst_mc
Scanning dependencies of target heinz_pcst_no_pre
Scanning dependencies of target heinz_mwcs_dc
Scanning dependencies of target heinz_mwcs_no_dc
Scanning dependencies of target heinz_pcst_no_dc
Scanning dependencies of target heinz_pcst_dc
Scanning dependencies of target heinz_mwcs_mc
Scanning dependencies of target heinz
[  2%] Building CXX object CMakeFiles/heinz_mwcs_mc.dir/src/dimacs/heinz_mwcs_mc.cpp.o
[  5%] Building CXX object CMakeFiles/heinz_pcst_mc.dir/src/dimacs/heinz_pcst_mc.cpp.o
[  8%] Building CXX object CMakeFiles/heinz_mwcs_dc.dir/src/dimacs/heinz_mwcs_dc.cpp.o
[ 11%] Building CXX object CMakeFiles/heinz_pcst_dc.dir/src/dimacs/heinz_pcst_dc.cpp.o
[ 13%] Building CXX object CMakeFiles/heinz_mwcs_no_dc.dir/src/dimacs/heinz_mwcs_no_dc.cpp.o
[ 16%] Building CXX object CMakeFiles/heinz.dir/src/mwcs.cpp.o
[ 22%] Building CXX object CMakeFiles/heinz_pcst_no_pre.dir/src/dimacs/heinz_pcst_no_pre.cpp.o
[ 22%] Building CXX object CMakeFiles/heinz_pcst_no_dc.dir/src/dimacs/heinz_pcst_no_dc.cpp.o
In file included from /home/novotnyj/Temp/heinz-master/src/mwcsgraph.h:22:0,
                 from /home/novotnyj/Temp/heinz-master/src/mwcsgraphparser.h:21,
                 from /home/novotnyj/Temp/heinz-master/src/mwcspreprocessedgraph.h:11,
                 from /home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_mc.cpp:16:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h: In member function ‘bool nina::SpqrTree<GR>::run()’:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)
                             ^
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_mc.cpp:123:1: error: expected ‘}’ at end of input
 }
 ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_mc.cpp: At global scope:
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_mc.cpp:123:1: error: expected ‘}’ at end of input
In file included from /home/novotnyj/Temp/heinz-master/src/mwcsgraph.h:22:0,
                 from /home/novotnyj/Temp/heinz-master/src/mwcsgraphparser.h:21,
                 from /home/novotnyj/Temp/heinz-master/src/mwcspreprocessedgraph.h:11,
                 from /home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_no_dc.cpp:16:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h: In member function ‘bool nina::SpqrTree<GR>::run()’:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)
                             ^
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
In file included from /home/novotnyj/Temp/heinz-master/src/mwcsgraph.h:22:0,
                 from /home/novotnyj/Temp/heinz-master/src/mwcsgraphparser.h:21,
                 from /home/novotnyj/Temp/heinz-master/src/mwcspreprocessedgraph.h:11,
                 from /home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_dc.cpp:16:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h: In member function ‘bool nina::SpqrTree<GR>::run()’:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)
                             ^
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_no_dc.cpp:126:1: error: expected ‘}’ at end of input
 }
 ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_no_dc.cpp: At global scope:
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_no_dc.cpp:126:1: error: expected ‘}’ at end of input
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_dc.cpp:131:1: error: expected ‘}’ at end of input
 }
 ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_dc.cpp: At global scope:
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_dc.cpp:131:1: error: expected ‘}’ at end of input
In file included from /home/novotnyj/Temp/heinz-master/src/mwcsgraph.h:22:0,
                 from /home/novotnyj/Temp/heinz-master/src/mwcsgraphparser.h:21,
                 from /home/novotnyj/Temp/heinz-master/src/mwcspreprocessedgraph.h:11,
                 from /home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_dc.cpp:16:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h: In member function ‘bool nina::SpqrTree<GR>::run()’:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)
                             ^
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_dc.cpp:132:1: error: expected ‘}’ at end of input
 }
 ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_dc.cpp: At global scope:
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_dc.cpp:132:1: error: expected ‘}’ at end of input
In file included from /opt/ibm/ILOG/CPLEX_Studio128/cplex/include/ilcplex/ilocplexi.h:1053:0,
                 from /opt/ibm/ILOG/CPLEX_Studio128/cplex/include/ilcplex/ilocplex.h:29,
                 from /home/novotnyj/Temp/heinz-master/src/mwcs.cpp:18:
/opt/ibm/ILOG/CPLEX_Studio128/cplex/include/ilcplex/iloparam.h:83:12: warning: ‘IloCplex::Param::MIP::Limits::SubMIPNodeLim’ is deprecated [-Wdeprecated-declarations]
     struct Limits {
            ^
/opt/ibm/ILOG/CPLEX_Studio128/cplex/include/ilcplex/iloparam.h:103:40: note: declared here
       static const IloCplex::LongParam SubMIPNodeLim = LongParam(CPX_PARAM_SUBMIPNODELIM);
                                        ^
In file included from /home/novotnyj/Temp/heinz-master/src/mwcsgraph.h:22:0,
                 from /home/novotnyj/Temp/heinz-master/src/mwcsgraphparser.h:21,
                 from /home/novotnyj/Temp/heinz-master/src/mwcspreprocessedgraph.h:11,
                 from /home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_no_dc.cpp:16:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h: In member function ‘bool nina::SpqrTree<GR>::run()’:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)
                             ^
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_no_dc.cpp:129:1: error: expected ‘}’ at end of input
 }
 ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_no_dc.cpp: At global scope:
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_no_dc.cpp:129:1: error: expected ‘}’ at end of input
In file included from /home/novotnyj/Temp/heinz-master/src/mwcsgraph.h:22:0,
                 from /home/novotnyj/Temp/heinz-master/src/mwcsgraphparser.h:21,
                 from /home/novotnyj/Temp/heinz-master/src/mwcspreprocessedgraph.h:11,
                 from /home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_no_pre.cpp:16:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h: In member function ‘bool nina::SpqrTree<GR>::run()’:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)
                             ^
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_no_pre.cpp:128:1: error: expected ‘}’ at end of input
 }
 ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_no_pre.cpp: At global scope:
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_pcst_no_pre.cpp:128:1: error: expected ‘}’ at end of input
In file included from /home/novotnyj/Temp/heinz-master/src/mwcsgraph.h:22:0,
                 from /home/novotnyj/Temp/heinz-master/src/mwcsgraphparser.h:21,
                 from /home/novotnyj/Temp/heinz-master/src/mwcspreprocessedgraph.h:11,
                 from /home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_mc.cpp:16:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h: In member function ‘bool nina::SpqrTree<GR>::run()’:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)
                             ^
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_mc.cpp:123:1: error: expected ‘}’ at end of input
 }
 ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_mc.cpp: At global scope:
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_mc.cpp:123:1: error: expected ‘}’ at end of input
CMakeFiles/heinz_pcst_mc.dir/build.make:62: recipe for target 'CMakeFiles/heinz_pcst_mc.dir/src/dimacs/heinz_pcst_mc.cpp.o' failed
make[2]: *** [CMakeFiles/heinz_pcst_mc.dir/src/dimacs/heinz_pcst_mc.cpp.o] Error 1
CMakeFiles/Makefile2:185: recipe for target 'CMakeFiles/heinz_pcst_mc.dir/all' failed
make[1]: *** [CMakeFiles/heinz_pcst_mc.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 25%] Building CXX object CMakeFiles/heinz_pcst_no_dc.dir/src/utils.cpp.o
CMakeFiles/heinz_mwcs_no_dc.dir/build.make:62: recipe for target 'CMakeFiles/heinz_mwcs_no_dc.dir/src/dimacs/heinz_mwcs_no_dc.cpp.o' failed
make[2]: *** [CMakeFiles/heinz_mwcs_no_dc.dir/src/dimacs/heinz_mwcs_no_dc.cpp.o] Error 1
CMakeFiles/Makefile2:111: recipe for target 'CMakeFiles/heinz_mwcs_no_dc.dir/all' failed
make[1]: *** [CMakeFiles/heinz_mwcs_no_dc.dir/all] Error 2
CMakeFiles/heinz_mwcs_dc.dir/build.make:62: recipe for target 'CMakeFiles/heinz_mwcs_dc.dir/src/dimacs/heinz_mwcs_dc.cpp.o' failed
make[2]: *** [CMakeFiles/heinz_mwcs_dc.dir/src/dimacs/heinz_mwcs_dc.cpp.o] Error 1
CMakeFiles/Makefile2:148: recipe for target 'CMakeFiles/heinz_mwcs_dc.dir/all' failed
make[1]: *** [CMakeFiles/heinz_mwcs_dc.dir/all] Error 2
[ 27%] Building CXX object CMakeFiles/heinz_mwcs_mc.dir/src/utils.cpp.o
[ 30%] Building CXX object CMakeFiles/heinz_pcst_no_pre.dir/src/utils.cpp.o
CMakeFiles/heinz_pcst_dc.dir/build.make:62: recipe for target 'CMakeFiles/heinz_pcst_dc.dir/src/dimacs/heinz_pcst_dc.cpp.o' failed
make[2]: *** [CMakeFiles/heinz_pcst_dc.dir/src/dimacs/heinz_pcst_dc.cpp.o] Error 1
CMakeFiles/Makefile2:392: recipe for target 'CMakeFiles/heinz_pcst_dc.dir/all' failed
make[1]: *** [CMakeFiles/heinz_pcst_dc.dir/all] Error 2
[ 33%] Building CXX object CMakeFiles/heinz.dir/src/utils.cpp.o
CMakeFiles/heinz_pcst_no_dc.dir/build.make:62: recipe for target 'CMakeFiles/heinz_pcst_no_dc.dir/src/dimacs/heinz_pcst_no_dc.cpp.o' failed
make[2]: *** [CMakeFiles/heinz_pcst_no_dc.dir/src/dimacs/heinz_pcst_no_dc.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/heinz_pcst_no_pre.dir/build.make:62: recipe for target 'CMakeFiles/heinz_pcst_no_pre.dir/src/dimacs/heinz_pcst_no_pre.cpp.o' failed
make[2]: *** [CMakeFiles/heinz_pcst_no_pre.dir/src/dimacs/heinz_pcst_no_pre.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/heinz_mwcs_mc.dir/build.make:62: recipe for target 'CMakeFiles/heinz_mwcs_mc.dir/src/dimacs/heinz_mwcs_mc.cpp.o' failed
make[2]: *** [CMakeFiles/heinz_mwcs_mc.dir/src/dimacs/heinz_mwcs_mc.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/novotnyj/Temp/heinz-master/src/mwcsgraph.h:22:0,
                 from /home/novotnyj/Temp/heinz-master/src/mwcs.cpp:24:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h: In member function ‘bool nina::SpqrTree<GR>::run()’:
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)
                             ^
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
/home/novotnyj/Temp/heinz-master/src/mwcs.cpp:358:1: error: expected ‘}’ at end of input
 }
 ^
/home/novotnyj/Temp/heinz-master/src/mwcs.cpp: At global scope:
/home/novotnyj/Temp/heinz-master/src/mwcs.cpp:358:1: error: expected ‘}’ at end of input
CMakeFiles/heinz.dir/build.make:62: recipe for target 'CMakeFiles/heinz.dir/src/mwcs.cpp.o' failed
make[2]: *** [CMakeFiles/heinz.dir/src/mwcs.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:429: recipe for target 'CMakeFiles/heinz_pcst_no_dc.dir/all' failed
make[1]: *** [CMakeFiles/heinz_pcst_no_dc.dir/all] Error 2
CMakeFiles/Makefile2:286: recipe for target 'CMakeFiles/heinz.dir/all' failed
make[1]: *** [CMakeFiles/heinz.dir/all] Error 2
CMakeFiles/Makefile2:323: recipe for target 'CMakeFiles/heinz_pcst_no_pre.dir/all' failed
make[1]: *** [CMakeFiles/heinz_pcst_no_pre.dir/all] Error 2
CMakeFiles/Makefile2:466: recipe for target 'CMakeFiles/heinz_mwcs_mc.dir/all' failed
make[1]: *** [CMakeFiles/heinz_mwcs_mc.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
gorgitko commented 6 years ago

I have tried heinz release 2.0 and now I am getting different compilation error:

$ make -j8
[ 66%] Built target print
[ 66%] Built target heinz-mc
[ 75%] Linking CXX executable heinz
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_set_memory_limit':
mkl_memory.c:(.text+0x5a9): undefined reference to `dlopen'
mkl_memory.c:(.text+0x5ca): undefined reference to `dlsym'
mkl_memory.c:(.text+0x618): undefined reference to `dlsym'
mkl_memory.c:(.text+0x62e): undefined reference to `dlsym'
mkl_memory.c:(.text+0x644): undefined reference to `dlsym'
mkl_memory.c:(.text+0x739): undefined reference to `dlerror'
mkl_memory.c:(.text+0x78c): undefined reference to `dlopen'
mkl_memory.c:(.text+0x840): undefined reference to `dlopen'
mkl_memory.c:(.text+0x856): undefined reference to `dlerror'
mkl_memory.c:(.text+0x91a): undefined reference to `dlopen'
mkl_memory.c:(.text+0x922): undefined reference to `dlerror'
mkl_memory.c:(.text+0x937): undefined reference to `dlsym'
mkl_memory.c:(.text+0x95a): undefined reference to `dlopen'
mkl_memory.c:(.text+0x962): undefined reference to `dlerror'
mkl_memory.c:(.text+0x972): undefined reference to `dlsym'
mkl_memory.c:(.text+0x98d): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_allocate':
mkl_memory.c:(.text+0x1897): undefined reference to `dlopen'
mkl_memory.c:(.text+0x18b8): undefined reference to `dlsym'
mkl_memory.c:(.text+0x1906): undefined reference to `dlsym'
mkl_memory.c:(.text+0x191c): undefined reference to `dlsym'
mkl_memory.c:(.text+0x1932): undefined reference to `dlsym'
mkl_memory.c:(.text+0x1a27): undefined reference to `dlerror'
mkl_memory.c:(.text+0x1a7a): undefined reference to `dlopen'
mkl_memory.c:(.text+0x1b2e): undefined reference to `dlopen'
mkl_memory.c:(.text+0x1b44): undefined reference to `dlerror'
mkl_memory.c:(.text+0x1c07): undefined reference to `dlopen'
mkl_memory.c:(.text+0x1c0f): undefined reference to `dlerror'
mkl_memory.c:(.text+0x1c24): undefined reference to `dlsym'
mkl_memory.c:(.text+0x1c47): undefined reference to `dlopen'
mkl_memory.c:(.text+0x1c4f): undefined reference to `dlerror'
mkl_memory.c:(.text+0x1c5f): undefined reference to `dlsym'
mkl_memory.c:(.text+0x1c7a): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_malloc':
mkl_memory.c:(.text+0x2296): undefined reference to `dlopen'
mkl_memory.c:(.text+0x22b7): undefined reference to `dlsym'
mkl_memory.c:(.text+0x2305): undefined reference to `dlsym'
mkl_memory.c:(.text+0x231b): undefined reference to `dlsym'
mkl_memory.c:(.text+0x2331): undefined reference to `dlsym'
mkl_memory.c:(.text+0x2426): undefined reference to `dlerror'
mkl_memory.c:(.text+0x2479): undefined reference to `dlopen'
mkl_memory.c:(.text+0x252b): undefined reference to `dlopen'
mkl_memory.c:(.text+0x2541): undefined reference to `dlerror'
mkl_memory.c:(.text+0x2604): undefined reference to `dlopen'
mkl_memory.c:(.text+0x260c): undefined reference to `dlerror'
mkl_memory.c:(.text+0x2621): undefined reference to `dlsym'
mkl_memory.c:(.text+0x2644): undefined reference to `dlopen'
mkl_memory.c:(.text+0x264c): undefined reference to `dlerror'
mkl_memory.c:(.text+0x265c): undefined reference to `dlsym'
mkl_memory.c:(.text+0x2677): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_deallocate':
mkl_memory.c:(.text+0x3825): undefined reference to `dlopen'
mkl_memory.c:(.text+0x3846): undefined reference to `dlsym'
mkl_memory.c:(.text+0x3894): undefined reference to `dlsym'
mkl_memory.c:(.text+0x38aa): undefined reference to `dlsym'
mkl_memory.c:(.text+0x38c0): undefined reference to `dlsym'
mkl_memory.c:(.text+0x39b5): undefined reference to `dlerror'
mkl_memory.c:(.text+0x3a08): undefined reference to `dlopen'
mkl_memory.c:(.text+0x3abc): undefined reference to `dlopen'
mkl_memory.c:(.text+0x3ad2): undefined reference to `dlerror'
mkl_memory.c:(.text+0x3b95): undefined reference to `dlopen'
mkl_memory.c:(.text+0x3b9d): undefined reference to `dlerror'
mkl_memory.c:(.text+0x3bb2): undefined reference to `dlsym'
mkl_memory.c:(.text+0x3bd5): undefined reference to `dlopen'
mkl_memory.c:(.text+0x3bdd): undefined reference to `dlerror'
mkl_memory.c:(.text+0x3bed): undefined reference to `dlsym'
mkl_memory.c:(.text+0x3c08): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_free':
mkl_memory.c:(.text+0x416b): undefined reference to `dlopen'
mkl_memory.c:(.text+0x418c): undefined reference to `dlsym'
mkl_memory.c:(.text+0x41da): undefined reference to `dlsym'
mkl_memory.c:(.text+0x41f0): undefined reference to `dlsym'
mkl_memory.c:(.text+0x4206): undefined reference to `dlsym'
mkl_memory.c:(.text+0x42fb): undefined reference to `dlerror'
mkl_memory.c:(.text+0x434e): undefined reference to `dlopen'
mkl_memory.c:(.text+0x4402): undefined reference to `dlopen'
mkl_memory.c:(.text+0x4418): undefined reference to `dlerror'
mkl_memory.c:(.text+0x44dc): undefined reference to `dlopen'
mkl_memory.c:(.text+0x44e4): undefined reference to `dlerror'
mkl_memory.c:(.text+0x44f9): undefined reference to `dlsym'
mkl_memory.c:(.text+0x451c): undefined reference to `dlopen'
mkl_memory.c:(.text+0x4524): undefined reference to `dlerror'
mkl_memory.c:(.text+0x4534): undefined reference to `dlsym'
mkl_memory.c:(.text+0x454f): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_free_buffers':
mkl_memory.c:(.text+0x4a28): undefined reference to `dlopen'
mkl_memory.c:(.text+0x4a49): undefined reference to `dlsym'
mkl_memory.c:(.text+0x4a97): undefined reference to `dlsym'
mkl_memory.c:(.text+0x4aad): undefined reference to `dlsym'
mkl_memory.c:(.text+0x4ac3): undefined reference to `dlsym'
mkl_memory.c:(.text+0x4bb8): undefined reference to `dlerror'
mkl_memory.c:(.text+0x4c0b): undefined reference to `dlopen'
mkl_memory.c:(.text+0x4cbf): undefined reference to `dlopen'
mkl_memory.c:(.text+0x4cd5): undefined reference to `dlerror'
mkl_memory.c:(.text+0x4d99): undefined reference to `dlopen'
mkl_memory.c:(.text+0x4da1): undefined reference to `dlerror'
mkl_memory.c:(.text+0x4db6): undefined reference to `dlsym'
mkl_memory.c:(.text+0x4dd9): undefined reference to `dlopen'
mkl_memory.c:(.text+0x4de1): undefined reference to `dlerror'
mkl_memory.c:(.text+0x4df1): undefined reference to `dlsym'
mkl_memory.c:(.text+0x4e0c): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_thread_free_buffers':
mkl_memory.c:(.text+0x5620): undefined reference to `dlopen'
mkl_memory.c:(.text+0x5641): undefined reference to `dlsym'
mkl_memory.c:(.text+0x568f): undefined reference to `dlsym'
mkl_memory.c:(.text+0x56a5): undefined reference to `dlsym'
mkl_memory.c:(.text+0x56bb): undefined reference to `dlsym'
mkl_memory.c:(.text+0x57b0): undefined reference to `dlerror'
mkl_memory.c:(.text+0x5803): undefined reference to `dlopen'
mkl_memory.c:(.text+0x58b5): undefined reference to `dlopen'
mkl_memory.c:(.text+0x58cb): undefined reference to `dlerror'
mkl_memory.c:(.text+0x598e): undefined reference to `dlopen'
mkl_memory.c:(.text+0x5996): undefined reference to `dlerror'
mkl_memory.c:(.text+0x59ab): undefined reference to `dlsym'
mkl_memory.c:(.text+0x59ce): undefined reference to `dlopen'
mkl_memory.c:(.text+0x59d6): undefined reference to `dlerror'
mkl_memory.c:(.text+0x59e6): undefined reference to `dlsym'
mkl_memory.c:(.text+0x5a01): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_realloc':
mkl_memory.c:(.text+0x754d): undefined reference to `dlopen'
mkl_memory.c:(.text+0x756e): undefined reference to `dlsym'
mkl_memory.c:(.text+0x75bc): undefined reference to `dlsym'
mkl_memory.c:(.text+0x75d2): undefined reference to `dlsym'
mkl_memory.c:(.text+0x75e8): undefined reference to `dlsym'
mkl_memory.c:(.text+0x76dd): undefined reference to `dlerror'
mkl_memory.c:(.text+0x7730): undefined reference to `dlopen'
mkl_memory.c:(.text+0x77e4): undefined reference to `dlopen'
mkl_memory.c:(.text+0x77fa): undefined reference to `dlerror'
mkl_memory.c:(.text+0x78be): undefined reference to `dlopen'
mkl_memory.c:(.text+0x78c6): undefined reference to `dlerror'
mkl_memory.c:(.text+0x78db): undefined reference to `dlsym'
mkl_memory.c:(.text+0x78fe): undefined reference to `dlopen'
mkl_memory.c:(.text+0x7906): undefined reference to `dlerror'
mkl_memory.c:(.text+0x7916): undefined reference to `dlsym'
mkl_memory.c:(.text+0x7931): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_jit_alloc':
mkl_memory.c:(.text+0x889c): undefined reference to `dlopen'
mkl_memory.c:(.text+0x88bd): undefined reference to `dlsym'
mkl_memory.c:(.text+0x890b): undefined reference to `dlsym'
mkl_memory.c:(.text+0x8921): undefined reference to `dlsym'
mkl_memory.c:(.text+0x8937): undefined reference to `dlsym'
mkl_memory.c:(.text+0x8a2c): undefined reference to `dlerror'
mkl_memory.c:(.text+0x8a7f): undefined reference to `dlopen'
mkl_memory.c:(.text+0x8b33): undefined reference to `dlopen'
mkl_memory.c:(.text+0x8b49): undefined reference to `dlerror'
mkl_memory.c:(.text+0x8c0c): undefined reference to `dlopen'
mkl_memory.c:(.text+0x8c14): undefined reference to `dlerror'
mkl_memory.c:(.text+0x8c29): undefined reference to `dlsym'
mkl_memory.c:(.text+0x8c4c): undefined reference to `dlopen'
mkl_memory.c:(.text+0x8c54): undefined reference to `dlerror'
mkl_memory.c:(.text+0x8c64): undefined reference to `dlsym'
mkl_memory.c:(.text+0x8c7f): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mkl_serv_jit_free':
mkl_memory.c:(.text+0x9ae4): undefined reference to `dlopen'
mkl_memory.c:(.text+0x9b05): undefined reference to `dlsym'
mkl_memory.c:(.text+0x9b53): undefined reference to `dlsym'
mkl_memory.c:(.text+0x9b69): undefined reference to `dlsym'
mkl_memory.c:(.text+0x9b7f): undefined reference to `dlsym'
mkl_memory.c:(.text+0x9c74): undefined reference to `dlerror'
mkl_memory.c:(.text+0x9cc7): undefined reference to `dlopen'
mkl_memory.c:(.text+0x9d7b): undefined reference to `dlopen'
mkl_memory.c:(.text+0x9d91): undefined reference to `dlerror'
mkl_memory.c:(.text+0x9e55): undefined reference to `dlopen'
mkl_memory.c:(.text+0x9e5d): undefined reference to `dlerror'
mkl_memory.c:(.text+0x9e72): undefined reference to `dlsym'
mkl_memory.c:(.text+0x9e95): undefined reference to `dlopen'
mkl_memory.c:(.text+0x9e9d): undefined reference to `dlerror'
mkl_memory.c:(.text+0x9ead): undefined reference to `dlsym'
mkl_memory.c:(.text+0x9ec8): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `mm_cleanup_thread_cbk':
mkl_memory.c:(.text+0xa4ce): undefined reference to `dlopen'
mkl_memory.c:(.text+0xa4ef): undefined reference to `dlsym'
mkl_memory.c:(.text+0xa53d): undefined reference to `dlsym'
mkl_memory.c:(.text+0xa553): undefined reference to `dlsym'
mkl_memory.c:(.text+0xa569): undefined reference to `dlsym'
mkl_memory.c:(.text+0xa65e): undefined reference to `dlerror'
mkl_memory.c:(.text+0xa6b1): undefined reference to `dlopen'
mkl_memory.c:(.text+0xa763): undefined reference to `dlopen'
mkl_memory.c:(.text+0xa779): undefined reference to `dlerror'
mkl_memory.c:(.text+0xa83c): undefined reference to `dlopen'
mkl_memory.c:(.text+0xa844): undefined reference to `dlerror'
mkl_memory.c:(.text+0xa859): undefined reference to `dlsym'
mkl_memory.c:(.text+0xa87c): undefined reference to `dlopen'
mkl_memory.c:(.text+0xa884): undefined reference to `dlerror'
mkl_memory.c:(.text+0xa894): undefined reference to `dlsym'
mkl_memory.c:(.text+0xa8af): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o): In function `_Init_MKL_Loader':
mkl_memory.c:(.text+0xa9e0): undefined reference to `dladdr'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_semaphore.o): In function `mkl_serv_load_inspector':
mkl_semaphore.c:(.text+0x123): undefined reference to `dlopen'
mkl_semaphore.c:(.text+0x152): undefined reference to `dlsym'
mkl_semaphore.c:(.text+0x17a): undefined reference to `dlerror'
mkl_semaphore.c:(.text+0x1d1): undefined reference to `dlopen'
mkl_semaphore.c:(.text+0x2a8): undefined reference to `dlopen'
mkl_semaphore.c:(.text+0x2be): undefined reference to `dlerror'
mkl_semaphore.c:(.text+0x38e): undefined reference to `dlopen'
mkl_semaphore.c:(.text+0x396): undefined reference to `dlerror'
mkl_semaphore.c:(.text+0x3af): undefined reference to `dlsym'
mkl_semaphore.c:(.text+0x3d6): undefined reference to `dlopen'
mkl_semaphore.c:(.text+0x3de): undefined reference to `dlerror'
mkl_semaphore.c:(.text+0x3ee): undefined reference to `dlsym'
mkl_semaphore.c:(.text+0x409): undefined reference to `dlerror'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_semaphore.o): In function `_Init_MKL_Loader':
mkl_semaphore.c:(.text+0x4ed): undefined reference to `dladdr'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(libc_is_static_interface.o): In function `mkl_serv_libc_is_static':
libc_is_static_interface.c:(.text+0x10): undefined reference to `dladdr'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(load_library_HOST.o): In function `mkl_ueaa_prv_load_backend_lib':
load_library.c:(.text+0x1cd): undefined reference to `dlopen'
load_library.c:(.text+0x1ef): undefined reference to `dlvsym'
load_library.c:(.text+0x218): undefined reference to `dlvsym'
load_library.c:(.text+0x241): undefined reference to `dlvsym'
load_library.c:(.text+0x26a): undefined reference to `dlvsym'
load_library.c:(.text+0x293): undefined reference to `dlvsym'
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(load_library_HOST.o):load_library.c:(.text+0x2bc): more undefined references to `dlvsym' follow
/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_aa_fw_load_orsl_lite_lib_HOST.o): In function `mkl_aa_fw_load_orsl_lite_lib':
mkl_aa_fw_load_orsl_lite_lib.c:(.text+0xb9): undefined reference to `dlopen'
mkl_aa_fw_load_orsl_lite_lib.c:(.text+0xd4): undefined reference to `dlsym'
mkl_aa_fw_load_orsl_lite_lib.c:(.text+0xf2): undefined reference to `dlsym'
mkl_aa_fw_load_orsl_lite_lib.c:(.text+0x110): undefined reference to `dlsym'
mkl_aa_fw_load_orsl_lite_lib.c:(.text+0x12e): undefined reference to `dlsym'
collect2: error: ld returned 1 exit status
CMakeFiles/heinz.dir/build.make:146: recipe for target 'heinz' failed
make[2]: *** [heinz] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/heinz.dir/all' failed
make[1]: *** [CMakeFiles/heinz.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

I have googled this error and it is related to libdl. Adding compilation flag for linker (-ldl) should help, so I have added this at the end of CMakeLists.txt:

SET (CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} -ldl")
SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ldl")

It didn't help :cry: I would really appreciate your help. Thank you.

CicoZhang commented 6 years ago

You can refer to the code here: https://github.com/ls-cwi/heinz/blob/master/CMakeLists.txt#L167. Are you using Mac OS?

gorgitko commented 6 years ago

I am using Linux Mint 18.2 (basically derivative of Ubuntu).

In my first attempt using latest version of heinz (first post), what could be the cause of errors like this:

/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:219:29: error: there are no arguments to ‘forall_nodes’ that depend on a template parameter, so a declaration of ‘forall_nodes’ must be available [-fpermissive]
   forall_nodes(ogdf_n, ogdfT)

or this:

/home/novotnyj/Temp/heinz-master/src/solver/spqrtree.h:220:3: error: expected ‘;’ before ‘{’ token
   {
   ^
/home/novotnyj/Temp/heinz-master/src/dimacs/heinz_mwcs_no_dc.cpp:126:1: error: expected ‘}’ at end of input
 }
 ^

Seems like syntax errors. Maybe incompatible version of compiler (gcc)?

CicoZhang commented 6 years ago

@gorgitko I am using the release 2.0 (NOT the latest git) and CPLEX 12.7 on Ubuntu 18.04, everything works. Upon using CPLEX 12.8, a small change needs to be applied following https://github.com/ls-cwi/heinz/blob/master/CMakeLists.txt#L167. Hope this will help.

gorgitko commented 6 years ago

OK, I will try to use CPLEX 12.7. Thank you.

gorgitko commented 6 years ago

So, because I don't know how to get CPLEX 12.7, I have tried v12.8 with heinz release 2.0, modified CMakeLists.txt as you said and it compiled without problems :)