help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

configure has problems when MKL is not installed in a default lib direct


From: Johannes Zarl
Subject: configure has problems when MKL is not installed in a default lib directory
Date: Thu, 24 Jul 2014 10:56:35 +0200
User-agent: KMail/1.13.7 (Linux/3.10-0.bpo.3-amd64; KDE/4.8.4; x86_64; ; )

Hi,

I'm trying to compile octave 3.8.1 with --enable-64 and I'm having problems. 
Configure fails with the following message:

[excerpt of ./configure output:]
> checking for sgemm_ in -
> L/jkuvrc/packages/intel/compiler/composerxe-2011.3.174/mkl/lib/intel64/ -
> lmkl_blas95_ilp64 -lmkl_rt  -lpthread -lm... yes
> checking whether LSAME is called correctly from Fortran... no
> checking whether ISAMAX is called correctly from Fortran... no
> checking whether SDOT is called correctly from Fortran... no
> checking whether DDOT is called correctly from Fortran... no
> checking whether CDOTU is called correctly from Fortran... no
> checking whether ZDOTU is called correctly from Fortran... no
> checking whether the integer size is correct... no
> configure: error: BLAS doesn't seem to support 64-bit integers.  This is 
> incompatible with --enable-64.
 
So far, so good(?), but when I looked into config.log, I see the following:

[excerpt from config.log:]
> configure:34134: checking whether the integer size is correct
> configure:34168: 
> /apps/intel/compiler/composerxe-2011.3.174/bin/intel64/ifort -o conftest -
> ff2c 
> -I/jkuvrc/packages/intel/compiler/composerxe-2011.3.174/mkl/include/intel64/
> runtime -I/jkuvrc/packages/intel/compiler/composerxe-2011.3.174/mkl/include 
> -i8  conftest.f -
> L/jkuvrc/packages/intel/compiler/composerxe-2011.3.174/mkl/lib/intel64/ -
> lmkl_b
> las95_ilp64 -lmkl_rt  -lpthread -lm -lm   >&5
> ifort: command line warning #10006: ignoring unknown option '-ff2c'
> configure:34168: $? = 0
> configure:34168: ./conftest
> ./conftest: error while loading shared libraries: libmkl_rt.so: cannot open 
> shared object file: No such file or directory
> configure:34168: $? = 127
> configure: program exited with status 127
> configure: failed program was:
> |       program main
> | 
> |       integer n,nn(3)
> |       real s,a(1),b(1),sdot
> |       a(1) = 1.0
> |       b(1) = 1.0
> | c Generate -2**32 + 1, if possible
> |       n = 2
> |       n = -4 ** (n ** 30)
> |       n = n + 1
> |       if (n >= 0) goto 1
> | c This means we're on 64-bit integers. Check whether the BLAS is, too.
> |       s = sdot(n,a,1,b,1)
> |       if (s .ne. 0.0) stop 1
> |     1 continue
> | c We may be on 32-bit integers, and the BLAS on 64 bits. This is almost 
> | bound
> | c to have already failed, but just in case, we'll check.
> |       nn(1) = -1
> |       nn(2) = 1
> |       nn(3) = -1
> |       s = sdot(nn(2),a,1,b,1)
> |       if (s .ne. 1.0) stop 1
> | 
> |       end
> configure:34177: result: no
> configure:35947: error: BLAS doesn't seem to support 64-bit integers.  This 
> is incompatible with --enable-64.
> 


I.e. the  problem lies with the dynamic linker. When I try to compile 
conftest.f using the commandline given in config.log, it succeeds, and can be 
executed without problems. LD_LIBRARY_PATH needs to be set correctly, since 
MKL is installed in its custom prefix:

> ldd conftest
>         linux-vdso.so.1 =>  (0x00007fff3cdff000)
>         libmkl_rt.so =>
>         /path/to/intel/compiler/composerxe-2011.3.174/mkl/lib/inte
>         l64/libmkl_rt.so (0x00007f33c46a8000) libpthread.so.0 =>
>         /lib64/libpthread.so.0 (0x00007f33c444e000) libm.so.6 =>
>         /lib64/libm.so.6 (0x00007f33c41f8000)
>         libc.so.6 => /lib64/libc.so.6 (0x00007f33c3e99000)
>         libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f33c3c82000)
>         libdl.so.2 => /lib64/libdl.so.2 (0x00007f33c3a7e000)
>         /lib64/ld-linux-x86-64.so.2 (0x00007f33c4c1f000)


So here's my question: How do I force the configure script to honor 
LD_LIBRARY_PATH while executing ./conftest?

Cheers,
  Johannes



reply via email to

[Prev in Thread] Current Thread [Next in Thread]