SLES 11 SP1 : libusb version dependency issue

I have a JPOS/corescanner app developed and running fine on SP2 and uses the latest libusb 1.0.

I am unable to run the same app on SP1 out of the box and requires me to fix the dependency on latest libusb 10.

I installed the required libusb 1.0 and tried installing my app again but it still says that dependency is not fulfilled. I thought the system is still considering the older libusb 0.1 as default and removing it might help but it just removes everything dependent on it too. Is there a way I can make my app bind to the newly installed libusb 1.0??

Thanks in advance for help.

Hi tbjx46,

[QUOTE=tbjx46;21509]I have a JPOS/corescanner app developed and running fine on SP2 and uses the latest libusb 1.0.

I am unable to run the same app on SP1 out of the box and requires me to fix the dependency on latest libusb 10.

I installed the required libusb 1.0 and tried installing my app again but it still says that dependency is not fulfilled. I thought the system is still considering the older libusb 0.1 as default and removing it might help but it just removes everything dependent on it too. Is there a way I can make my app bind to the newly installed libusb 1.0??

Thanks in advance for help.[/QUOTE]

A set of questions came up reading your description:

  1. SLES11SP1 is no longer supported, so I guess there must be some specific dependency to run this on SP1?

  2. What exactly do you see as an error? “but it still says that dependency is not fulfilled” is rather vague, as such dependencies can reflect at various level…

  3. How do you install your application, is it an RPM or are those otherwise bundled files? Same goes for “[installation of] the required libusb 1.0” - via RPM or by some other means?

Typically, libraries are installed with symlinks reflecting individual version number, major version number and no version number at all. Have you considered linking to the “lib” in a way reflecting your exact requirements?

Regards,
Jens

Thanks Jens for the reply.

  1. SLES11SP1 is no longer supported, so I guess there must be some specific dependency to run this on SP1?
    => Yes my customer is still using SP1 and they are not open towards upgrading. They want the corescanner rpm’s running on SP2 to be installable on SP1. While trying to install the rpm we get that libusb 1.00 dependency error.

  2. What exactly do you see as an error? “but it still says that dependency is not fulfilled” is rather vague, as such dependencies can reflect at various level…
    =>
    rpm -ivh corescanner.rpm
    error: Failed dependencies:
    libusb-1_0-0 >= 1.0.0 is needed by corescanner
    libudev.so.0 is needed by corescanner
    After this I installed the usb-1_0 using yast but I still continiue getting above error while trying to install the rpm

  3. How do you install your application, is it an RPM or are those otherwise bundled files? Same goes for “[installation of] the required libusb 1.0” - via RPM or by some other means?
    =>to install the rpm i used terminal but I tried installing the libusb1.0 using yast

Typically, libraries are installed with symlinks reflecting individual version number, major version number and no version number at all. Have you considered linking to the “lib” in a way reflecting your exact requirements?

cd /usr/lib
ls -l usb
lrwxrwxrwx 1 root root 19 2014-05-22 21:08 libusb-0.1.so.4 → libusb-0.1.so.4.4.4
-rwxr-xr-x 1 root root 35420 2009-09-03 19:55 libusb-0.1.so.4.4.4
lrwxrwxrwx 1 root root 19 2014-05-26 16:49 libusb-1.0.so.0 → libusb-1.0.so.0.0.0
-rwxr-xr-x 1 root root 46780 2009-02-21 08:18 libusb-1.0.so.0.0.0

rpm -ivh corescanner.rpm
error: Failed dependencies:
libusb-1_0-0 >= 1.0.0 is needed by corescanner
libudev.so.0 is needed by corescanner

There does seem to be some naming difference between the install error (libusb-1_0-0 ) and the libusb i tried installing ( libusb-1.0.so.0 → libusb-1.0.so.0.0.0)

Can that be an issue?

Thanks in advance

[QUOTE=tbjx46;21575]Thanks Jens for the reply.

  1. SLES11SP1 is no longer supported, so I guess there must be some specific dependency to run this on SP1?
    => Yes my customer is still using SP1 and they are not open towards upgrading. They want the corescanner rpm’s running on SP2 to be installable on SP1. While trying to install the rpm we get that libusb 1.00 dependency error.

  2. What exactly do you see as an error? “but it still says that dependency is not fulfilled” is rather vague, as such dependencies can reflect at various level…
    =>
    rpm -ivh corescanner.rpm
    error: Failed dependencies:
    libusb-1_0-0 >= 1.0.0 is needed by corescanner
    libudev.so.0 is needed by corescanner
    After this I installed the usb-1_0 using yast but I still continiue getting above error while trying to install the rpm

  3. How do you install your application, is it an RPM or are those otherwise bundled files? Same goes for “[installation of] the required libusb 1.0” - via RPM or by some other means?
    =>to install the rpm i used terminal but I tried installing the libusb1.0 using yast

Typically, libraries are installed with symlinks reflecting individual version number, major version number and no version number at all. Have you considered linking to the “lib” in a way reflecting your exact requirements?

cd /usr/lib
ls -l usb
lrwxrwxrwx 1 root root 19 2014-05-22 21:08 libusb-0.1.so.4 → libusb-0.1.so.4.4.4
-rwxr-xr-x 1 root root 35420 2009-09-03 19:55 libusb-0.1.so.4.4.4
lrwxrwxrwx 1 root root 19 2014-05-26 16:49 libusb-1.0.so.0 → libusb-1.0.so.0.0.0
-rwxr-xr-x 1 root root 46780 2009-02-21 08:18 libusb-1.0.so.0.0.0

rpm -ivh corescanner.rpm
error: Failed dependencies:
libusb-1_0-0 >= 1.0.0 is needed by corescanner
libudev.so.0 is needed by corescanner

There does seem to be some naming difference between the install error (libusb-1_0-0 ) and the libusb i tried installing ( libusb-1.0.so.0 → libusb-1.0.so.0.0.0)

Can that be an issue?

Thanks in advance[/QUOTE]

so we’re talking about what looks like an RPM dependency resolution problem - at least it’s RPM that is reporting the problem.

Looking at a non-SLES system (which I happen to have in front of me right now, unlike a SLES machine), I see the following package installed:

myhost> rpm -qi libusb-1_0-0 Name : libusb-1_0-0 Version : 1.0.9 Release : 8.1.2 Architecture: x86_64 Install Date: Di 13 Mai 2014 12:55:33 CEST Group : System/Libraries Size : 94334 License : LGPL-2.1+ Signature : RSA/SHA256, Fr 27 Sep 2013 22:06:57 CEST, Key ID b88b2fd43dbdc284 Source RPM : libusb-1_0-1.0.9-8.1.2.src.rpm Build Date : Fr 27 Sep 2013 22:06:30 CEST Build Host : build40 Relocations : (not relocatable) Packager : http://bugs.opensuse.org Vendor : openSUSE URL : http://www.libusb.org/ Summary : USB Library Description : Libusb is a library that allows userspace access to USB devices. Distribution: openSUSE 13.1 myhost>

So RPM would clearly see the dependency “libusb-1_0-0 >= 1.0.0 is needed by corescanner” fulfilled: “Name : libusb-1_0-0” with “Version : 1.0.9”. So rather than listing the installed library files, I’d ask you to look at the actually installed RPM package info like above and verify what the actual version (according to RPM) of your libusb-1_0-0 package is.

to install the rpm i used terminal but I tried installing the libusb1.0 using yast
I was more after the information “installed RPM” - YaST-installed packages end up in the RPM database as well. Things would have been differently if you installed i.e. by unpacking some tarball or alike.

With regards,
Jens

PS: As your customer requires you to provide a package for SLES11SP1 - is there any reason not to build (and test) it on SP1? That way, you can immediately identify missing dependencies/deficiencies, without having to ship the software to your customer first…

Hey, where did my introductory sentence go? :confused:

Please insert a non-virtual “Hi tbjx46,” at the beginning of my response :wink: