PDA

View Full Version : SLES 11 SP1 : libusb version dependency issue



tbjx46
23-May-2014, 16:21
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.

ab
23-May-2014, 19:01
In the shell or script where you load your application you can use
LD_PRELOAD to point to a specific library to be used before any other is
sought/found, or LD_LIBRARY_PATH to point to directories where libraries
exist that should be used before the system defaults. For example:

Code:
--------------------
export LD_LIBRARY_PATH='/usr/lib/libusb10-directory'
/path/to/your/application.sh
--------------------

--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below...

tbjx46
26-May-2014, 13:03
Thanks a lot for the help ab :) But the issue is we do not wish to effect other running stuffs that depend on the older libusb. Will LD_PRELOAD do the job in isolation for our particular app or it will over ride the usb libraries at complete system scale?? If so , is there any other way to help me install my rpm with usb 1.0 dependency?? and also Please notice that I have not even been successfull at installing the rpm yet because of the dependency

ab
26-May-2014, 14:09
Both options, LD_PRELOAD and LD_LIBRARY_PATH, are meant to override system
defaults for newly-loaded programs only. You can read a lot more about
them online as they are commonly used.

If you cannot get the RPM installed then that's your bigger issue. If
missing dependencies are the problem, resolve them. If conflicting
dependencies are the problem, you could get the necessary packages,
manually unpack them to a directory structure of your choice separate from
the system stuff, and then use LD_LIBRARY_PATH to point there before
running your program.

With all of that said, SP3 is current, SP2 is kind of old, and SP1 is
really old. I'd try to get up to SP2 since you know that works and then
deal with exceptions from there rather than dealing with exceptions on SP1.

--
Good luck.

If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below...

plinnell
24-Jun-2014, 20:33
I can only second the advice of using the latest SP3. Backporting library support to older systems is notoriously difficult and painful in most circumstances.