Åsmund Ødegård wrote:
> Hi Andy,
>
> thanks for your report :)
>
> On Mon, Mar 10, 2008 at 10:07 PM, Andy Ray Terrel 
> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
>
>     I am having trouble with scons trying to find UMFPACK for me on my mac
>     laptop and am trying to debug how it configures itself.  When I
>     look at
>     dolfin/scons/simula-scons/simula_scons/pkgconggenerators/umfpack.py
>     this
>     codes adds a bunch of directories and looks for umfpack.h,
>     libumfpack.a,
>     amd.h and so on.  If it can't find these guys it raises an error
>     saying
>     so and similarly if it cannot compile the test programs. 
>
>
> You could actually run that script standalone - just cd in there and 
> do 'python umfpack.py'  - that might yield some extra information... 
> Maybe you can try that and report?

Looks like it is building the library strings wrong, the compile fails 
by calling:

g++ -I/usr/local/include umfpack_config_test_include.cpp -framework 
-L/usr/local/lib vecLib -lumfpack
 
so in the pkgLibs function removing the line: *  libs = " 
".join(set(libs.split()))*  fixes my compiling problem, since -framework 
vecLib must be together on Darwin.

then for linking it didn't put -lamd and -lumfpack after the blas calls, 
and used:

g++ -L/sw/lib -lumfpack -L/sw/lib -lamd -framework vecLib 
umfpack_config_test_lib.o

this needs to be:

g++  -framework vecLib -L/sw/lib -lumfpack -L/sw/lib -lamd 
umfpack_config_test_lib.o

I changed pkgLibs to:

def pkgLibs(**kwargs):
  libs = ""
  if get_architecture() == "darwin":
    libs += "-framework vecLib"
  else:
    libs += "-L%s -lblas -llapack" % getATLASDir()
  libs += " -L%s -lumfpack" % getUmfpackLibDir()
  if needAMD():
    libs += " -L%s -lamd" % getAMDLibDir() 

  return libs

and everything works, its probably not the most robust solution but 
solved my problems for here and now.

_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to