# How to build ncurses-6.2-10.20210508.el9.src.rpm to i686?

**URL:** <https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840>\
**Category:** Rocky Linux Help & Support\
**Tags:** rocky-linux-9\
**Created:** [February 11, 2024, 8:05pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840 "2024-02-11T20:05:18Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![mihalycsaba](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@mihalycsaba](https://forums.rockylinux.org/u/mihalycsaba)\
**Post date:** [February 11, 2024, 8:05pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/1 "2024-02-11T20:05:18Z")

</div>

I need 32bit `libncurses.so.5`  
Tried building with `rpmbuild --target=i686 --rebuild ./ncurses-6.2-10.20210508.el9.src.rpm` in a virtual machine.  
Is this even possible?

Any idea on how to obtain that library in a manner that is somewhat compatible with this system?

---

<div class="post-metadata">

**Author:** ![label](https://avatars.discourse-cdn.com/v4/letter/l/c5a1d2/32.png) [@label](https://forums.rockylinux.org/u/label)\
**Post date:** [February 11, 2024, 8:11pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/2 "2024-02-11T20:11:27Z")

</div>

Is there a reason why you need `libncurses.so.5`? You won’t be able to obtain it that way building the source package. You’ll only get `libncurses.so.6` if you manage to build it.

```auto
[root@xmpp01 host]# dnf whatprovides /usr/lib/libncurses.so.6
Last metadata expiration check: 1:50:14 ago on Sun 11 Feb 2024 11:19:47 AM MST.
ncurses-libs-6.2-10.20210508.el9.i686 : Ncurses libraries
Repo : baseos
Matched from:
Filename : /usr/lib/libncurses.so.6

```

---

<div class="post-metadata">

**Author:** ![mihalycsaba](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@mihalycsaba](https://forums.rockylinux.org/u/mihalycsaba)\
**Post date:** [February 11, 2024, 9:33pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/3 "2024-02-11T21:33:26Z")

</div>

An old program needs it. Looks like `ln -sf /usr/lib/libncurses.so.6 /usr/lib/libncurses.so.5` solved, I hope the two versions are compatible.

---

<div class="post-metadata">

**Author:** ![chemal](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/chemal/32/2238_2.png) [@chemal](https://forums.rockylinux.org/u/chemal)\
**Post date:** [February 14, 2024, 10:21am UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/4 "2024-02-14T10:21:22Z")

</div>

They are explicitly incompatbile as is indicated by the changed soname. The version you are looking for is in package `ncurses-compat-libs`. For 8 it’s included in the base repos, for 9 you have to get it from epel.

---

<div class="post-metadata">

**Author:** ![mihalycsaba](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@mihalycsaba](https://forums.rockylinux.org/u/mihalycsaba)\
**Post date:** [February 14, 2024, 12:13pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/5 "2024-02-14T12:13:07Z")

</div>

the problem is with alma9

```auto
dnf whatprovides libncurses.so.5
Last metadata expiration check: 0:00:09 ago on Wed 14 Feb 2024 02:07:30 PM EET.
Error: No matches found. If searching for a file, try specifying the full path or using a wildcard prefix ("*/") at the beginning.

```

---

<div class="post-metadata">

**Author:** ![mihalycsaba](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@mihalycsaba](https://forums.rockylinux.org/u/mihalycsaba)\
**Post date:** [February 14, 2024, 12:13pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/6 "2024-02-14T12:13:40Z")

</div>

I have added the devel repo too `dnf install almalinux-release-devel`

---

<div class="post-metadata">

**Author:** ![label](https://avatars.discourse-cdn.com/v4/letter/l/c5a1d2/32.png) [@label](https://forums.rockylinux.org/u/label)\
**Post date:** [February 14, 2024, 3:24pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/7 "2024-02-14T15:24:56Z")

</div>

You should not be mixing repositories between different distributions. If you need the devel repository, we provide our own which can be enabled easily via dnf config-manager or modifying /etc/yum.repos.d where appropriate.

With that said, you should be using mock to do any rpm builds.

```auto
dnf install epel-release -y
dnf install mock -y
usermod -aG mock user
mock -r rocky+epel-9-x86_64 --enablerepo=devel /path/to/source/package

```

---

<div class="post-metadata">

**Author:** ![mihalycsaba](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@mihalycsaba](https://forums.rockylinux.org/u/mihalycsaba)\
**Post date:** [February 14, 2024, 4:41pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/8 "2024-02-14T16:41:30Z")

</div>

Sorry wrong forum, but same issue with rocky too.

Tried mock, I couldn’t get it to build a i686 package. I will try again with the commands you provided, thank you.

---

<div class="post-metadata">

**Author:** ![chemal](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/chemal/32/2238_2.png) [@chemal](https://forums.rockylinux.org/u/chemal)\
**Post date:** [February 14, 2024, 6:32pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/9 "2024-02-14T18:32:15Z")

</div>

Ah, that’s something I forgot: epel doesn’t have 32-bit packages.

But what’s missing here is something that gets build but then doesn’t get shipped.

For Rocky 9 see here:

[https://koji.rockylinux.org/koji/buildinfo?buildID=36131](https://koji.rockylinux.org/koji/buildinfo?buildID=36131)

Direct link to the package you want:

[https://kojidev.rockylinux.org/kojifiles/packages/ncurses/6.2/10.20210508.el9/i686/ncurses-compat-libs-6.2-10.20210508.el9.i686.rpm](https://kojidev.rockylinux.org/kojifiles/packages/ncurses/6.2/10.20210508.el9/i686/ncurses-compat-libs-6.2-10.20210508.el9.i686.rpm)

---

<div class="post-metadata">

**Author:** ![mihalycsaba](https://avatars.discourse-cdn.com/v4/letter/m/a88e57/32.png) [@mihalycsaba](https://forums.rockylinux.org/u/mihalycsaba)\
**Post date:** [February 14, 2024, 6:36pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/10 "2024-02-14T18:36:51Z")

</div>

Thank you, I will try it tomorrow. Spent quite some time trying to research this. Do you know why don’t they include the 32bit packages? Sadly there is still a lot of legacy software out there.

---

<div class="post-metadata">

**Author:** ![chemal](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/chemal/32/2238_2.png) [@chemal](https://forums.rockylinux.org/u/chemal)\
**Post date:** [February 14, 2024, 6:44pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/11 "2024-02-14T18:44:58Z")

</div>

I wouldn’t know. RH management decides this. The easy part: The don’t have the 64-bit compat package, they surely don’t have the 32-bit compat package.

---

<div class="post-metadata">

**Author:** ![iwalker](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/iwalker/32/2599_2.png) [@iwalker](https://forums.rockylinux.org/u/iwalker)\
**Post date:** [February 14, 2024, 7:08pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/12 "2024-02-14T19:08:08Z")

</div>

> [@mihalycsaba](#):
>
> Do you know why don’t they include the 32bit packages?

At a guess, probably because they don’t want to be supporting old legacy stuff anymore for the very few people who use it. Times changes, things move on, most things are 64 bit now. They want their teams to concentrate on things like now and the future, rather than some old legacy app that someone might use when the majority are not using it.

The legacy app should probably remain on the system that it works on currently rather than attempting to run it on a much newer operating system where it will lack the supported packages it requires. Or the even better solution, update the legacy app and bring it into the future. Possibly not easy for a number of reasons - like having to request the company that developed it to update it, and they no longer support it or just don’t want to because the app is old and been superceded.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex020/uploads/rockylinux/original/1X/91b7219eec10e30013422e4df76c1d898711a5d5.svg) [@system](https://forums.rockylinux.org/u/system)\
**Post date:** [April 14, 2024, 7:08pm UTC](https://forums.rockylinux.org/t/how-to-build-ncurses-6-2-10-20210508-el9-src-rpm-to-i686/12840/13 "2024-04-14T19:08:23Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
