diff options
author | Joan Bruguera | 2019-02-28 23:36:37 +0100 |
---|---|---|
committer | Joan Bruguera | 2019-02-28 23:36:37 +0100 |
commit | 783c06a2f161c7305074ef295c9e196c5a782fee (patch) | |
tree | a55bf08fecd19485dacddec882a3f4aa5e616051 | |
download | aur-783c06a2f161c7305074ef295c9e196c5a782fee.tar.gz |
Initial version.
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | PKGBUILD | 51 | ||||
-rw-r--r-- | build-fix-dyninst-api.patch | 15 |
3 files changed, 87 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..b0108e717024 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = extrae + pkgdesc = Instrumentation framework to generate execution traces of the most used parallel runtimes (from BSC). + pkgver = 3.6.1 + pkgrel = 1 + url = https://www.bsc.es/discover-bsc/organisation/scientific-structure/performance-tools + arch = i686 + arch = x86_64 + license = LGPLv2.1 + depends = openmpi + depends = libunwind + depends = papi + depends = dyninst + depends = libelf + depends = libdwarf + source = https://ftp.tools.bsc.es/extrae/extrae-3.6.1-src.tar.bz2 + source = build-fix-dyninst-api.patch + sha512sums = e88435364c31e6de051965a2f23c49be8fdb2afe7542a962c23a35ced3520cfdec308823c4a28f8276ee30eab34708d7e4e7ee8f412740a37e1252d85ea8b356 + sha512sums = 3b4ec3fc71fabb6d1f57a0ccb30cb4ccfa89ec26c062204fbd77fdd0c0f526893938ec37d6e8e6fe86892c2e05dd259f0fb84d45663475fb60084a8237e1b53d + +pkgname = extrae + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..5cd2aac31ad6 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Joan Bruguera Micó <joanbrugueram@gmail.com> +pkgname='extrae' +pkgdesc='Instrumentation framework to generate execution traces of the most used parallel runtimes (from BSC).' +pkgver='3.6.1' +pkgrel='1' +arch=('i686' 'x86_64') +url='https://www.bsc.es/discover-bsc/organisation/scientific-structure/performance-tools' +license=('LGPLv2.1') +depends=(openmpi libunwind papi dyninst libelf libdwarf) +source=("https://ftp.tools.bsc.es/$pkgname/$pkgname-$pkgver-src.tar.bz2" + build-fix-dyninst-api.patch) +sha512sums=(e88435364c31e6de051965a2f23c49be8fdb2afe7542a962c23a35ced3520cfdec308823c4a28f8276ee30eab34708d7e4e7ee8f412740a37e1252d85ea8b356 + 3b4ec3fc71fabb6d1f57a0ccb30cb4ccfa89ec26c062204fbd77fdd0c0f526893938ec37d6e8e6fe86892c2e05dd259f0fb84d45663475fb60084a8237e1b53d) + +prepare() { + cd "$srcdir/$pkgname-$pkgver" + patch -p1 < "$srcdir/build-fix-dyninst-api.patch" +} + +build() { + cd "$srcdir/$pkgname-$pkgver" + + ./configure \ + --prefix=/usr \ + --with-mpi=/usr \ + --with-mpi-libs=/usr/lib/openmpi \ + --with-mpi-headers=/usr/include/openmpi \ + --with-unwind=/usr \ + --with-unwind-headers=/usr/include \ + --with-unwind-libs=/usr/lib \ + --with-dyninst=/usr \ + --with-dyninst-headers=/usr/include \ + --with-dyninst-libs=/usr/lib \ + --with-papi=/usr \ + --with-papi-headers=/usr/include \ + --with-papi-libs=/usr/lib \ + --with-dwarf=/usr \ + --with-dwarf-headers=/usr/include \ + --with-dwarf-libs=/usr/lib \ + --with-elf=/usr \ + --with-elf-headers=/usr/include \ + --with-elf-libs=/usr/lib + + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR="$pkgdir/" install +}
\ No newline at end of file diff --git a/build-fix-dyninst-api.patch b/build-fix-dyninst-api.patch new file mode 100644 index 000000000000..83128557a290 --- /dev/null +++ b/build-fix-dyninst-api.patch @@ -0,0 +1,15 @@ +--- a/src/launcher/dyninst/commonSnippets.C 2019-02-28 23:01:35.667997539 +0100 ++++ b/src/launcher/dyninst/commonSnippets.C 2019-02-28 23:00:25.653420000 +0100 +@@ -482,9 +482,9 @@ + ParseAPI::Block* b = ParseAPI::convert(block); + void * buf = b->region()->getPtrToInstruction(b->start()); + InstructionAPI::InstructionDecoder dec((unsigned char*)buf,b->size(),b->region()->getArch()); +- InstructionAPI::Instruction::Ptr insn; +- while((insn = dec.decode())) { +- res <<loop_name<<"# "<<line++<<": "<< insn->format() << endl; ++ InstructionAPI::Instruction insn; ++ while((insn = dec.decode()).isValid()) { ++ res <<loop_name<<"# "<<line++<<": "<< insn.format() << endl; + } + } + return res.str(); |