# Meas\_base install (test) failure

**URL:** <https://www.rubin.community/t/meas-base-install-test-failure/1845>\
**Category:** Support\
**Tags:** stack-install\
**Created:** [May 5, 2017, 3:48pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845 "2017-05-05T15:48:18Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![defjaf](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/defjaf/32/471_2.png) [@defjaf](https://www.rubin.community/u/defjaf)\
**Post date:** [May 5, 2017, 3:48pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/1 "2017-05-05T15:48:18Z")

</div>

I was trying to install the LSST stack via EUPS on macOS 10.12 (Sierra); however, I am trying to do it against a [python.org](http://python.org) framework build rather than \*conda. (So I will accept that an appropriate response may be “don’t do that”.)

During the install, meas\_base-13.0 fails during the tests, which is due to the following code in [testVariance.py](http://testVariance.py):

```
        bad = size//2 + i*width
        var.getArray()[bad, :] = float("nan")

```

Here, `width=2.0` – a float, not an integer, and hence `bad` is a float, which means that we are trying to index a numpy array with a float – this used to be OK, but in recent versions is a bug.

The patch is simple: `bad = int(size//2 + i*width)`.

---

<div class="post-metadata">

**Author:** ![timj](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/timj/32/10_2.png) [@timj](https://www.rubin.community/u/timj)\
**Post date:** [May 5, 2017, 3:49pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/2 "2017-05-05T15:49:00Z")

</div>

What version of python and what version of numpy are you using?

---

<div class="post-metadata">

**Author:** ![defjaf](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/defjaf/32/471_2.png) [@defjaf](https://www.rubin.community/u/defjaf)\
**Post date:** [May 5, 2017, 3:51pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/3 "2017-05-05T15:51:13Z")

</div>

Sorry, should have included that in the original query: python 2.7.13, numpy 1.12.1.

The original code gives the error “IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices”.

And my proposed patch does work; I’ve tested it but I don’t know enough about eups etc to actually get it to install correctly so `eups distrib install -t v13_0 lsst_distrib` succeeds.

---

<div class="post-metadata">

**Author:** ![timj](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/timj/32/10_2.png) [@timj](https://www.rubin.community/u/timj)\
**Post date:** [May 5, 2017, 3:56pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/4 "2017-05-05T15:56:20Z")

</div>

This is strange, because `size`, `i` and `width` are all integers:

```auto
Python 3.6.0 (default, Mar 14 2017, 15:06:43) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> size = 128
>>> width =2
>>> i = -5
>>> type(size//2 + i*width)
<class 'int’>

```

---

<div class="post-metadata">

**Author:** ![swinbank](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/swinbank/32/24_2.png) [@swinbank](https://www.rubin.community/u/swinbank)\
**Post date:** [May 5, 2017, 3:56pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/5 "2017-05-05T15:56:40Z")

</div>

Thanks for the report!

In fact, I believe this is already fixed in the current development version, but that hasn’t made it as far as a full release. Relevant ticket was [DM-9316](https://jira.lsstcorp.org/browse/DM-9316); patch is [here](https://github.com/lsst/meas_base/commit/470b4530bcb59c75e9530ea4c8de98096c08541e). It should be in our next release.

---

<div class="post-metadata">

**Author:** ![swinbank](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/swinbank/32/24_2.png) [@swinbank](https://www.rubin.community/u/swinbank)\
**Post date:** [May 5, 2017, 4:01pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/6 "2017-05-05T16:01:27Z")

</div>

> [@defjaf](#):
>
> So I will accept that an appropriate response may be “don’t do that”

Also, I will be very, very sad the day “thou shalt use Conda” becomes a requirement.

---

<div class="post-metadata">

**Author:** ![defjaf](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/defjaf/32/471_2.png) [@defjaf](https://www.rubin.community/u/defjaf)\
**Post date:** [May 5, 2017, 4:15pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/7 "2017-05-05T16:15:57Z")

</div>

Actually, the source has `width=2.0`, which is a float (which happens to have an integral value), not an integer.

---

<div class="post-metadata">

**Author:** ![timj](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/timj/32/10_2.png) [@timj](https://www.rubin.community/u/timj)\
**Post date:** [May 5, 2017, 4:18pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/8 "2017-05-05T16:18:23Z")

</div>

Yes, as @swinbank points out above, that was fixed recently and I was looking at the current code and not the v13.0 code.

---

<div class="post-metadata">

**Author:** ![ljones](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/ljones/32/1804_2.png) [@ljones](https://www.rubin.community/u/ljones)\
**Post date:** [May 5, 2017, 4:34pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/9 "2017-05-05T16:34:54Z")

</div>

Does this solve your problem now though - for getting the stack installed?  
We can probably do an eups tag for w.2017.18 so you could do an eups distrib install of that.  
What was your install command, btw?  
`eups distrib install -t v13_0 lsst_distrib` ?

---

<div class="post-metadata">

**Author:** ![timj](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/timj/32/10_2.png) [@timj](https://www.rubin.community/u/timj)\
**Post date:** [May 5, 2017, 4:40pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/10 "2017-05-05T16:40:10Z")

</div>

A more recent weekly should indeed be available.

---

<div class="post-metadata">

**Author:** ![defjaf](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/defjaf/32/471_2.png) [@defjaf](https://www.rubin.community/u/defjaf)\
**Post date:** [May 5, 2017, 5:20pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/11 "2017-05-05T17:20:12Z")

</div>

FYep, I was doing `eups distrib install -t v13_0 lsst_distrib`. I don’t know much about eups/lsst versioning but I assume it’s not hard to figure out the right way to get the revised version of `meas_base`…

---

<div class="post-metadata">

**Author:** ![timj](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/timj/32/10_2.png) [@timj](https://www.rubin.community/u/timj)\
**Post date:** [May 5, 2017, 6:21pm UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/12 "2017-05-05T18:21:37Z")

</div>

> [@defjaf](#):
>
> I assume it’s not hard to figure out the right wa

Use tag `w_2017_18` instead of `v13_0`.

---

<div class="post-metadata">

**Author:** ![defjaf](https://sea2.discourse-cdn.com/flex002/user_avatar/www.rubin.community/defjaf/32/471_2.png) [@defjaf](https://www.rubin.community/u/defjaf)\
**Post date:** [May 6, 2017, 8:51am UTC](https://www.rubin.community/t/meas-base-install-test-failure/1845/13 "2017-05-06T08:51:13Z")

</div>

And, indeed, for future reference, you need the `master` version of `lsst_dm_stack_demo` to work with this. Otherwise you get the following…

> For what it’s worth, it installs fine but the SDSS demo gives an error (but I suppose the v13.0 demo isn’t in sync with the weekly build, so perhaps not too surprising):

```
...
processCcd.calibrate.photoCal INFO: Not applying color terms because config.applyColorTerms is None and data is not available and photoRefCat is None
processCcd.calibrate.photoCal INFO: Magnitude zero point: 28.010880 +/- 0.000643 from 35 stars
processCcd.calibrate INFO: Photometric zero-point: 28.010880
Unable to locate registry registry in root: registry.sqlite3
Unable to locate registry registry in current dir: ./registry.sqlite3
Traceback (most recent call last):
  File "./bin/export-results", line 78, in <module>
    v = srcs.get(col)
  File "/Users/jaffe/Desktop/Projects/LSST/lsst_stack/DarwinX86/afw/13.0-39-g3deb52d/python/lsst/afw/table/baseColumnView/baseColumnViewContinued.py", line 62, in __getitem__
    keyobj = self.schema.find(key).key
KeyError: "Field with name 'flags_negative' not found"

```
