Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.


#Analytics
#DecisionOptimization
#DecisionOptimization
 View Only
Expand all | Collapse all

Compile/Linker errors on ubuntu 16.04 with code::blocks 13.12 Cplex 12.8

  • 1.  Compile/Linker errors on ubuntu 16.04 with code::blocks 13.12 Cplex 12.8

    Posted 01/19/18 09:31 PM

    Originally posted by: UserCplex


    Hello,

     

    I use C API for my development work and thus far I was working on Windows/Visual Studio IDE.

    I recently have begun using ubuntu with code::blocks IDE and followed the steps mentioned at http://www-01.ibm.com/support/docview.wss?uid=swg21449771 to setup my cplex project.

    However, I am encountering the following errors when I try to build my project. Reproducing the build log from within code::blocks.

     

    g++ -L/opt/ibm/ILOG/CPLEX_Studio128/cplex/lib/x86-64_linux/static_pic -L/opt/ibm/ILOG/CPLEX_Studio128/concert/lib/x86-64_linux/static_pic -o bin/Debug/Test "obj/Debug/research/cplexroutines/main.o"   -lilocplex -lcplex -lconcert -lm -lpthread
    /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'
    Process terminated with status 1 (0 minute(s), 0 second(s))
    50 error(s), 0 warning(s) (0 minute(s), 0 second(s))

     

    Any help as to how to get the settings right will be highly appreciated.

     

    Thanks.

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Compile/Linker errors on ubuntu 16.04 with code::blocks 13.12 Cplex 12.8

    Posted 01/19/18 10:18 PM

    Originally posted by: UserCplex


    I think I figured it out. 

     

    -ldl was an option required by the linker. So, added this below the list specified 

     

    ilocplex
    cplex
    concert
    m
    pthread

    dl

    The project compiles and runs now.

     

    Thanks.


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Compile/Linker errors on ubuntu 16.04 with code::blocks 13.12 Cplex 12.8

    Posted 01/20/18 02:35 AM

    Correct, since version 12.8 you also have to link with the dynamic linker library. You can see this in the example makefiles shipped with CPLEX.


    #CPLEXOptimizers
    #DecisionOptimization