[Wien] Gentoo install

Michael Ryan Hansen mrh at chem.au.dk
Tue Jun 14 13:34:08 CEST 2005


On (14/06/05 12:01), Michael Gurnett wrote:

> I'm trying to set up gentoo on the cluster, due to some problems
> that eem to be occuring with Lineox 4. However, I cannot seem to
> install the intel compiler (7, 8 or 9). I saw that some people on
> the list were using Gentoo. Does anyone know how to get ifort and
> mkl working under Gentoo.  Any help would be really appreciated.

I am running WIEN2k_05 on a computer with Gentoo installed. The
compiler I use is ifc 7.1 and the math libs are mkl 7.2. I have
customized two ebuilds that works for me (attached). These should be
installed in a local portage (eg. /usr/local/portage/, see below) and
your make.conf file should include a line like

PORTDIR_OVERLAY=/usr/local/portage

In PORTAGE_OVERLAY create the dirs:

dev-lang/ifc and sci-libs/mkl

and put the ebuilds here. The mkl ebuild must be be edited so it
contains the version of mkl you want to use
(RPMFILE=you-version.rpm). Make a digest in each of the above
mentioned dirs 

ebuild name.ebuild digest

Put your license files in /opt/intel/licenses/. For the mkl libs you
must download the file yourself from Intel - extract the rpm file and
put it in /usr/portage/distfiles/. The installation of ifc is simply
installed the normal Gentoo way (eg. emerge ifc -va, notice that there
should appear and overlay dir below). Add the following lines (if they
don't already exist) to /etc/profile

export INTEL_LICENSE_FILE=/opt/intel/licenses
export LD_LIBRARY_PATH=/opt/intel/mklXXX/lib/32:$LD_LIBRARY_PATH

My OPTIONS file for WIEN2k_05 looks like this

current:FOPT:-FR -mp -w
current:FPOPT:-FR -mp -w
current:LDFLAGS:-L/opt/intel/mklXXX/lib/32 -Vaxlib -i_dynamic
current:DPARALLEL:'-DParallel'
current:R_LIBS:-lmkl_lapack -lmkl_p4 -lguide -lpthread
current:RP_LIBS:-L /usr/local/SCALAPACK -L /usr/local/BLACS/LIB -lpblas -lredist -ltools -lscalapack -lfblacs -lblacs -lmpi

Hope this helps. I look forward to hear whether or not this works on a
cluster of computers.

Michael

--
Michael Ryan Hansen
MSc, PhD stud.
Department of Chemistry
University of Aarhus 
Langelandsgade 140
8000 Aarhus C, Denmark

Office: +045 89 42 38 71
Home:   +045 28 78 56 54
email: mrh at chem.au.dk




-------------- next part --------------
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sci-libs/mkl/mkl-5.2.ebuild,v 1.1 2004/12/28 21:45:07 ribosome Exp $

inherit rpm multilib

S=${WORKDIR}
DESCRIPTION="Intel(R) Math Kernel Library"
HOMEPAGE="http://developer.intel.com/software/products/mkl/"
# EDIT THIS LINE TO THE RIGHT rpm
RPMFILE="intel-mkl-7.2p-8.i386.rpm"
SRC_URI="${RPM}"

IUSE=""

# No need to, there aren't any executables and it takes a long time.
RESTRICT="nostrip fetch"

SLOT="7.2"
LICENSE="imkl-7.2"
KEYWORDS="-* amd64 ia64 x86"

DEPEND="app-arch/cpio
	app-arch/rpm"

RDEPEND=">=sys-kernel/linux-headers-2.4
	>=sys-libs/glibc-2.2.2"

src_unpack() {
	cd ${S}
	rpm2cpio ${DISTDIR}/${RPMFILE} | cpio -i --make-directories
}

src_install () {
	cp -a ${S}/opt ${D}/

	case ${ARCH} in
		amd64)
			LIBDIR=em64t DELETE="32 64";;
		ia64)
			LIBDIR=64 DELETE="32 em64t";;
		x86)
			LIBDIR=32 DELETE="64 em64t";;
		*)
			die "Unsupported architecture. Supported are amd64, ia64 and x86!";;
	esac
	for x in ${DELETE} ; do
		echo "Deleting ${x}..."
		rm -Rf ${D}/opt/intel/mkl72/lib/${x}
	done

	dodir /usr/$(get_libdir)
	ln -sf ${D}/opt/intel/mkl72/${LIBDIR} ${D}/usr/$(get_libdir)/mkl72

	cd ${D}/opt/intel/mkl72/doc/
	dodoc license.txt
	dohtml -r mklnotes.htm mkllic.htm doc/*
	rm -rf license.txt *.htm uninstall doc/

	# Prepare the environment
	dodir /etc/env.d
	echo "LDPATH=/usr/$(get_libdir)/mkl72" > ${D}/etc/env.d/35mkl
	echo "MKL_ROOT=/opt/intel/mkl72"      >> ${D}/etc/env.d/35mkl
}
-------------- next part --------------
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/dev-lang/ifc/ifc-7.0.064-r1.ebuild,v 1.5 2003/09/24 15:11:58 avenj Exp $

inherit rpm

S=${WORKDIR}
A="l_fc_p_7.1.008.tar"
DESCRIPTION="Intel Fortran Compiler - The Pentium optimized compiler for Linux"

SRC_URI1="ftp://download.intel.com/software/products/compilers/downloads/l_fc_p_7.1.008.tar"
SRC_URI2="http://www.intel.com/software/products/compilers/downloads/l_fc_p_7.1.008.tar"
SRC_URI="${SRC_URI1} ${SRC_URI2}"

HOMEPAGE="http://developer.intel.com/software/products/compilers/flin/"

# Effectively the same license as icc
LICENSE="icc-7.1"
SLOT="0"
KEYWORDS="-* x86"

DEPEND=">=virtual/linux-sources-2.4
	>=sys-libs/glibc-2.2.4"

RDEPEND=">=virtual/linux-sources-2.4
	>=sys-libs/glibc-2.2.4"

src_unpack() {
	unpack ${A}
	cd "${S}"
	# Keep disk space to a minimum
	rm -f intel-*.ia64.rpm

	for x in intel-*.i386.rpm
	do
		rpm_unpack $x
	done
}

src_compile() {

	# From UNTAG_CFG_FILES in 'install'
	SD=${S}/opt/intel # Build DESTINATION
	RD=/opt/intel # Real DESTINATION
	for FILE in $(find $SD/compiler70/ia??/bin/ -regex '.*[ei][cf]p?c$\|.*cfg$\|.*pcl$\|.*vars[^/]*.c?sh$' 2>/dev/null)
	do
		sed s@\<INSTALLDIR\>@$RD at g ${FILE} > ${FILE}.abs
		mv -f ${FILE}.abs ${FILE}
		chmod 755 ${FILE}
	done

	# From UNTAG_SUPPORT in 'install'
	eval `grep "^[ ]*COMBOPACKAGEID=" install`

	SUPPORTFILE=${SD}/compiler70/docs/fsupport
	sed s@\<INSTALLTIMECOMBOPACKAGEID\>@$COMBOPACKAGEID at g $SUPPORTFILE > $SUPPORTFILE.abs
	mv $SUPPORTFILE.abs $SUPPORTFILE
	chmod 644 $SUPPORTFILE

	SUPPORTFILE=${SD}/compiler70/docs/idbsupport
	sed s@\<INSTALLTIMECOMBOPACKAGEID\>@$COMBOPACKAGEID at g $SUPPORTFILE > $SUPPORTFILE.abs
	mv $SUPPORTFILE.abs $SUPPORTFILE
	chmod 644 $SUPPORTFILE

	# these should not be executable
	find "${SD}/compiler70/"{docs,man,training,ia32/include} -type f -exec chmod -x "{}" ";"
	find "${SD}/compiler70/ia32/lib" -name \*.a -exec chmod -x "{}" ";"
}

src_install () {
	dodoc flicense
	cp -a opt ${D}

	# ifc enviroment
	insinto /etc/env.d
	doins ${FILESDIR}/${PVR}/05icc-ifc
	# fix the issue with the primary ifc executable
	exeinto /opt/intel/compiler70/ia32/bin
	doexe ${FILESDIR}/${PVR}/ifc
}

pkg_postinst () {
	einfo
	einfo "http://www.intel.com/software/products/compilers/flin/noncom.htm"
	einfo "From the above url you can get a free, non-time limited, non-commercial"
	einfo "personal use license key that comes with no support. You will need to read"
	einfo "and agree to the license and then fill in your info to have one emailed to"
	einfo "you. Read the website for the details."
	einfo
	einfo "Documentation can be found in /opt/intel/compiler70/docs/"
	einfo
	einfo "You will need to place your license in /opt/intel/licenses/"
	einfo
		ewarn
		ewarn "Packages compiled with older versions of icc will need"
		ewarn "to be recompiled. Until you do that, old packages will"
		ewarn "work if you edit /etc/ld.so.conf and change 'compiler70'"
		ewarn "to 'compiler60' and run 'ldconfig.' Note that this edit"
		ewarn "won't persist and will require you to re-edit after each"
		ewarn "package you re-install."
	ewarn "Due to a bug in ifc 7.0, the primary executable (ifc) may not work."
	ewarn "Instead of invoking the compiler as ifc, use ifcbin."
}


More information about the Wien mailing list