Could not determine BLAS format.

125 views
Skip to first unread message

AJ Friend

unread,
Jun 17, 2013, 3:26:36 PM6/17/13
to element...@googlegroups.com
Hi,

I'm trying to build elemental on my laptop. I'm running Linux Mint 14.

I can complete the basic install and run the SVD example, however, I'd also like to get libflame working.
BLAS and LAPACK are installed through apt-get.

When I run this command, I get the following error:

cmake -D MATH_LIBS="/home/aj/lib/libflame.a;-L/usr/lib -llapack -lblas -lm" ..

-- Build mode not specified, defaulting to PureRelease build.
-- Using user-defined MATH_LIBS=/home/aj/lib/libflame.a;-L/usr/lib -llapack -lblas -lm
CMake Error at CMakeLists.txt:320 (message):
  Could not determine BLAS format.

I'm stuck at this point.

Any help would be appreciated.

Thanks,
AJ



Jack Poulson

unread,
Jun 17, 2013, 3:32:16 PM6/17/13
to AJ Friend, element...@googlegroups.com
Hi AJ,

I should probably add something to the documentation for this issue, as it is an extremely common question (what to do when BLAS detection fails). The answer is usually more apparent after looking into the file CMakeFiles/CMakeError.log. If you search for the last time "daxpy" appears, which is the BLAS routine that the CMake build attempts to compile, you should see what symbol was unresolved.

Please let me know if this does or does not clear up the issue.

Best Regards,
Jack






--
You received this message because you are subscribed to the Google Groups "elemental-maint" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elemental-mai...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

AJ Friend

unread,
Jun 17, 2013, 3:53:23 PM6/17/13
to element...@googlegroups.com, AJ Friend
Hi Jack,

Thanks for getting back to me so quickly. Here's my CMakeError.log. Unfortunately, I don't have enough experience to know what to do next. If you could point me in the right direction, that'd be huge help.

Determining if the function daxpy exists failed with the following output:
Change Dir: /home/aj/elemental/elemental-0.80/build/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/make "cmTryCompileExec4113720852/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec4113720852.dir/build.make CMakeFiles/cmTryCompileExec4113720852.dir/build
make[1]: Entering directory `/home/aj/elemental/elemental-0.80/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/aj/elemental/elemental-0.80/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec4113720852.dir/CheckFunctionExists.c.o
/usr/bin/gcc   -DCHECK_FUNCTION_EXISTS=daxpy   -o CMakeFiles/cmTryCompileExec4113720852.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c
make[1]: Leaving directory `/home/aj/elemental/elemental-0.80/build/CMakeFiles/CMakeTmp'
make[1]: *** No rule to make target `/home/aj/lib/libflame.a', needed by `cmTryCompileExec4113720852'.  Stop.
make: *** [cmTryCompileExec4113720852/fast] Error 2


Determining if the function daxpy_ exists failed with the following output:
Change Dir: /home/aj/elemental/elemental-0.80/build/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/make "cmTryCompileExec4041258017/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec4041258017.dir/build.make CMakeFiles/cmTryCompileExec4041258017.dir/build
make[1]: Entering directory `/home/aj/elemental/elemental-0.80/build/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /home/aj/elemental/elemental-0.80/build/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec4041258017.dir/CheckFunctionExists.c.o
/usr/bin/gcc   -DCHECK_FUNCTION_EXISTS=daxpy_   -o CMakeFiles/cmTryCompileExec4041258017.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c
make[1]: Leaving directory `/home/aj/elemental/elemental-0.80/build/CMakeFiles/CMakeTmp'
make[1]: *** No rule to make target `/home/aj/lib/libflame.a', needed by `cmTryCompileExec4041258017'.  Stop.
make: *** [cmTryCompileExec4041258017/fast] Error 2


AJ

Jack Poulson

unread,
Jun 17, 2013, 3:55:41 PM6/17/13
to AJ Friend, element...@googlegroups.com
Hi AJ,


> make[1]: *** No rule to make target `/home/aj/lib/libflame.a', needed by `cmTryCompileExec4041258017'.  Stop.

Are you sure that /home/aj/lib/libflame.a exists? If it doesn't, you will need to download and build a copy from here:
http://www.cs.utexas.edu/users/flame/snapshots/

Jack

AJ Friend

unread,
Jun 17, 2013, 4:15:35 PM6/17/13
to element...@googlegroups.com, AJ Friend
Ah, it was just a typo on my part! It was ~/flame/lib instead of ~/lib. It looks like everything is working. Thanks!

I have a follow up question, though. Is there an easy way to check that Flame is properly configured, and that Elemental is indeed using it?

AJ

Jack Poulson

unread,
Jun 17, 2013, 4:18:18 PM6/17/13
to AJ Friend, element...@googlegroups.com
Hi AJ,

I'm glad to hear it!

Yes, in your build directory you should notice a file include/elemental/config.h. If you open up that file, you will see that there are a number of configuration options detailed. If HAVE_FLA_BSVD is there (and not commented out!), then it was successfully detected during configuration. Note that there should have been a message printed during configuration about whether or not this routine was detected.

Jack

AJ Friend

unread,
Jun 17, 2013, 4:31:30 PM6/17/13
to element...@googlegroups.com, AJ Friend
Looks good! Thanks again.

AJ
Reply all
Reply to author
Forward
0 new messages