Please Help: SuitSparse, UMF pack do not work!!!!!!! ;( ;(

Please Help: SuitSparse, UMF pack do not work!!!!!!! ;( ;(

Hi all.

Please, help me: I am experiencing a lot of huge problems in running my sims.   I have CENTOS 6, unfortunately, and Linux Free - Unsupported compilers, C++ and Fortran. 

I need the SuiteSparse and UMF Pack for some fluid-structure simulation problems. I cannot run my sims, the libs seem to be not found by the compiler. I have compiled and installed all the libraries and I use the following script to compile my C++ code:

#!/bin/sh

g++ -O3 -DMTL_HAS_BLAS -DMTL_HAS_UMFPACK main.cpp -fpermissive /opt/SuiteSparse/AMD/Lib/libamd.a /opt/SuiteSparse/COLAMD/Lib/libcolamd.a /opt/GotoBLAS2/libgoto2.a -lpthread /opt/SuiteSparse/UMFPACK/Lib/libumfpack.a -I/opt/SuiteSparse/AMD/Include -I/opt/SuiteSparse/UMFPACK/Include/ -I/opt/SuiteSparse/UFconfig -I/opt/mtl4 -o main

The answer is the following:

$ ./esegui.sh

/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_l_free.o): In function `umf_l_free':
umf_free.c:(.text+0xc): undefined reference to `amd_free'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_l_malloc.o): In function `umf_l_malloc':
umf_malloc.c:(.text+0x2b): undefined reference to `amd_malloc'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_l_realloc.o): In function `umf_l_realloc':
umf_realloc.c:(.text+0x33): undefined reference to `amd_realloc'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umfpack_gn_tictoc.o): In function `umfpack_toc':
umfpack_tictoc.c:(.text+0x5): undefined reference to `SuiteSparse_time'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umfpack_gn_tictoc.o): In function `umfpack_tic':
umfpack_tictoc.c:(.text+0x25): undefined reference to `SuiteSparse_time'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_dl_kernel_init.o): In function `umfdl_kernel_init':
umf_kernel_init.c:(.text+0xd67): undefined reference to `amd_l_valid'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_dl_local_search.o): In function `umfdl_local_search':
umf_local_search.c:(.text+0x140c): undefined reference to `dgemv_'
umf_local_search.c:(.text+0x148c): undefined reference to `dtrsv_'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umfpack_dl_qsymbolic.o): In function `symbolic_analysis':
umfpack_qsymbolic.c:(.text+0x29f): undefined reference to `amd_l_defaults'
umfpack_qsymbolic.c:(.text+0x137d): undefined reference to `amd_l_aat'
umfpack_qsymbolic.c:(.text+0x384d): undefined reference to `amd_l_defaults'
umfpack_qsymbolic.c:(.text+0x4ae5): undefined reference to `amd_l2'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_l_analyze.o): In function `umf_l_analyze':
umf_analyze.c:(.text+0x802): undefined reference to `amd_l_postorder'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_l_colamd.o): In function `umf_l_colamd':
umf_colamd.c:(.text+0x16ea): undefined reference to `amd_l_postorder'
umf_colamd.c:(.text+0x19f6): undefined reference to `amd_l_postorder'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_l_cholmod.o): In function `umf_l_cholmod':
umf_cholmod.c:(.text+0xad): undefined reference to `cholmod_l_start'
umf_cholmod.c:(.text+0x10e): undefined reference to `amd_malloc'
umf_cholmod.c:(.text+0x13e): undefined reference to `amd_realloc'
umf_cholmod.c:(.text+0x150): undefined reference to `amd_calloc'
umf_cholmod.c:(.text+0x162): undefined reference to `amd_free'
umf_cholmod.c:(.text+0x206): undefined reference to `cholmod_l_analyze'
umf_cholmod.c:(.text+0x21e): undefined reference to `cholmod_l_free_sparse'
umf_cholmod.c:(.text+0x2cc): undefined reference to `cholmod_l_free_factor'
umf_cholmod.c:(.text+0x2e3): undefined reference to `cholmod_l_print_common'
umf_cholmod.c:(.text+0x2eb): undefined reference to `cholmod_l_finish'
umf_cholmod.c:(.text+0x489): undefined reference to `cholmod_l_transpose'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_dl_blas3_update.o): In function `umfdl_blas3_update':
umf_blas3_update.c:(.text+0x6d9): undefined reference to `dtrsm_'
umf_blas3_update.c:(.text+0x8e3): undefined reference to `dger_'
/opt/SuiteSparse/UMFPACK/Lib/libumfpack.a(umf_dl_transpose.o): In function `umfdl_transpose':
umf_transpose.c:(.text+0x52f): undefined reference to `amd_l_valid'
collect2: ld returned 1 exit status

Please, note that all the things the compiler does not find ARE in the directories I point to in the script......

Do I make any mistake in the compilation script?

Please help me......!!!!!!!!!!!! :( :(

 

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I don't see any relevance to Intel C++ here.  As you are using gnu compilers, one of the gnu mail lists (gcc-help or binutils) might be more relevant.

You don't appear to understand the use of -L (set a library path) and -l ( lower case L, search a specific library, with the implicit prefix lib added).  These would be written up at length in binutils manual for ld.

Remember that ld is a one-pass linker.  If you can't list your libraries in order such that no library refers to previously unresolved references earlier in the list, you need the --start-group ..... --end-group directives.  Examples here:

http://software.intel.com/sites/products/documentation/hpc/mkl/lin/MKL_U...

This is a duplicate, please use http://software.intel.com/en-us/forums/topic/362169 instead.

Login to leave a comment.