# Force libncursesw Use While Compiling

**URL:** <https://discourse.cataclysmdda.org/t/force-libncursesw-use-while-compiling/18997>\
**Category:** The Garage\
**Created:** [February 27, 2019, 8:04pm UTC](https://discourse.cataclysmdda.org/t/force-libncursesw-use-while-compiling/18997 "2019-02-27T20:04:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![CaptManiac](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/captmaniac/32/1293_2.png) [@CaptManiac](https://discourse.cataclysmdda.org/u/CaptManiac)\
**Post date:** [February 27, 2019, 8:04pm UTC](https://discourse.cataclysmdda.org/t/force-libncursesw-use-while-compiling/18997/1 "2019-02-27T20:04:00Z")

</div>

I see that the pre-compiled executables from jenkins-latest use libncursesw.so.5. When I have both `libncurses5-dev` and `libncursesw5-dev` installed, the compilation fully finishes with a compiled executable, but ldd shows it using libncurses.so.6. If I uninstall libncurses5-dev to try to get the libncursesw version, the compiler crashes saying ncurses.h not found. So, how do I force the compiler to use libncursesw?

The reason I ask is I noticed that my compiled versions of the ASCII Cataclysm do not display the upside down question mark, ¿, correctly, instead displaying ‘M-BM-(’, which, of course, messes up the screen. I believe this could be due to the above, as when I swap in the jenkins pre-compiled version the glitch goes away. I see this when I butcher cockroaches as well as other times.

---

<div class="post-metadata">

**Author:** ![AssumeCroons](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/assumecroons/32/8570_2.png) [@AssumeCroons](https://discourse.cataclysmdda.org/u/AssumeCroons)\
**Post date:** [September 18, 2020, 11:13pm UTC](https://discourse.cataclysmdda.org/t/force-libncursesw-use-while-compiling/18997/2 "2020-09-18T23:13:02Z")

</div>

Did you find a solution? I’m having the same problem, building from github with gcc or clang.

---

<div class="post-metadata">

**Author:** ![anothersimulacrum](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/anothersimulacrum/32/10770_2.png) [@anothersimulacrum](https://discourse.cataclysmdda.org/u/anothersimulacrum)\
**Post date:** [September 18, 2020, 11:15pm UTC](https://discourse.cataclysmdda.org/t/force-libncursesw-use-while-compiling/18997/3 "2020-09-18T23:15:47Z")

</div>

Are you using make or cmake?

---

<div class="post-metadata">

**Author:** ![AssumeCroons](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/assumecroons/32/8570_2.png) [@AssumeCroons](https://discourse.cataclysmdda.org/u/AssumeCroons)\
**Post date:** [September 18, 2020, 11:17pm UTC](https://discourse.cataclysmdda.org/t/force-libncursesw-use-while-compiling/18997/4 "2020-09-18T23:17:27Z")

</div>

I’m using make, with either:

```auto
make -j16 NATIVE=linux64 CLANG=1 TILES=0 LOCALIZE=0
```

```auto
make -j16 NATIVE=linux64 TILES=0 LOCALIZE=0
```

---

<div class="post-metadata">

**Author:** ![anothersimulacrum](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/anothersimulacrum/32/10770_2.png) [@anothersimulacrum](https://discourse.cataclysmdda.org/u/anothersimulacrum)\
**Post date:** [September 18, 2020, 11:22pm UTC](https://discourse.cataclysmdda.org/t/force-libncursesw-use-while-compiling/18997/5 "2020-09-18T23:22:21Z")

</div>

Turning off LOCALIZE means that you do not link against libintl, iconv, or ncursesw. There’s an easy fix here, just go into the Makefile, line 696 or so, and changes those ncurses to ncursesw.

---

<div class="post-metadata">

**Author:** ![AssumeCroons](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/assumecroons/32/8570_2.png) [@AssumeCroons](https://discourse.cataclysmdda.org/u/AssumeCroons)\
**Post date:** [September 18, 2020, 11:58pm UTC](https://discourse.cataclysmdda.org/t/force-libncursesw-use-while-compiling/18997/6 "2020-09-18T23:58:46Z")

</div>

Ah, thanks!

I don’t recall why I was using LOCALIZE=0, likely just to avoid unnecessary dependencies. I just removed that to use the default LOCALIZE=1, instead of editing the Makefile. That fixed the problem. So this has worked:

```auto
make -j16 NATIVE=linux64 CLANG=1 TILES=0
```
