- tmpwatch (app-admin/tmpwatch) をインストールしないと,/tmp 以下にファイルが蓄積する一方だった.
- このページを参考にして,Portage のログを残すようにした.
- 私用ライブラリを消失したのをきっかけに,既存のライブラリを積極的に活用しようかと画策中.とりあえず IT++ (sci-libs/itpp), ACML, ATLAS (sci-libs/blas-atlas, sci-libs/lapack-atlas) をインストールしてみた.ACML を取得するためには登録が必要 (但し無料).まだ使ってはいない.ATLAS (特に blas-atlas) はコンパイル時間がやたら長い….まぁ名称が示すようにそれが当然なんだけども.
- ATLAS の安定版である 3.6.0 をインストールするためには,GCC 4.x ではなく 3.x を使う必要があった.FORTRAN のコンパイラが GCC 4.x では gfortran, 3.x では g77 であるのが関係している様子.
- xdvi(k) 俺は app-text/ptex-3.1.8.1_p20050418 に含まれているのを使っている. が DVI ファイルを表示しきる前に落ちるようになった.いつの間に ? と思って調べてたら,どうやら FreeType のバージョンが上がったのが関係しているらしい.2.3.3 から 2.1.10-r3 に downdate (?) したら回避できた.
2007/05/27 追記.
ACML のインストールのために作成した ebuild ファイルを晒しておく.このページを参考にした.
# /usr/local/portage/sci-libs/acml/acml-3.6.0.ebuild
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# (上 3 行はきちんと書き直すべきなんだろうけど 放置...)
inherit eutils toolchain-funcs
DESCRIPTION="AMD Core Math Library (ACML) for x86 and amd64 CPUs"
HOMEPAGE="http://developer.amd.com/acml.aspx"
MY_PV=${PV//\./\-}
S=${WORKDIR}
if [ "$(tc-getF77)" == "f77" ] ; then
export FORTRAN="gfortran"
else
export FORTRAN="gnu"
fi
SRC_URI="amd64? ( acml-${MY_PV}-${FORTRAN}-64bit.tgz )
x86? ( acml-${MY_PV}-${FORTRAN}-32bit.tgz )"
RESTRICT="fetch nostrip"
#IUSE="sse sse2"
LICENSE="ACML"
KEYWORDS="~amd64"
SLOT="0"
RDEPEND="virtual/libc
app-admin/eselect-blas
app-admin/eselect-cblas
app-admin/eselect-lapack"
PROVIDE="virtual/blas
virtual/lapack"
set_arch() {
if [ "${ARCH}" == "amd64" ] ; then
export BITS="64"
elif [ "${ARCH}" == "x86" ] ; then
export BITS="32"
fi
}
src_unpack() {
unpack ${A}
set_arch
(DISTDIR="${S}" unpack contents-acml-${MY_PV}-${FORTRAN}-${BITS}bit.tgz)
}
src_compile() {
return
}
src_install() {
set_arch
# Documentation
cd ${S}/Doc
dodoc acml.*
dohtml html/*
# Headers
mkdir -p ${D}/usr/include/acml/
cp ${S}/${FORTRAN}${BITS}/include/* ${D}/usr/include/acml/ \
|| die "Could not copy header file"
cd ${D}/usr/include
ln -s acml/acml.h acml.h
# Libraries
mkdir -p ${D}/usr/$(get_libdir)/
cp ${S}/${FORTRAN}${BITS}/lib/* ${D}/usr/$(get_libdir)/ \
|| die "Could not copy library files"
unset SUFFIX
# eselect configfiles
eselect blas add $(get_libdir) ${FILESDIR}/eselect.blas acml
eselect cblas add $(get_libdir) ${FILESDIR}/eselect.cblas acml
eselect lapack add $(get_libdir) ${FILESDIR}/eselect.lapack acml
}
pkg_postinst() {
einfo "To use ACML's BLAS features, you have to issue (as root):"
einfo "\t/usr/bin/eselect blas set ACML"
einfo "To use ACML's CBLAS features, you have to issue (as root):"
einfo "\t/usr/bin/eselect cblas set ACML"
einfo "To use ACML's LAPACK features, you have to issue (as root):"
einfo "\t/usr/bin/eselect lapack set ACML"
}