Skip to content
/ spack Public
forked from spack/spack
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gartung buildcache reconstruct rpaths #2

Closed
wants to merge 13 commits into from

Conversation

gartung
Copy link
Owner

@gartung gartung commented Nov 15, 2019

For visiualizing.

This is done by loaded the stored spec with the current configuration to get rpaths from environment and compiler library paths contructed from current compiler path.
Cleaned up the use of allow_root.
Made new path longer than old path a fatal exception because binary text replacement is needed for some packages which compile in paths.
….repo.get(spec) to catch Error that package namespace undefined.
@gartung gartung force-pushed the gartung-buildcache-reconstruct-rpaths branch from aa77c94 to 8cbdcfd Compare November 19, 2019 03:58
@gartung gartung changed the base branch from develop to gartung-buildcache-reconstruct-rpaths-old November 19, 2019 04:19
@gartung gartung changed the base branch from gartung-buildcache-reconstruct-rpaths-old to develop November 19, 2019 04:19
@gartung gartung closed this Nov 20, 2019
gartung pushed a commit that referenced this pull request Jun 4, 2020
* Add OpenMP variant to Umpire

* Initial implementation of Axom package

* Add Axom spack package and fix required dependencies

* Fix overzealous tag replacement

* Attempt to fix version error

* Fix python version attempt #2

* Update raja and umpire

* remove sys_type check

* Address comments in axom package

* Address Greg's comments

* Fix flake8

* more flake8

* Simplify MPIEXEC and MPIEXEC_NUMPROC_FLAG

* Fix typo

* Revert back to slurm check, fix cuda_arch checks

* Fix cuda_arch variant forwarding

* Add cub variant

* Add py-shroud

* Address comments

* Fix shroud path in axom

* Fix merge conflict

* Fix backwards if

* Fix flake8 and add copyright

* format for consistency
gartung pushed a commit that referenced this pull request Aug 1, 2020
Whenever attempting to use any ncurses functionality within cscope, a
page fault would result within the ncurses library.

    Program received signal SIGSEGV, Segmentation fault.
    0x00007ffff7fad3cf in termattrs_sp () from .../lib/libncursesw.so.6
    (gdb) bt
    #0  0x00007ffff7fad3cf in termattrs_sp () from .../lib/libncursesw.so.6
    #1  0x00007ffff7faa794 in _nc_setupscreen_sp () from .../lib/libncursesw.so.6
    #2  0x00007ffff7fa614c in newterm_sp () from .../lib/libncursesw.so.6
    #3  0x00007ffff7fa65b9 in newterm () from .../lib/libncursesw.so.6
    #4  0x00007ffff7fa2970 in initscr () from .../lib/libncursesw.so.6
    #5  0x0000000000403dc2 in main (argc=<optimized out>, argv=0x7fffffffcea8) at main.c:574

This is due to a conflict between libtinfo.so and libtinfow.so. Both are
linked into cscope:

    $ ldd $(which cscope)
    /bin/bash: .../lib/libtinfo.so.6: no version information available (required by /bin/bash)
        linux-vdso.so.1 (0x00007fff5dbcb000)
        libncursesw.so.6 => .../lib/libncursesw.so.6 (0x00007f435cc69000)
        libtinfo.so.6 => .../lib/libtinfo.so.6 (0x00007f435cc2c000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f435ca29000)
        libtinfow.so.6 => .../lib/libtinfow.so.6 (0x00007f435c9e8000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f435cca7000)

Specifically linking libtinfow.so instead of libtinfo.so resolves the
issue.

All instances of '...' above represent the path to the installed ncurses
for Spack.
gartung pushed a commit that referenced this pull request Sep 23, 2021
Git 2.24 introduced a feature flag for repositories with many files, see:
https://github.blog/2019-11-03-highlights-from-git-2-24/#feature-macros

Since Spack's Git repository contains roughly 8,500 files, it can be
worthwhile to enable this, especially on slow file systems such as NFS:
```
$ hyperfine --warmup 3 'cd spack-default; git status' 'cd spack-manyfiles; git status'
Benchmark #1: cd spack-default; git status
  Time (mean ± σ):      3.388 s ±  0.095 s    [User: 256.2 ms, System: 625.8 ms]
  Range (min … max):    3.168 s …  3.535 s    10 runs

Benchmark #2: cd spack-manyfiles; git status
  Time (mean ± σ):     168.7 ms ±  10.9 ms    [User: 98.6 ms, System: 126.1 ms]
  Range (min … max):   144.8 ms … 188.0 ms    19 runs

Summary
  'cd spack-manyfiles; git status' ran
   20.09 ± 1.42 times faster than 'cd spack-default; git status'
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant