I’m trying to update lsst_distrib and obs_subaru to the latest weekly tag, w_2018_09, and am running into a problem with astshim seeming failing one of the tests.
What I’m running is this:
eups distrib install astshim -t w_2018_09 -v -v -v
After it’s been running for a while, it finally aborts with this error:
Writing log to: /opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6/EupsBuildDir/Linux64/astshim-14.0-15-g77b58a8+1/build.log [build] ***** error: from /opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6/EupsBuildDir/Linux64/astshim-14.0-15-g77b58a8+1/build.log: E E (mismatch 33.33333333333333%) E x: array([[ -1.110223e-15, -1.110223e-15], E [ 1.300000e+00, 0.000000e+00], E [ 0.000000e+00, 1.300000e+00]]) E y: array([[ 0. , 0. ], E [ 1.3, 0. ], E [ 0. , 1.3]]) tests/test_mapping.py:94: AssertionError ==================== 1 failed, 164 passed in 73.07 seconds ===================== Global pytest run: failed Failed test output: Global pytest output is in /opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6/EupsBuildDir/Linux64/astshim-14.0-15-g77b58a8+1/astshim-14.0-15-g77b58a8+1/tests/.tests/pytest-astshim.xml.failed The following tests failed: /opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6/EupsBuildDir/Linux64/astshim-14.0-15-g77b58a8+1/astshim-14.0-15-g77b58a8+1/tests/.tests/pytest-astshim.xml.failed 1 tests failed scons: *** [checkTestStatus] Error 1 scons: building terminated because of errors. + exit -4 eups distrib: Failed to build astshim-14.0-15-g77b58a8+1.eupspkg: Command: source "/opt/lsst/lsst_stack/eups/2.1.4/bin/setups.sh"; export EUPS_PATH="/opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6"; (/opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6/EupsBuildDir/Linux64/astshim-14.0-15-g77b58a8+1/build.sh) >> /opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6/EupsBuildDir/Linux64/astshim-14.0-15-g77b58a8+1/build.log 2>&1 4>/opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6/EupsBuildDir/Linux64/astshim-14.0-15-g77b58a8+1/build.msg exited with code 252 Using Distrib type: eupspkg Removing lockfile /opt/lsst/lsst_stack/stack/miniconda3-4.3.21-10a4fa6/.lockDir/exclusive-rkotulla.228554
Looking at the assert statement, it seems to get the right answer to within some numeric noise, but still fails the assert_allclose statement, likely because atol (the absolute tolerance) is set to 0, while the error is -1e-15. Is there a way to just skip the tests and declare the package to be installed correctly? I’ve tried the --nobuild option, but that didn’t seem to do anything. In most other cases I could just comment something out or modify the code to make it work, but the whole integrated eups package doesn’t allow for any of that.
I’ve tried running earlier weekly tags as well but run into the same (w_2018_08) or similar (w_2018_05 - there it’s a different test that fails:
E RuntimeError: AST: Error at line 59 in file src/Channel.cc.Invalid Object pointer given (value is 389514).This pointer is currently owned by another thread (possible programming error).
As a side-question, what is the best way to pass additional compiler flags through the whole chain of nested install/compile tools? For me astshim also failed to link due to a missing link statement to include the standard package, which can be fixed by adding -lstdc++ to the link command. I’ve tried adding it to LDFLAGS, CFLAGS, CXXFLAGS, both using explicit export and when running eups (i.e. LDFLAGS=’-lstdc++’ eups distrib …), but none made it through to actually being used when it came down to running c++. In the end I hacked the sconsUtils/state.py file to add this flag and get it to compile, but I doubt that’s the officially endorsed way.
I’ve attached the full build-log just in case that might be helpful: build.log (1.4 MB)