Giter Site home page Giter Site logo

routing's People

Contributors

ayaddaden avatar codacy-badger avatar sohaibafifi avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

yoannkubera

routing's Issues

Fix compilation in ms windows

getting for now :

cvrp.lib(Reader.obj) : error LNK2001: unresolved external symbol "public: virtual class routing::models::Solution * __cdecl vrp::Initializer::initialSolution(void)" (?initialSolution@Initializer@vrp@@UEAAPEAVSolution@models@routing@@XZ) [D:\a\routing\routing\build\routing.vcxproj]
110
cvrp.lib(Reader.obj) : error LNK2001: unresolved external symbol "public: virtual class routing::models::Tour * __cdecl vrp::Initializer::initialTour(int)" (?initialTour@Initializer@vrp@@UEAAPEAVTour@models@routing@@H@Z) [D:\a\routing\routing\build\routing.vcxproj]
111

Fix compilation in Ubuntu ?

Context

commit: f5a5de0

system:

  • Ubuntu 20.04 LTS
  • g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
  • cmake version 3.16.3
  • GNU Make 4.2.1
  • CPLEX 12.10

When running the make command after :

git submodule update --init --recursive
mkdir -p build && cd build && cmake ..

Error

...

[36%] Linking CXX executable routing
/usr/bin/cmake -E cmake_link_script CMakeFiles/routing.dir/link.txt --verbose=1
/usr/bin/c++ CMakeFiles/routing.dir/src/main.cpp.o -o routing -L/opt/ibm/ILOG/CPLEX_Studio1210/concert/lib/x86-64_linux/static_pic -L/opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic -L/opt/ibm/ILOG/CPLEX_Studio1210/cpoptimizer/lib/x86-64_linux/static_pic -Wl,-rpath,/opt/ibm/ILOG/CPLEX_Studio1210/concert/lib/x86-64_linux/static_pic:/opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic:/opt/ibm/ILOG/CPLEX_Studio1210/cpoptimizer/lib/x86-64_linux/static_pic utilities/libutilities.a problems/vrp/libvrp.a problems/cvrp/libcvrp.a problems/cvrptw/libcvrptw.a -ldl -lcp -lilocplex -lcplex -lconcert -lpthread
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_semaphore.o) : dans la fonction « mkl_serv_inspector_suppress » :
mkl_semaphore.c:(.text+0x129) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_semaphore.c:(.text+0x140) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_semaphore.c:(.text+0x156) : référence indéfinie vers « dlsym »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_set_memory_limit » :
mkl_memory.c:(.text+0x5d1) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x5ee) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x62f) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x642) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x658) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x73f) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x7a9) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x84d) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_allocate » :
mkl_memory.c:(.text+0x1961) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x197e) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x19bf) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x19d2) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x19e8) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x1acf) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x1b39) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x1bdd) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_malloc » :
mkl_memory.c:(.text+0x21e8) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x2205) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x2246) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x2259) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x226f) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x2356) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x23c0) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x2464) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_deallocate » :
mkl_memory.c:(.text+0x37ef) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x380c) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x384d) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x3860) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x3876) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x395d) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x39c7) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x3a6b) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_free » :
mkl_memory.c:(.text+0x3fa4) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x3fc1) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x4002) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x4015) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x402b) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x4112) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x417c) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x4220) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_free_buffers » :
mkl_memory.c:(.text+0x54f5) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x5512) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x5553) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x5566) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x557c) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x5663) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x56cd) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x5771) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_thread_free_buffers » :
mkl_memory.c:(.text+0x5cac) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x5cc9) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x5d0a) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x5d1d) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x5d33) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x5e1a) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x5e84) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x5f28) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_realloc » :
mkl_memory.c:(.text+0x78c3) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x78e0) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x7921) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x7934) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x794a) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x7a31) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x7a9b) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x7b3f) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_jit_alloc » :
mkl_memory.c:(.text+0x8bff) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x8c1c) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x8c5d) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x8c70) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x8c86) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x8d6d) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x8dd7) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x8e7b) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mkl_serv_jit_free » :
mkl_memory.c:(.text+0x9e21) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0x9e3e) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x9e7f) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0x9e92) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x9ea8) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0x9f8f) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0x9ff9) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0xa09d) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « mm_cleanup_thread_cbk » :
mkl_memory.c:(.text+0xa74d) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0xa76a) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0xa7ab) : référence indéfinie vers « dlclose »
/usr/bin/ld : mkl_memory.c:(.text+0xa7be) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0xa7d4) : référence indéfinie vers « dlsym »
/usr/bin/ld : mkl_memory.c:(.text+0xa8bb) : référence indéfinie vers « dlerror »
/usr/bin/ld : mkl_memory.c:(.text+0xa925) : référence indéfinie vers « dlopen »
/usr/bin/ld : mkl_memory.c:(.text+0xa9c9) : référence indéfinie vers « dlopen »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(mkl_memory_patched.o) : dans la fonction « _Init_MKL_Loader » :
mkl_memory.c:(.text+0xab10) : référence indéfinie vers « dladdr »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(load_dll_static_patched.o) : dans la fonction « _Init_MKL_Loader » :
load_dll.c:(.text+0x20cf) : référence indéfinie vers « dladdr »
/usr/bin/ld : /opt/ibm/ILOG/CPLEX_Studio1210/cplex/lib/x86-64_linux/static_pic/libcplex.a(libc_is_static_interface.o) : dans la fonction « mkl_serv_libc_is_static » :
libc_is_static_interface.c:(.text+0x10) : référence indéfinie vers « dladdr »
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/routing.dir/build.make:91 : routing] Erreur 1
make[2] : on quitte le répertoire « /home/adminkubera/Documents/data/AppuiRecherche/Actions/En_cours/2021_MiseEnFormeGit/02_Code/routing »
make[1]: *** [CMakeFiles/Makefile2:243 : CMakeFiles/routing.dir/all] Erreur 2
make[1] : on quitte le répertoire « /home/adminkubera/Documents/data/AppuiRecherche/Actions/En_cours/2021_MiseEnFormeGit/02_Code/routing »
make: *** [Makefile:98 : all] Erreur 2

Possible cause

The ld library does not seem to be included during the linking process.
Yet, we can see that the -ldl option is provided.

According to a ticket on iTecTec, the issue might be related to the declaration of the -ldloption, requiring instead -Wl,--no-as-needed -ldl.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.