Also update dependencies to build latest py-deeptools versions and
add a patch to run tests:
* Replace pypi URL with github URL to download tests
* Update dependency versions of py-pysam, py-matplotlib
* Add new py-deeptoolsintervals package as a dependency
* Add py-plotly and py-nose dependencies
* Patch setup.py to collect and run tests
- mkdirp now takes arguments to allow it to properly set permissions on created directories.
- Two arguments (group and mode) set permissions for the leaf directory.
- Intermediate directories can inherit permissions from either the topmost existing directory (the parent) or the leaf.
On machines where $TMP is owned by a gid with no name, this avoids the
following error when the default spack stage does not exist:
(spackbook):spack$ spack clean
==> Removing all temporary build stages
==> Error: 'getgrgid(): gid not found: 57095'
Spack needs to deal with gids directly unless users pass them in.
UnifyCR has been renamed to UnifyFS. Renaming the Spack package is
the last step in this process.
This renames the package and changes any UnifyCRs to UnifyFS within
the package.
Compiler caching was using the `id()` function to refer to configuration dictionary objects. If these objects are garbage-collected, this can produce incorrect results (false positive cache hits). This change replaces `id()` with an object that keeps a reference to the config dictionary so that it is not garbage-collected.
Fixes#11163
The goal of this work is to simplify stage directory structures by eliminating use of symbolic links. This means, among other things, that` $spack/var/spack/stage` will no longer be the core staging directory. Instead, the first accessible `config:build_stage` path will be used.
Spack will no longer automatically append `spack-stage` (or the like) to configured build stage directories so the onus of distinguishing the directory from other work -- so the other work is not automatically removed with a `spack clean` operation -- falls on the user.
* Overhaul PyTorch package
* Flake8
* Distributed requires MPI, NCCL not specified correctly
* Binary was being specified incorrectly
* Run tests at install time
* Disable GLOO in addition to GLOO_IBVERBS
* Add option to disable QTDesigner plugin for qwt
Qt designer shouldn't be necessary to build downstream GUI code.
Currently `qwt^qt~tools` fails to build:
(darwin clang@10.0.1)
```
compiling qwt_designer_plugin.cpp
compiling qwt_designer_plotdialog.cpp
moc qwt_designer_plugin.h
moc qwt_designer_plotdialog.h
rcc qwt_designer_plugin.qrc
qwt_designer_plugin.h:23: Error: Undefined interface
make[1]: *** [moc/moc_qwt_designer_plugin.cpp] Error 1
make[1]: *** Waiting for unfinished jobs....
qwt_designer_plugin.cpp:17:10: fatal error: 'QDesignerFormEditorInterface' file not found
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[1]: *** [obj/qwt_designer_plugin.o] Error 1
make: *** [sub-designer-make_default-ordered] Error 2
```
* Update VTK for newer VisIt and compiler versions
Several changes/enhancements to VTK package
---
Add version 8.1.0 (default version for VisIt 3.x)
---
Tweak VTK options for version 8 and VisIt:
- only add mpi4py version option when mpi4py is enabled
- Require object factory for downstream packages
- Remove OpenGL preference for VTK 8
---
Combine +python3 into +python
The spec for using python3 should just be `+python^python@3:`.
---
Remove unused VTK cmake argument on newer version
---
Patch for Python 3 fails on VTK 6.1 (needed for VisIt 2.x):
```
==> Patch /rnsdhpc/code/spack/var/spack/repos/builtin/packages/vtk/python3.7-const-char.patch failed.
==> Error: ProcessError: Command exited with status 1:
'/usr/bin/patch' '-s' '-p' '1' '-i' '/rnsdhpc/code/spack/var/spack/repos/builtin/packages/vtk/python3.7-const-char.patch' '-d' '.'
```
and as it happens, VisIt 2.13 is incompatible with Python 3 anyway.
---
Fix compiler error:
As spack's configuration warning says, double-quotes can cause trouble:
```
==> [2019-07-29-11:47:55.269653] Warning: Quotes in command arguments can confuse scripts like configure.
The following arguments may cause problems when executed:
-DVTK_REQUIRED_OBJCXX_FLAGS=""
Quotes aren't needed because spack doesn't use a shell.
Consider removing them
```
They were being added to the compile line, causing clang to think it was
asked to compile an empty file:
```
cd /private/var/folders/fy/x2xtwh1n7fn0_0q2kk29xkv9vvmbqb/T/s3j/spack-stage/spack-stage-3nk9bwe_/spack-build/Rendering/OpenGL && /rnsdhpc/code/spack/lib/spack/env/clang/clang++ -DVTK_IN_VTK -DvtkRenderingOpenGL_EXPORTS -F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks -DGLX_GLXEXT_LEGACY -O2 -g -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fPIC -fvisibility=hidden -fvisibility-inlines-hidden "" -o CMakeFiles/vtkRenderingOpenGL.dir/vtkCocoaGLView.mm.o -c /rnsdhpc/code/spack/var/spack/stage/vtk-6.1.0-b2mj276iz77fadisv2me365qe27t3gxt/spack-src/Rendering/OpenGL/vtkCocoaGLView.mm
clang: error: no input files
make[2]: *** [Rendering/OpenGL/CMakeFiles/vtkRenderingOpenGL.dir/vtkCocoaGLView.mm.o] Error 1
```
* Modernize/PEP-8 visit package statements
* Add new VisIt version and patches for building on Mac
- VisIt's cmake assumes a 'vtk(tiff|jpeg|png)' *library* target exported by
VTK, but VTK 8.1.x on my configuration seems to have these as header-only
targets with library dependencies.
- Explicitly add QT path to visit configure: Without this, somehow
`${VISIT_QT_DIR}` was being set to empty, so that the build failed with
`missing /bin/moc`.
- VisIt assumes that if it isn't being built statically, QWT has been built as
a mac Framework. QWT actually is built as a framework based on whether QT
itself is.
Error message:
```
-- Looking for QWT
CMake Error at CMake/SetUpThirdParty.cmake:131 (MESSAGE):
Include Directory for QWT (/rnsdhpc/code/spack/opt/spack/darwin-mojave-x86_64/clang-10.0.1-apple/qwt-6.1.3-bmfxirweplzhjoiil4rw632evkyteuwk/lib/qwt.framework/Versions/Current/Headers) does not exist.
Call Stack (most recent call first):
CMake/FindQwt.cmake:57 (SET_UP_THIRD_PARTY)
CMakeLists.txt:1251 (INCLUDE)
```
* ADIOS 2.4.0: Add new Deps
Version 2.4.0 of ADIOS2 added new dependencies that are not
yet listed as `depends_on` and/or disabled otherwise. Add them
now to avoid picking them up from system paths, e.g. `libpng`.
* ADIOS2: Variant Defaults Change
* Python: False by default
* ADIOS1: only used prior to 2.3.0
* UnifyCR: update dependencies and build options
This adds some specifics about dependencies and conflicts and adds
additional build options and variants. UnifyCR now also has limited
fortran support.
* Remove debug statements condition on Spack debug
Change debug print statements to now be turned on when the -g cflag
is found in the flags the user sets.