Skip to content

refactor path logic#4

Merged
frankwillmore merged 1 commit intofrankwillmore:libimffrom
rscohn2:libimf
Jan 8, 2021
Merged

refactor path logic#4
frankwillmore merged 1 commit intofrankwillmore:libimffrom
rscohn2:libimf

Conversation

@rscohn2
Copy link
Copy Markdown

@rscohn2 rscohn2 commented Jan 8, 2021

Frank, This will include all of the recommended LD_LIBRARY_PATH when setting up the run environment. I also refactored the path logic to avoid duplication.

I suggest you merge this into your branch for contribution upstream. If you prefer, I can submit this upstream directly as it incorporates your changes.

@frankwillmore
Copy link
Copy Markdown
Owner

This looks fine and I'll merge, but first I'm trying to sort out an issue with libimf.so not being picked up at configuration time, specifically when trying to build python, but I've seen it other places as well. From config.log:

123 configure:4059: ./conftest
124 ./conftest: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory

I thought that specifying as we did in setup_run_environment() should handle this, but apparently it isn't.

@frankwillmore
Copy link
Copy Markdown
Owner

OK, looking further I see that LD_LIBRARY_PATH is unset when spack creates it's build environment. If I manually add a module requirement to the compiler stanza, it loads the module and gets the needed values into LD_LIBRARY_PATH, and the build will complete:

熊俊傑@yarrow03:~/scopes/opensuse$ spack compiler info [email protected] 
[email protected]:
        paths:
                cc = /soft/spack/opt/spack/linux-opensuse_leap15-cascadelake/gcc-10.1.0/intel-oneapi-compilers-2021.1.0-wgzjfktx5hsx75gghtd6k2qxad5vnot2/compiler/latest/linux/bin/icx
                cxx = /soft/spack/opt/spack/linux-opensuse_leap15-cascadelake/gcc-10.1.0/intel-oneapi-compilers-2021.1.0-wgzjfktx5hsx75gghtd6k2qxad5vnot2/compiler/latest/linux/bin/icpx
                f77 = /soft/spack/opt/spack/linux-opensuse_leap15-cascadelake/gcc-10.1.0/intel-oneapi-compilers-2021.1.0-wgzjfktx5hsx75gghtd6k2qxad5vnot2/compiler/latest/linux/bin/ifx
                fc = /soft/spack/opt/spack/linux-opensuse_leap15-cascadelake/gcc-10.1.0/intel-oneapi-compilers-2021.1.0-wgzjfktx5hsx75gghtd6k2qxad5vnot2/compiler/latest/linux/bin/ifx
        modules  = ['/soft/spack/share/spack/modules/linux-opensuse_leap15-cascadelake/intel-oneapi-compilers-2021.1.0-gcc-10.1.0-wgzjfkt']
        operating system  = opensuse_leap15

adding @scheibelp to see if he may have an insight on how best to handle this needed path.

@frankwillmore frankwillmore merged commit a1e74a2 into frankwillmore:libimf Jan 8, 2021
frankwillmore pushed a commit that referenced this pull request May 12, 2023
1. support version 3.1.3, which now depends on sundials@6

2. support version 3.1.2:, which broke the two patch files and
   therefore the two patch files have been replaced by more flexible
   filter_file() commands inside a patch() function.

3. rename the variant for python extension from using the package name
   "+pyuqtk" to the more standard "+python"

4. add maintainers @omsai and the upstream developer @bjdebus who
   offered to help with the spack packaging.

5. swig should only be a build-time dependency.  swig is only
   necessary until @:3.1.0

6. confirmed python dependencies are correct by inspecting imports,
   subset python dependencies type to build, run, and confirmed all
   31 build-time tests pass including the 9 python tests:

```console
$ spack env create uqtk-dev
$ spack add [email protected]
$ spack install --test root && cat $(spack location -i uqtk)/.spack/install-time-test-log.txt
==> Testing package uqtk-3.1.3-nok6fut
==> [2023-04-19-14:56:25.005361] Running build-time tests
==> [2023-04-19-14:56:25.005536] RUN-TESTS: build-time tests [check]
==> [2023-04-19-14:56:25.009543] '/home/omsai/src/spack/opt/spack/linux-pureos10-skylake/gcc-10.2.1/gmake-4.4.1-b6g4apmfvxz3bn4eabh37dehcrg65fj7/bin/make' '-j4' '-n' 'test'
==> [2023-04-19-14:56:25.014903] '/home/omsai/src/spack/opt/spack/linux-pureos10-skylake/gcc-10.2.1/gmake-4.4.1-b6g4apmfvxz3bn4eabh37dehcrg65fj7/bin/make' '-j4' 'test'
Running tests...
/home/omsai/src/spack/opt/spack/linux-pureos10-skylake/gcc-10.2.1/cmake-3.26.3-zjmsfz23j5l4ytniz26uzvxonlu5qebr/bin/ctest --force-new-ctest-process
Test project /tmp/omsai/spack-stage/spack-stage-uqtk-3.1.3-nok6fut47h42cnaau7wkoohgqy5f2qqa/spack-build-nok6fut
      Start  1: ArrayReadAndWrite
      Start  2: ArrayDelColumn
      Start  3: Array1DMiscTest
      Start  4: Array2DMiscTest
 1/31 Test  #1: ArrayReadAndWrite ................   Passed    0.01 sec
      Start  5: ArraySortTest
 2/31 Test  #2: ArrayDelColumn ...................   Passed    0.01 sec
      Start  6: MultiIndexTest
 3/31 Test  #3: Array1DMiscTest ..................   Passed    0.01 sec
      Start  7: CorrTest
 4/31 Test  #4: Array2DMiscTest ..................   Passed    0.01 sec
      Start  8: QuadLUTest
 5/31 Test  #5: ArraySortTest ....................   Passed    0.02 sec
      Start  9: MCMC2dTest
 6/31 Test  #6: MultiIndexTest ...................   Passed    0.01 sec
      Start 10: MCMCRandomTest
 7/31 Test  #8: QuadLUTest .......................   Passed    0.02 sec
      Start 11: MCMCNestedTest
 8/31 Test #10: MCMCRandomTest ...................   Passed    0.02 sec
      Start 12: Deriv1dTest
 9/31 Test #12: Deriv1dTest ......................   Passed    0.01 sec
      Start 13: SecondDeriv1dTest
10/31 Test #13: SecondDeriv1dTest ................   Passed    0.01 sec
      Start 14: GradHessianTest
11/31 Test #11: MCMCNestedTest ...................   Passed    0.03 sec
      Start 15: GradientPCETest
12/31 Test #14: GradHessianTest ..................   Passed    0.01 sec
      Start 16: PCE1dTest
13/31 Test #15: GradientPCETest ..................   Passed    0.01 sec
      Start 17: PCEImplTest
14/31 Test #16: PCE1dTest ........................   Passed    0.01 sec
      Start 18: PCELogTest
15/31 Test #18: PCELogTest .......................   Passed    0.01 sec
      Start 19: Hessian2dTest
16/31 Test #19: Hessian2dTest ....................   Passed    0.01 sec
      Start 20: BCS1dTest
17/31 Test #20: BCS1dTest ........................   Passed    0.01 sec
      Start 21: BCS2dTest
18/31 Test #21: BCS2dTest ........................   Passed    0.01 sec
      Start 22: LowRankRegrTest
19/31 Test #22: LowRankRegrTest ..................   Passed    0.01 sec
      Start 23: PyModTest
20/31 Test #17: PCEImplTest ......................   Passed    0.07 sec
      Start 24: PyArrayTest
21/31 Test #23: PyModTest ........................   Passed    0.08 sec
      Start 25: PyArrayTest2
22/31 Test #25: PyArrayTest2 .....................   Passed    0.30 sec
      Start 26: PyQuadTest
23/31 Test #24: PyArrayTest ......................   Passed    1.44 sec
      Start 27: PyBCSTest1D
24/31 Test #26: PyQuadTest .......................   Passed    1.68 sec
      Start 28: PyBCSTest2D
25/31 Test #27: PyBCSTest1D ......................   Passed    1.66 sec
      Start 29: PyBADPTest
26/31 Test  #7: CorrTest .........................   Passed    3.43 sec
      Start 30: PyRegressionTest
27/31 Test #28: PyBCSTest2D ......................   Passed    1.50 sec
      Start 31: PyGalerkinTest
28/31 Test  #9: MCMC2dTest .......................   Passed    3.90 sec
29/31 Test #29: PyBADPTest .......................   Passed    1.66 sec
30/31 Test #30: PyRegressionTest .................   Passed    1.72 sec
31/31 Test #31: PyGalerkinTest ...................   Passed    1.63 sec

100% tests passed, 0 tests failed out of 31

Total Test time (real) =   5.35 sec
==> [2023-04-19-14:56:30.382797] '/home/omsai/src/spack/opt/spack/linux-pureos10-skylake/gcc-10.2.1/gmake-4.4.1-b6g4apmfvxz3bn4eabh37dehcrg65fj7/bin/make' '-j4' '-n' 'check'
==> [2023-04-19-14:56:30.385983] Target 'check' not found in Makefile
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants