← Back to team overview

dolfin team mailing list archive

Re: Snow Leopard status

 

Johannes Ring skrev 2010-08-24 13.51:
On Tue, Aug 24, 2010 at 1:38 PM, Anders Logg<logg@xxxxxxxxx>  wrote:
Johannes Ring skrev 2010-08-24 13.33:

On Tue, Aug 24, 2010 at 1:27 PM, Anders Logg<logg@xxxxxxxxx>    wrote:

Johannes Ring skrev 2010-08-24 11.02:

On Tue, Aug 24, 2010 at 9:32 AM, Anders Logg<logg@xxxxxxxxx>      wrote:

On Tue, Aug 24, 2010 at 09:24:51AM +0200, Johannes Ring wrote:

On Tue, Aug 24, 2010 at 9:06 AM, Anders Logg<logg@xxxxxxxxx>      wrote:

On Tue, Aug 24, 2010 at 08:56:10AM +0200, Johannes Ring wrote:

On Tue, Aug 24, 2010 at 1:40 AM, Harish Narayanan
<harish.mlists@xxxxxxxxx>      wrote:

On 8/24/10 4:14 AM, Anders Logg wrote:

All packages except Trilinos work up to the point of linking now
where
I get errors pointing to undefined symbols: _camd_realloc,
_ccolamd_l_recommended, etc.

I assume these are in AMD. The AMD libraries are added (in
FindCHOLMOD) but for some reason libcholmod.a appears after
libamd.a
on the link line. I can't figure out where that order comes from
or
how to change it.

Any ideas?

Johannes can fix this. We've been through *all* this before.

Well, in cholmod.py in simula-scons we had this link line:

   -L/some/path -lcholmod -lamd -lcamd -lcolamd -lccolamd -llapack
-lblas

On darwin we had "-framework vecLib" instead of "-llapack -lblas".

If CHOLDMOD was built with METIS (as Dorsal does) we also added
"-lmetis".

Can you see if you can get this to work in CMake?

Yes, I will look at it. I'm building it on Snow Leopard now.

Johannes

Great. Thanks.

I have now tried to add a test program to FindCHOLMOD.cmake that
should fail if it is not linked correctly. It is not tested on Mac yet
as I have had some problems with MacPorts (I think I'll have to
reinstall it completely).

Johannes

The test breaks for me with the following error:

Run Build Command:/usr/bin/make "cmTryCompileExec/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make
CMakeFiles/cmTryCompileExec.dir/build
/opt/local/bin/cmake -E cmake_progress_report

/Users/logg/Work/FEniCS/src/dolfin/dorsal_build_dir/CMakeFiles/CMakeTmp/CMakeFiles
1
Building CXX object CMakeFiles/cmTryCompileExec.dir/src.cxx.o
/usr/bin/mpic++    -DBOOST_UBLAS_NDEBUG  -DCHOLMOD_TEST_RUNS
-I/opt/local/include/ufsparse   -o
CMakeFiles/cmTryCompileExec.dir/src.cxx.o
-c

/Users/logg/Work/FEniCS/src/dolfin/dorsal_build_dir/CMakeFiles/CMakeTmp/src.cxx

/Users/logg/Work/FEniCS/src/dolfin/dorsal_build_dir/CMakeFiles/CMakeTmp/src.cxx:1:
error: expected constructor, destructor, or type conversion at end of
input
make[1]: *** [CMakeFiles/cmTryCompileExec.dir/src.cxx.o] Error 1
make: *** [cmTryCompileExec/fast] Error 2

I also got that but then it disappeared. I think it was because I
cleaned up my build tree. Have you tried that?

Johannes

Yes, if by that you mean deleting dorsal_build_dir.

Yes, that's what I meant. However, that wasn't the reason it suddenly
worked for me. I now see that I get the same error as you unless I'm
adding the flag --debug-trycompile when running cmake. It's kinda
strange that it works with this flag but not without it. I will look
into it.

Johannes

There was some problem related to "" in printf (I think). At least it compiles now but it doesn't build. I've also added BLAS libs which helps some but now we get the following strange link error:

/lib/libamd.a /opt/local/lib/libcamd.a /opt/local/lib/libcolamd.a /opt/local/lib/libccolamd.a /usr/lib/libatlas.dylib
Undefined symbols:
  "_METIS_NodeND", referenced from:
      _cholmod_metis in libcholmod.a(cholmod_metis.o)
  "_METIS_NodeComputeSeparator", referenced from:
      _cholmod_metis_bisector in libcholmod.a(cholmod_metis.o)
ld: symbol(s) not found

I didn't know METIS was used by CHOLMOD. Is it? Should we add the METIS libs too?

--
Anders



Follow ups

References