dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #06470
Re: Debugging scons
On Tue, March 11, 2008 Andy Ray Terrel wrote:
> Ã
smund ÃdegÃ¥rd wrote:
>> Hi Andy,
>>
>> thanks for your report :)
>>
>> On Mon, Mar 10, 2008 at 10:07 PM, Andy Ray Terrel
>> <aterrel@xxxxxxxxxxxx <mailto:aterrel@xxxxxxxxxxxx>> 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.
These issues should be fixed now. Thanks for reporting!
Johannes
References