← Back to team overview

dolfin team mailing list archive

Re: Symbol not found: _camd_calloc

 


On 21 okt 2009, at 11.32, Harish Narayanan wrote:

Aron Wahlberg wrote:
I just built dolfin (without parmetis, swiginac, trillinos or syfi).
After sourcing I ended up a missing symbol:

Symbol not found: _camd_calloc

The error does not make sense to me. Mabybe to sombody else?

This is a problem with the pkgconfiggenerator for suitesparse when one
builds a recent suitesparse by hand.

You need to make sure the following modifications are made to the
corresponding files:

diff -r 0e4d88def193
scons/simula-scons/simula_scons/pkgconfiggenerators/cholmod.py
--- a/scons/simula-scons/simula_scons/pkgconfiggenerators/cholmod.py Mon
Oct 19 11:41:27 2009 +0100
+++ b/scons/simula-scons/simula_scons/pkgconfiggenerators/cholmod.py Wed
Oct 21 11:31:23 2009 +0200
@@ -225,8 +225,8 @@
    libs += "-L%s -llapack -L%s -lblas" % \
            (getLapackDir(sconsEnv=sconsEnv),
getBlasDir(sconsEnv=sconsEnv))
  libs += " -L%s -lcholmod" % getCholmodLibDir(sconsEnv)
-  libs += " -L%s -lamd" % getAmdLibDir(sconsEnv)
-  libs += " -L%s -lcolamd" % getColamdLibDir(sconsEnv)
+  libs += " -L%s -lamd -lcamd" % getAmdLibDir(sconsEnv)
+  libs += " -L%s -lcolamd -lccolamd" % getColamdLibDir(sconsEnv)
  return libs

def pkgTests(forceCompiler=None, sconsEnv=None,
diff -r 0e4d88def193
scons/simula-scons/simula_scons/pkgconfiggenerators/petsc.py
--- a/scons/simula-scons/simula_scons/pkgconfiggenerators/petsc.py	Mon
Oct 19 11:41:27 2009 +0100
+++ b/scons/simula-scons/simula_scons/pkgconfiggenerators/petsc.py	Wed
Oct 21 11:31:23 2009 +0200
@@ -31,7 +31,7 @@
	-@echo -I${PETSC_DIR}/%s${PETSC_ARCH}%s -I${PETSC_DIR}/include
${MPI_INCLUDE}

get_petsc_libs:
-	-@echo   ${C_SH_LIB_PATH} -L${PETSC_LIB_DIR} ${PETSC_LIB_BASIC}
+ -@echo ${C_SH_LIB_PATH} -L${PETSC_LIB_DIR} ${PETSC_LIB_BASIC} - lX11
-L/usr/X11R6/lib

get_petsc_cc:
	-@echo ${PCC}
diff -r 0e4d88def193
scons/simula-scons/simula_scons/pkgconfiggenerators/umfpack.py
--- a/scons/simula-scons/simula_scons/pkgconfiggenerators/umfpack.py Mon
Oct 19 11:41:27 2009 +0100
+++ b/scons/simula-scons/simula_scons/pkgconfiggenerators/umfpack.py Wed
Oct 21 11:31:23 2009 +0200
@@ -225,7 +225,7 @@
    libs += "-framework vecLib"
  else:
    libs += "-L%s -lblas" % getBlasDir(sconsEnv=sconsEnv)
-  libs += " -L%s -lumfpack" % getUmfpackLibDir(sconsEnv)
+  libs += " -L%s -lumfpack -lmetis" % getUmfpackLibDir(sconsEnv)
  if needAMD(sconsEnv):
    libs += " -L%s -lamd" % getAMDLibDir(sconsEnv)
  return libs

Harish

Thank you Harish. That fixed it!
However there is a new very similar problem. This time it is the symbol _XAllocColor that's missing. I can't see how you knew where to change, and to what, to fix the last problem? I expect a similar change in any of the files in pkggenerator (?).

Do you have the same easy fix this time?

This time it is the development version btw (although same problem holds in the stable version).

Aron

from dolfin import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
File "/Users/aron/Work/FEniCS/unstable/build/lib/python2.6/site- packages/dolfin/__init__.py", line 11, in <module>
    import cpp
File "/Users/aron/Work/FEniCS/unstable/build/lib/python2.6/site- packages/dolfin/cpp.py", line 28, in <module>
    _cpp = swig_import_helper()
File "/Users/aron/Work/FEniCS/unstable/build/lib/python2.6/site- packages/dolfin/cpp.py", line 24, in swig_import_helper
    _mod = imp.load_module('_cpp', fp, pathname, description)
ImportError: dlopen(/Users/aron/Work/FEniCS/unstable/build/lib/ python2.6/site-packages/dolfin/_cpp.so, 2): Symbol not found: _XAllocColor Referenced from: /Users/aron/Work/FEniCS/unstable/build/lib/ libdolfin.dylib
  Expected in: flat namespace
 in /Users/aron/Work/FEniCS/unstable/build/lib/libdolfin.dylib



Follow ups

References