Hello,

I have a solver library (in shared format, let's say libmylib.so) that I 
would like to link to deal.II. In order to do this, I checked how the METIS 
library is added to libdeal_II and tried to do the same for my library, 
thus I added the files configure_my_lib.cmake and FindMylib.cmake under 
cmake/configure and cmake/modules, respectively. 

Strange thing is that in the output of build/CMakeCache.out I find:

DEAL_II_WITH_MYLIB:BOOL=ON
MYLIB_DIR:PATH=/marconi/home/userexternal/vpaludet/projects/mylib
MYLIB_INCLUDE_DIR:PATH=/marconi/home/userexternal/vpaludet/projects/mylib/include
 
MYLIB_LIBRARY:FILEPATH=/marconi/home/userexternal/vpaludet/projects/mylib/lib/libmylib.so
deal_II_LIB_DEPENDS:STATIC=general;/cineca/prod/opt/libraries/lapack/3.6.1/intel--pe-xe-2017--binary/lib/liblapack.a;general;/cineca/prod/\
    
opt/libraries/blas/3.6.0/intel--pe-xe-2017--binary/lib/libblas.a;general;imf;general;m;general;ipgo;general;irc;general;pthread;general;sv\
    
ml;general;irc_s;general;c;general;dl;general;/lib64/libz.so;general;/marconi/home/userexternal/vpaludet/projects/mylib/lib/libmylib.so
 
\
    
;general;/marconi/home/userexternal/vpaludet/lib/libmetis.so;general;/cineca/prod/opt/libraries/boost/1.61.0/intelmpi--2017--\
    
binary/lib/libboost_iostreams.so;general;/cineca/prod/opt/libraries/boost/1.61.0/intelmpi--2017--binary/lib/libboost_serialization.so;gene\
    
ral;/cineca/prod/opt/libraries/boost/1.61.0/intelmpi--2017--binary/lib/libboost_system.so;general;/cineca/prod/opt/libraries/boost/1.61.0/\
    
intelmpi--2017--binary/lib/libboost_thread.so;general;/cineca/prod/opt/libraries/boost/1.61.0/intelmpi--2017--binary/lib/libboost_regex.so\
    
;general;/cineca/prod/opt/libraries/boost/1.61.0/intelmpi--2017--binary/lib/libboost_chrono.so;general;/cineca/prod/opt/libraries/boost/1.\
    
61.0/intelmpi--2017--binary/lib/libboost_date_time.so;general;/cineca/prod/opt/libraries/boost/1.61.0/intelmpi--2017--binary/lib/libboost_\
    atomic.so

However, when I run "ldd build/lib/libdeal_II.so" I get:
linux-vdso.so.1 =>  (0x00007ffcbc1f5000)
libimf.so => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/lib/intel64/libimf.so 
(0x00007f4e5fd11000)
libirc.so => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/lib/intel64/libirc.so 
(0x00007f4e5faa7000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4e5f874000)
libsvml.so => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/lib/intel64/libsvml.so 
(0x00007f4e5e95b000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4e5e598000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4e5e394000)
libz.so.1 => /lib64/libz.so.1 (0x00007f4e5e17e000)
libmetis.so => /marconi/home/userexternal/vpaludet/lib/libmetis.so 
(0x00007f4e5dec4000)
libstdc++.so.6 => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/inspector/lib64/libstdc++.so.6
 
(0x00007f4e5dba5000)
libgcc_s.so.1 => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/inspector/lib64/libgcc_s.so.1
 
(0x00007f4e5d98e000)
libintlc.so.5 => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/lib/intel64/libintlc.so.5 
(0x00007f4e5d722000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4e670df000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4e5d420000)
libmpifort.so.12 => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/impi/2017.3.196/lib64/libmpifort.so.12
 
(0x00007f4e5d076000)
libmpi.so.12 => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/impi/2017.3.196/lib64/libmpi.so.12
 
(0x00007f4e5c34e000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4e5c146000)
libirng.so => 
/cineca/prod/opt/compilers/intel/pe-xe-2017/binary/lib/intel64/libirng.so 
(0x00007f4e5bdd0000)

and I don't see my library there. On the other hand, If I try to compile an 
executable, let's say step-3, and run ldd on it I see that it's linked to 
libdeal_II.so and also libmylib.so. My question is why my library can be 
seen only by the executable and not by libdeal_II.

Thank you for helping and I'm sorry if I didn't provide enough details 
about this problem. Let me know if you need more data :)

Best!!

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to