hmatrix-0.16.0.4 installation problem

Hi, I tried to upgrade from hmatrix 0.15.2.1 to hmatrix-0.16.0.4 and both cabal install and cabal configure complained about missing blas and lapack libraries. However, I do have those libraries installed, and I passed their locations through --extra-include-dirs and --extra-lib-dirs with no results. I use cabal 1.20.0.3, ghc 7.8.2 and gcc 4.4.4 on a Slackware-13.1 64-bit linux box. Any idea of what is going wrong (and how to correct it?) Thanks, Adrian-Victor.

On Thu, Aug 21, 2014 at 3:26 PM, Adrian Victor Crisciu
Hi,
I tried to upgrade from hmatrix 0.15.2.1 to hmatrix-0.16.0.4 and both cabal install and cabal configure complained about missing blas and lapack libraries. However, I do have those libraries installed, and I passed their locations through --extra-include-dirs and --extra-lib-dirs with no results.
I use cabal 1.20.0.3, ghc 7.8.2 and gcc 4.4.4 on a Slackware-13.1 64-bit linux box.
Any idea of what is going wrong (and how to correct it?)
Thanks, Adrian-Victor.
A report like this is much easier to answer if it includes the actual command you ran and its output. Michael

Sorry! This is the the failed cabal install command and its output: The blas (libcblas.so) and lapack (both liblapack.a and liblapack.so) are in /usr/local/lib64, so they can be easily found. And the configure script for other software did found them. cabal install --enable-documentation hmatrix Resolving dependencies... Configuring hmatrix-0.16.0.4... cabal: Missing dependencies on foreign libraries: * Missing C libraries: blas, lapack This problem can usually be solved by installing the system packages that provide these libraries (you may need the "-dev" versions). If the libraries are already installed but in a non-standard location then you can use the flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are. Failed to install hmatrix-0.16.0.4 cabal: Error: some packages failed to install: hmatrix-0.16.0.4 failed during the configure step. The exception was: ExitFailure 1 Adrian-Victor

Hello Adrian, Are the header files for blas and lapack on your system? (I'm not sure what the configure script for other software was checking for.) Edward Excerpts from Adrian Victor Crisciu's message of 2014-08-21 14:22:58 +0100:
Sorry!
This is the the failed cabal install command and its output: The blas (libcblas.so) and lapack (both liblapack.a and liblapack.so) are in /usr/local/lib64, so they can be easily found. And the configure script for other software did found them.
cabal install --enable-documentation hmatrix
Resolving dependencies... Configuring hmatrix-0.16.0.4... cabal: Missing dependencies on foreign libraries: * Missing C libraries: blas, lapack This problem can usually be solved by installing the system packages that provide these libraries (you may need the "-dev" versions). If the libraries are already installed but in a non-standard location then you can use the flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are. Failed to install hmatrix-0.16.0.4 cabal: Error: some packages failed to install: hmatrix-0.16.0.4 failed during the configure step. The exception was: ExitFailure 1
Adrian-Victor

Hi, Yes, they are in /usr/local/include. Moreover, /usr/local/lib64 is a symbolic link to /usr/local/lib (as may system is a 64-bit anyway), so the libraries should be found regardless of the path they are searched on. I have atlas-3.3.8 and lapack-3.4.0. Are newer versions required? Thanks! Adrian.

You need to pass cabal the extra includes and extra lib dirs flags with the
explicit paths to the lib and include folders that have your blas and
lapack. The logic in hmatrix can only check stadard paths.
On Thursday, August 21, 2014, Adrian Victor Crisciu
Hi,
Yes, they are in /usr/local/include. Moreover, /usr/local/lib64 is a symbolic link to /usr/local/lib (as may system is a 64-bit anyway), so the libraries should be found regardless of the path they are searched on.
I have atlas-3.3.8 and lapack-3.4.0. Are newer versions required?
Thanks! Adrian.

I tried the following command line: cabal install --enable-documentation --extra-include-dirs=/usr;local/include --extra-lib-dirs=/usr/local/lib hmatrix and got the following: Resolving dependencies... Configuring hmatrix-0.16.0.4... cabal: Missing dependencies on foreign libraries: * Missing C libraries: blas, lapack This problem can usually be solved by installing the system packages that provide these libraries (you may need the "-dev" versions). If the libraries are already installed but in a non-standard location then you can use the flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are. Failed to install hmatrix-0.16.0.4 cabal: Error: some packages failed to install: hmatrix-0.16.0.4 failed during the configure step. The exception was: ExitFailure 1 As I said before, the libraries for blas and lapack ARE in /usr/local/lib and the header files ARE in /usr/local/include. Is it possible for hmatrix to look for another version of atlas/blas and lapack? I have installed atlas-3.3.8 and lapack-3.4.0 Adrian.

What Linux distro? If you're on an unusual distro You might just need to
patch the build process to look up the right names.
Also have you contacted the hmatrix maintainer to ask him for help. HMATRIX
does have an issue tracker on github etc
On Friday, August 22, 2014, Adrian Victor Crisciu
I tried the following command line:
cabal install --enable-documentation --extra-include-dirs=/usr;local/include --extra-lib-dirs=/usr/local/lib hmatrix
and got the following:
Resolving dependencies... Configuring hmatrix-0.16.0.4... cabal: Missing dependencies on foreign libraries: * Missing C libraries: blas, lapack This problem can usually be solved by installing the system packages that provide these libraries (you may need the "-dev" versions). If the libraries are already installed but in a non-standard location then you can use the flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are. Failed to install hmatrix-0.16.0.4 cabal: Error: some packages failed to install: hmatrix-0.16.0.4 failed during the configure step. The exception was: ExitFailure 1
As I said before, the libraries for blas and lapack ARE in /usr/local/lib and the header files ARE in /usr/local/include.
Is it possible for hmatrix to look for another version of atlas/blas and lapack? I have installed atlas-3.3.8 and lapack-3.4.0
Adrian.

On Fri, Aug 22, 2014 at 10:38 AM, Edward Z. Yang
cabal install --enable-documentation --extra-include-dirs=/usr;local/include --extra-lib-dirs=/usr/local/lib hmatrix
Is that semicolon a typo?
It kinda has to be, they'd have gotten rather more interesting errors otherwise. -- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
participants (5)
-
Adrian Victor Crisciu
-
Brandon Allbery
-
Carter Schonwald
-
Edward Z. Yang
-
Michael Snoyman