3rd party rpm install fails with missing dependencies

I’m using Leap 42.3 and I tried to install an app I downloaded from the vendor’s web site that says it’s compatible with 42.2.
If this version difference is critical, then I’ll quit trying.

Upon trying to install it I received the error: “error: Failed dependencies” as shown here:

# rpm -Uvh takecontrolviewer-6.80.17-24.i386.rpm 
error: Failed dependencies:
    ncurses-libs is needed by takecontrolviewer-6.80.17-24.i386
    samba-winbind-clients is needed by takecontrolviewer-6.80.17-24.i386

So I searched for ncurses-libs:


# zypper se ncurses-libs
Loading repository data...
Reading installed packages...
No matching items found.


# zypper se ncurses
Loading repository data...
Reading installed packages...

S  | Name                     | Summary                                                   | Type      
---+--------------------------+-----------------------------------------------------------+-----------
   | gambas3-gb-ncurses       | The ncurses component for Gambas                          | package   
i+ | libncurses5              | The New curses Libraries                                  | package   
i+ | libncurses5-32bit        | The New curses Libraries                                  | package   
i+ | libncurses6              | The New curses Libraries                                  | package   
i+ | libncurses6-32bit        | The New curses Libraries                                  | package   
i+ | libyui-ncurses-devel     | Libyui-ncurses header files                               | package   
   | libyui-ncurses-doc       | Libyui-ncurses documentation                              | package   
   | libyui-ncurses-pkg       | Libyui - yast2 package selector widget for the ncurses UI | srcpackage
   | libyui-ncurses-pkg-devel | Libyui-ncurses-pkg header files                           | package   
   | libyui-ncurses-pkg-doc   | Libyui-ncurses-pkg documentation                          | package   
   | libyui-ncurses-pkg-doc   | Libyui-ncurses-pkg documentation                          | srcpackage
i+ | libyui-ncurses-pkg7      | Libyui - yast2 package selector widget for the ncurses UI | package   
i+ | libyui-ncurses7          | Libyui - Character Based User Interface                   | package   
   | ncurses                  | New curses Libraries                                      | srcpackage
i+ | ncurses-devel            | Include Files and Libraries mandatory for Development     | package   
i+ | ncurses-devel-32bit      | Include Files and Libraries mandatory for Development     | package   
i+ | ncurses-utils            | Tools using the new curses libraries                      | package   


# zypper lr
Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias                               | Name                                    | Enabled | GPG Check | Refresh
---+-------------------------------------+-----------------------------------------+---------+-----------+--------
 1 | AdobeFlash                          | AdobeFlash                              | No      | ----      | ----   
 2 | KDEapps                             | KDEapps                                 | No      | ----      | ----   
 3 | KDEextra                            | KDEextra                                | No      | ----      | ----   
 4 | Mozilla                             | Mozilla                                 | No      | ----      | ----   
 5 | download.opensuse.org-non-oss       | Main Repository (NON-OSS)               | Yes     | (r ) Yes  | Yes    
 6 | download.opensuse.org-non-oss_1     | Update Repository (Non-Oss)             | Yes     | (r ) Yes  | Yes    
 7 | download.opensuse.org-oss           | Main Repository (OSS)                   | Yes     | (r ) Yes  | Yes    
 8 | download.opensuse.org-oss_1         | Main Update Repository                  | Yes     | (r ) Yes  | Yes    
 9 | google-chrome                       | google-chrome                           | Yes     | (r ) Yes  | Yes    
10 | http-download.opensuse.org-22a8969a | X11:Pantheon:Apps                       | No      | ----      | ----   
11 | http-download.opensuse.org-602c2c16 | home:kfreitag (Borgbackup or veracrypt) | No      | ----      | ----   
12 | http-download.opensuse.org-ad514924 | openSUSE:Leap:15.0                      | No      | ----      | ----   
13 | http-download.opensuse.org-b6f11037 | openSUSE:Tumbleweed                     | No      | ----      | ----   
14 | openSUSE-42.3-0                     | openSUSE-42.3-0                         | No      | ----      | ----   
15 | opensuse-guide.org-repo             | Libdvdcss Repository                    | No      | ----      | ----   
16 | packman.inode.at-suse               | Packman Repository                      | No      | ----      | ----   
17 | repo-debug                          | openSUSE-Leap-42.3-Debug                | No      | ----      | ----   
18 | repo-debug-non-oss                  | openSUSE-Leap-42.3-Debug-Non-Oss        | No      | ----      | ----   
19 | repo-debug-update                   | openSUSE-Leap-42.3-Update-Debug         | No      | ----      | ----   
20 | repo-debug-update-non-oss           | openSUSE-Leap-42.3-Update-Debug-Non-Oss | No      | ----      | ----   
21 | repo-source                         | openSUSE-Leap-42.3-Source               | No      | ----      | ----   
22 | repo-source-non-oss                 | openSUSE-Leap-42.3-Source-Non-Oss       | No      | ----      | ----   

It looks like the ncurses files should be available , but it’s just a naming issues because my zypper has packages called libncurses[5|6] whereas the rpm is looking for ncurses-libs.

With the other missing dependency “winbind”, it also appears to be installed already:

# zypper se winbind
Loading repository data...
Reading installed packages...

S  | Name                | Summary                 | Type   
---+---------------------+-------------------------+--------
i+ | samba-winbind       | Winbind Daemon and Tool | package
i+ | samba-winbind-32bit | Winbind Daemon and Tool | package

Do I need one of those symbolic link tricks to get around the naming issue?
How odd for samba-winbind to be listed but not found.

Cheers,
Gordon

Hi
They don’t have a x86_64 rpm? If you use zypper rather than rpm, hopefully it will pull in the 32bit libs.

Hi Malcolm,

The rpm I downloaded is all that is offerred I’m afraid.

I tried to install it with zypper but got a similar result as installing with rpm:

# zypper install takecontrolviewer-6.80.17-24.i386.rpm 
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides ncurses-libs needed by takecontrolviewer-6.80.17-24.i386
 Solution 1: do not install takecontrolviewer-6.80.17-24.i386
 Solution 2: break takecontrolviewer-6.80.17-24.i386 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): 

I tried Solution 2, but the software fails to launch.

From my OP it looks like a naming issue difference between Leap 42.2 and 42.3, which is why I thought a symbolic link may help, but I’m not sure of the best way to craft it.

Cheers,
Gordon

Hi
What I would do is create a temporary directory (as you user) copy the rpm there and then extract (should be able to right click on it?)

Else open the temporary directory in a terminal and run;


rpm2cpio takecontrolviewer-6.80.17-24.i386.rpm | cpio -idmv

Then cd into the bin directory and then run the command;


ldd <binary_name>

See what libs it can’t find from the output…

Can you provide a download link to this rpm?

I’ve just PMed you with the download link.

  • Gordon

OK, I extracted the RPM, and it provides this folder structure:

gordon@s1:~/temp/tc> find . -maxdepth 6 -type d
.
./var
./var/tmp
./var/tmp/takecontrol
./opt
./opt/takecontrol
./opt/takecontrol/wine
./opt/takecontrol/wine/share
./opt/takecontrol/wine/share/wine
./opt/takecontrol/wine/share/wine/fonts
./opt/takecontrol/wine/share/applications
./opt/takecontrol/wine/share/man
./opt/takecontrol/wine/share/man/pl.UTF-8
./opt/takecontrol/wine/share/man/fr.UTF-8
./opt/takecontrol/wine/share/man/de.UTF-8
./opt/takecontrol/wine/share/man/man1
./opt/takecontrol/wine/include
./opt/takecontrol/wine/include/wine
./opt/takecontrol/wine/include/wine/msvcrt
./opt/takecontrol/wine/include/wine/windows
./opt/takecontrol/wine/lib
./opt/takecontrol/wine/lib/wine
./opt/takecontrol/wine/lib/wine/fakedlls
./opt/takecontrol/wine/bin
gordon@s1:~/temp/tc> 

With wine in there I am not sure where to run the ldd binary-name command from.
I suspect that wine throws a spanner in the works, and adds a layer of complex crud.

Hi
Ahh so it’s a wine application… I would ignore those dependencies for the moment and do what you normally do to run… (or is there a prodedure to follow?).

Hi Malcolm
I ignored the alert, but after launching the software I just get a blinking cursor. The wine log shows errors that didn’t make much sense to me. I don’t hold much hope for this one, and don’t want to waste much more time on it unless you have any other quick magic to try.

I advised the vendor that they need to update their software, because their list of compatible linux distros lists Leap 42.2 which is EOL!!

Is it reasonable to assume that software that runs under 42.2 should run under 42.3?

  • Gordon

Hi
Yes it is a reasonable expectation in this case with a wine based application. For me it seemed to be missing a windows exe file;


TakeControlRDLdr.exe

Is this present in your system?

Hi Malcolm,

Apologies for leaving this thread hanging… I’ve been too flat out. I think I’ll just have to ignore this issue for now, and I do have alternative software to use, but ti’s not quite as well integrated with my work flow. I’ll pester the vendor about updating their app for LEAP 42.3 and to consider ditching wine. An AppImage would be nice!

Cheers :smile:
Gordon