You are not logged in.

#1 2011-06-10 17:24:23

lev
Member
Registered: 2010-05-05
Posts: 7

Eigen BLAS

I've got a problem with the BLAS-Implementation of Eigen.
The two packages build without a hick but as soon as I try to use Octave an error comes up:
The LAPACK Function spotrf_ ist missing.

I spend some time trying to figure it out but without success...

Has somebody got Eigen BLAS to work and could help me out?
Thanks.


My PKGBUILDs:

pkgname=eigen3-blas
pkgver=3.0.1
pkgrel=1
pkgdesc="Eigen BLAS"
arch=('i686' 'x86_64')
conflicts=('blas')
provides=('blas')
url='http://eigen.tuxfamily.org'
license=('GPL' 'LGPL')
makedepends=('cmake' 'pkgconfig')
source=("http://bitbucket.org/eigen/eigen/get/${pkgver}.tar.bz2")
md5sums=('6259a841384b9e860939c4fd9181afb9')

build() {
    cd $srcdir
    mkdir build
    cd build
    cmake ../eigen-eigen-599fc4f7c736 \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr
    make blas
}


package() {
  cd "${srcdir}/build"
  make DESTDIR="${pkgdir}" install

  cd "${srcdir}/build/blas"

  install -dm755 $pkgdir/usr/lib
  cp -d libeigen* $pkgdir/usr/lib
  ln -s libeigen_blas.so $pkgdir/usr/lib/libblas.so.3
  ln -sf libblas.so.3 $pkgdir/usr/lib/libblas.so
  ln -s libeigen_blas_static.a $pkgdir/usr/lib/libblas.a
}

This is a slightly modified copy of the LAPACK-package  in extra.

# Contributor: Ronald van Haren <ronald.archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: damir <damir@archlinux.org>
# Contributor: Jason Taylor <jftaylor21@gmail.com>

pkgname=lapack4eigen
_pkgname=lapack
pkgver=3.3.0
pkgrel=1
url="http://www.netlib.org/lapack"
pkgdesc="Linear Algebra PACKage for Goto BLAS"
depends=('eigen3-blas' 'gcc-libs')
provides=("lapack=$pkgver")
conflicts=('lapack')
makedepends=('gcc-fortran')
arch=('i686' 'x86_64')
license=("custom")
source=(http://www.netlib.org/${_pkgname}/${_pkgname}-${pkgver}.tgz
        lapack-3.1.1-make.inc.patch
        Makefile.lapack
        LICENSE.blas)
md5sums=('84213fca70936cc5f1b59a7b1bf71697'
         'cdfcb9d9b162c18d9acbf63c5579ea26'
         '93e66addb0b9fe8c5e12cfb115ae06ef'
         '38b6acb8ed5691d25863319d30a8b365')

build() {
  cd "${srcdir}/${_pkgname}-${pkgver}"
  patch -Np1 -i "${srcdir}/lapack-3.1.1-make.inc.patch"
  cp -f INSTALL/make.inc.gfortran make.inc
  cp -f "${srcdir}/Makefile.lapack" SRC/Makefile

  export FC=gfortran

  pushd INSTALL
  make clean
  make NOOPT="${CFLAGS/-O?/-O0} -fPIC" OPTS="${CFLAGS} -fPIC"
  popd
  # make sure no files with '_', *vxx.o *vfx.o and *2.O as defined in *ASRC
  #  are in OBJS
  pushd SRC
  make clean
  
  make FFLAGS="${CFLAGS} -fPIC" CFLAGS="${CFLAGS} -fPIC" shared
  cp liblapack.so.${pkgver} "${srcdir}/${_pkgname}-${pkgver}/"
  popd
}

package() {
  install -m755 -d "${pkgdir}/usr/lib"
  install -m755 "${srcdir}/${_pkgname}-${pkgver}/liblapack.so.${pkgver}" \
    "${pkgdir}/usr/lib/"
  ln -sf liblapack.so.${pkgver} "${pkgdir}/usr/lib/liblapack.so"
  ln -sf liblapack.so.${pkgver} "${pkgdir}/usr/lib/liblapack.so.3"

  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
  install -m644 "${srcdir}/${_pkgname}-${pkgver}/LICENSE" \
    "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
}

Last edited by lev (2011-06-10 17:26:22)

Offline

Board footer

Powered by FluxBB