I doubt things have ever been looked into for doing static compilation of isd with cholmod. One needs to figure out which libraries cholmod depends on and add them to the add_dependency call (when doing dynamic linking they are brought in automatically). To help us get started, you can do ldd on the cholmod dynamic lib (somehting like /usr/lib/libcholmod.so) and send the results (if you are in a mac, you need to run "otool -L " on the .dylib instead). That shows what libraries the dynamic lib brings in on your platform. If you don't need isd, just disbable it as I'm not sure we want to get this working unless really needed as it could be painful.
On May 19, 2012, at 7:41 PM, Seung Joong Kim wrote:
> Hi Yannick,
>
> Suddenly I have a problem in compiling the ISD module as follows. Do you have any idea what happens? I recently upgraded to OSX 10.7 Lion, hopefully that is not an issue.. Thanks a lot!
>
> Compiling shared build/src/imp_isd_config.cpp
> Compiling modules/isd/bin/benchmark_gaussianprocess.cpp
> Install file: "build/swig/IMP_isd.i" as "build/data/swig/IMP_isd.i"
> Running swig on file build/swig/IMP_isd.i
> /opt/local/bin/swig -castmode -interface _IMP_isd -DPySwigIterator=IMP_ISD_PySwigIterator -DSwigPyIterator=IMP_ISD_SwigPyIterator -python -c++ -naturalvar -fvirtual -Wextra -o /Users/sjkim/imp/trunk/build/src/IMP_isd_wrap.cpp-in -oh /Users/sjkim/imp/trunk/build/src/IMP_isd_wrap.h-in -Ibuild/swig -I/opt/local/include -I/usr/include -I/usr/local/include -I/Users/sjkim/imp/trunk/build/include -I/Users/sjkim/imp/trunk -DIMP_SWIG /Users/sjkim/imp/trunk/build/swig/IMP_isd.i
> /Users/sjkim/imp/trunk/build/include/IMP/isd/bivariate_functions.h:129: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
> /Users/sjkim/imp/trunk/build/include/IMP/isd/bivariate_functions.h:129: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
> /Users/sjkim/imp/trunk/build/include/IMP/isd/bivariate_functions.h:129: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
> /Users/sjkim/imp/trunk/build/include/IMP/isd/bivariate_functions.h:129: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
> /Users/sjkim/imp/trunk/build/include/IMP/isd/bivariate_functions.h:129: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
> /Users/sjkim/imp/trunk/build/include/IMP/isd/bivariate_functions.h:129: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
> /Users/sjkim/imp/trunk/build/include/IMP/isd/bivariate_functions.h:129: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
> /Users/sjkim/imp/trunk/build/include/IMP/isd/bivariate_functions.h:129: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
> Install file: "build/src/IMP.isd.py" as "build/lib/IMP/isd/__init__.py"
> Patching swig file build/src/IMP_isd_wrap.h
> Patching swig file build/src/IMP_isd_wrap.cpp
> Compiling shared build/src/IMP_isd_wrap.cpp
> Linking Shared Library build/lib/libimp_isd.dylib
> Undefined symbols for architecture x86_64:
> "_dpotrf_", referenced from:
> _r_cholmod_super_numeric in libcholmod.a(cholmod_super_numeric.o)
> "_zpotrf_", referenced from:
> _c_cholmod_super_numeric in libcholmod.a(cholmod_super_numeric.o)
> _z_cholmod_super_numeric in libcholmod.a(cholmod_super_numeric.o)
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> scons: *** [build/lib/libimp_isd.dylib] Error 1
> scons: building terminated because of errors.
>
> - SJ
>
> --
> Seung Joong Kim, Ph.D.
>
> Postdoctoral Scholar, Andrej Sali group
> Department of Bioengineering and Therapeutic Sciences
> University of California at San Francisco (UCSF)
> 1-217-649-2147
>