← Back to team overview

dolfin team mailing list archive

Re: [Fwd: [Branch ~dolfin-core/dolfin/main] Rev 4922: Add experimental version of UMFPACK configure file]

 

On Tue, Aug 10, 2010 at 2:00 PM, Anders Logg <logg@xxxxxxxxx> wrote:
> On Tue, Aug 10, 2010 at 01:50:38PM +0200, Johannes Ring wrote:
>> On Tue, Aug 10, 2010 at 1:47 PM, Anders Logg <logg@xxxxxxxxx> wrote:
>> > On Tue, Aug 10, 2010 at 12:26:58PM +0100, Garth N. Wells wrote:
>> >> On Tue, 2010-08-10 at 13:22 +0200, Anders Logg wrote:
>> >> > On Tue, Aug 10, 2010 at 12:06:37PM +0200, Johannes Ring wrote:
>> >> > > On Tue, Aug 10, 2010 at 11:59 AM, Garth N. Wells <gnw20@xxxxxxxxx> wrote:
>> >> > > > On Tue, 2010-08-10 at 11:50 +0200, Anders Logg wrote:
>> >> > > >> Not yet. I've fixed some obvious bugs (like " --> \") but the test
>> >> > > >> program does not run.
>> >> > > >>
>> >> > > >
>> >> > > > Did you google FindUMFPACK.cmake first? ;)
>> >> > > >
>> >> > > > There are some tests for UMFPACK out there already - they  also test for
>> >> > > > BLAS and AMD, on which UMFPACK depends.
>> >> > > >
>> >> > > >> How does one check the output from CMake? Is there an error log to
>> >> > > >> look at?
>> >> > > >>
>> >> > > >
>> >> > > > Note sure.
>> >> > >
>> >> > > Look at CMakeFiles/CMakeOutput.log in the build directory.
>> >> >
>> >> > It doesn't seem to contain any output from the failing UMFPACK test,
>> >> > only output from building some other test program.
>> >> >
>> >>
>> >> There's also an error log (CMakeError.log, I think).
>> >
>> > I can't find that file. There must be some way to see the output
>> > generated when CMake compiles and runs the test program. I tried with
>> > --debug-trycompile but it didn't do much good.
>>
>> I get this output from CMakeFiles/CMakeError.log:
>>
>> Performing C++ SOURCE FILE Test UMFPACK_TEST_RUNS failed with the
>> following output:
>> Change Dir: /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp
>>
>> Run Build Command:/usr/bin/make "cmTryCompileExec/fast"
>> /usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make
>> CMakeFiles/cmTryCompileExec.dir/build
>> make[1]: Entering directory
>> `/home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp'
>> /usr/bin/cmake -E cmake_progress_report
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/CMakeFiles 1
>> Building CXX object CMakeFiles/cmTryCompileExec.dir/src.cxx.o
>> /usr/lib/ccache/c++    -DUMFPACK_TEST_RUNS   -o
>> CMakeFiles/cmTryCompileExec.dir/src.cxx.o -c
>> /home/johannr/src/bzr/dolf\
>> in/build2/CMakeFiles/CMakeTmp/src.cxx
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx:4:21:
>> error: umfpack.h: No such file or directory
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx: In
>> function ‘int main()’:
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx:18:
>> error: ‘NULL’ was not declared in this scope
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx:18:
>> error: ‘umfpack_di_symbolic’ was not declared in th\
>> is scope
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx:19:
>> error: ‘umfpack_di_numeric’ was not declared in thi\
>> s scope
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx:20:
>> error: ‘umfpack_di_free_symbolic’ was not declared \
>> in this scope
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx:22:
>> error: ‘UMFPACK_A’ was not declared in this scope
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx:22:
>> error: ‘umfpack_di_solve’ was not declared in this \
>> scope
>> /home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp/src.cxx:23:
>> error: ‘umfpack_di_free_numeric’ was not declared i\
>> n this scope
>> make[1]: Leaving directory
>> `/home/johannr/src/bzr/dolfin/build2/CMakeFiles/CMakeTmp'
>> make[1]: *** [CMakeFiles/cmTryCompileExec.dir/src.cxx.o] Error 1
>> make: *** [cmTryCompileExec/fast] Error 2
>>
>> Return value: 1
>> Source file was:
>>
>> /* Test program umfpack-ex1.c */
>>
>> #include <umfpack.h>
>>
>> int main()
>> {
>>   int n = 5;
>>   double x[5];
>>   void *Symbolic, *Numeric;
>>   int i;
>>
>>   int Ap[] = { 0, 2, 5, 9, 10, 12 };
>>   int Ai[] = { 0, 1, 0,  2, 4, 1,  2, 3, 4, 2, 1, 4 };
>>   double Ax[] = { 2, 3, 3, -1, 4, 4, -3, 1, 2, 2, 6, 1 };
>>   double b[] = { 8, 45, -3, 3, 19 };
>>
>>   umfpack_di_symbolic(n, n, Ap, Ai, Ax, &Symbolic, NULL, NULL);
>>   umfpack_di_numeric(Ap, Ai, Ax, Symbolic, &Numeric, NULL, NULL);
>>   umfpack_di_free_symbolic(&Symbolic);
>>
>>   umfpack_di_solve(UMFPACK_A, Ap, Ai, Ax, x, b, Numeric, NULL, NULL);
>>   umfpack_di_free_numeric(&Numeric);
>>
>>   return 0;
>> }
>>
>> Johannes
>
> Great... How do you get CMakeError.log? I don't see it here? Are you
> building with the GUI or some special options?

No, I'm not using the GUI.

> I'm just typing
>
>  cmake .
>
> when testing.

You should build in a separat directory. I usually does this:

  mkdir build
  cd build
  cmake ..

Then look for CMakeFiles/CMakeError.log in the build directory.

Johannes



Follow ups

References