Re: [DynInst_API:] spack dyninst/package.py file changes?


Date: Sun, 04 Nov 2018 11:34:28 -0600
From: Jim Galarowicz <jeg@xxxxxxxxxxxxx>
Subject: Re: [DynInst_API:] spack dyninst/package.py file changes?

Hi Ben, Xiaozhu,

This website (https://github.com/01org/tbb/releases) claims that the 2018_U6 release is the latest.ÂÂ So, it seems like a logical step to add it to the tbb/package.py file.

The tbb version naming scheme seems difficult since there are 2019 versions already there.ÂÂ

Ben - maybe we also need to add the 10.0 release to this if:Â Â Â if spec.satisfies('@develop'):Â so that we won't have to change the package.py file again when 10.0 is released?ÂÂ

Maybe this would work:ÂÂÂ if spec.satisfies('@develop') or spec.satisfies('@10.0:'):

       if spec.satisfies('@develop'):
+Â Â Â Â Â Â Â Â args.append('-DTBB_INCLUDE_DIRS=%s' %
spec['tbb'].prefix.include)
+Â Â Â Â Â Â Â Â args.append('-DTBB_LIBRARIES=%s'Â Â% join_path(
+Â Â Â Â Â Â Â Â Â Â spec['tbb'].prefix.lib, "libtbb." + dso_suffix))

Let me know if you want to submit both the dyninst and tbb changes or if you want me to help.

Thanks,
Jim G


On 11/04/2018 11:19 AM, Benjamin Welton wrote:
It is not my TBB spack package. That is from spacks TBB package. It's not supported because no one added it to the spack recipe. We can submit a pull request to add that version to spack.

Ben

On Sun, Nov 4, 2018, 8:33 AM Xiaozhu Meng <xmeng@xxxxxxxxxxx> wrote:
Hi Ben,

Dyninst will automatically download the following version of TBB:

URL https://github.com/01org/tbb/archive/2018_U6.tar.gz
URL_MD5 9a0f78db4f72356068b00f29f54ee6bc

It looks like this version is not in your TBB version list. Is the above not supported by spack?

Thanks,

--Xiaozhu

On Sat, Nov 3, 2018 at 9:41 PM Benjamin Welton <welton@xxxxxxxxxxx> wrote:
Jim,

The only modification I would suggest is that we add a minimum version required to the TBB depends_on specification.Â

Xiaozhu, which of the following versions of TBB should we consider to be the minimum required for dyninst to build? We also have the option of requiring a specific version (and only that version) or no requirement (which is already what Jim's fix does)? If we don't know, I suggest we use whatever dyninst is building right now as the minimum in case there are bugs in older versions we are not aware of.Â

  version('2019', Â'2119f1db2f905dc5b423482d7689b7d6')
  version('2018.5', 'ff3ae09f8c23892fbc3008c39f78288f')
  version('2018.4', '5e2e6ba0e25624a94331c945856551c2')
  version('2018.3', 'cd2e136598ffa5c136f077ee85a35b4c')
  version('2018.2', '0b8dfe30917a54e40828eeb0ed7562ae')
  version('2018.1', 'b2f2fa09adf44a22f4024049907f774b')
  version('2018', Â'7fb30d5ea2545f26ce02757d9ab05e6c')
  version('2017.8', '7240f57f1aeea0e266a5e17ae68fdc16')
  version('2017.7', '364f2a4b80e978f38a69cbf7c466b898')
  version('2017.6', 'ec21254af4fc2a29574c272f501a3138')
  version('2017.5', '85b41c64102c052e24d8a39f6193e599')
  version('2017.4', '71526b2fef098515e212302d1455de7d')
  version('2017.3', 'd7622eeaafeff8d271c7aa684bd82ddb')
  version('2017.2', '9605cbea96998a10a186fc72c35cbd76')
  version('2017.1', '6c0fe8aa7bc911a85e8e522e620511b3')
  version('2017', Â'9e7f9ea684ecf84ac74dcd3c6012cfa6')
  version('4.4.6', '20e15206f70c2651bfc964e451a443a0')
  version('4.4.5', '531a67cd98f9b4ec8ece95c5f8193a83')
  version('4.4.4', '61531b2e8684e06a621dcdca1a7a420e')
  version('4.4.3', '8e3e39e1fdfb3f7c3a5ac8ec1afe186e')
  version('4.4.2', 'e92b110e8eb238741b00e3789b39969e')
  version('4.4.1', 'a02c9958f02c1b5f3626874219979ae8')
  version('4.4',  '1d512085221996eae6cec04e1a4cd3dd')

Ben

On Sat, Nov 3, 2018 at 5:21 PM Jim Galarowicz <jeg@xxxxxxxxxxxxx> wrote:
Hi all,

Because dyninst has a new TBB dependency mods to the spack
dyninst/package.py file are necessary.

I was able to build dyninst master (dyninst@develop spack version) with
spack using these mods to the dyninst/package.py file.

Do these fit with what the dyninst team has in mind?
We need this as we have dependencies on the latest dyninst version for
OpenSpeedShop.
Let me know, I can submit these to spack or if someone has something
better please submit it.

Thanks,
Jim G


diff --git a/var/spack/repos/builtin/packages/dyninst/package.py
b/var/spack/repos/builtin/packages/dyninst/package.py
index 5b0aea4..5fc843d 100644
--- a/var/spack/repos/builtin/packages/dyninst/package.py
+++ b/var/spack/repos/builtin/packages/dyninst/package.py
@@ -40,6 +40,7 @@ class Dyninst(Package):
   depends_on("libdwarf", when='@:9')
   depends_on("boost@xxxx:")
   depends_on('libiberty+pic')
+Â Â depends_on('tbb')
   depends_on('cmake', type='build')

   patch('stat_dysect.patch', when='+stat_dysect')
@@ -73,6 +74,9 @@ class Dyninst(Package):
       # For @develop + use elfutils libdw, libelf is an abstraction
       # we are really using elfutils here
       if spec.satisfies('@develop'):
+Â Â Â Â Â Â Â Â args.append('-DTBB_INCLUDE_DIRS=%s' %
spec['tbb'].prefix.include)
+Â Â Â Â Â Â Â Â args.append('-DTBB_LIBRARIES=%s'Â Â% join_path(
+Â Â Â Â Â Â Â Â Â Â spec['tbb'].prefix.lib, "libtbb." + dso_suffix))
         args.append('-DLIBDWARF_INCLUDE_DIR=%s' % libelf.include)
         args.append('-DLIBDWARF_LIBRARIES=%s' Â% join_path(
           libelf.lib, "libdw." + dso_suffix))

_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

[← Prev in Thread] Current Thread [Next in Thread→]