LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 08-23-2010, 03:03 AM   #1
narcist
LQ Newbie
 
Registered: Aug 2010
Posts: 3

Rep: Reputation: 0
Xerces dependency problem


Hello,
I'm trying to get an application running but it fails because of dependency problems. The application binary requires some shared libraries that are not installed on my distribution (by the way, I'm using openSuSe 11.3 x86), instead i have newer versions installed. So I made a link for every library, naming it accordingly to the required dependency. The application also came with a Xerces-c-2.7.0-11.i586.rpm, but when I try to install it:

error: Failed dependencies:
libicudata.so.34 is needed by Xerces-c-2.7.0-11.i586
libicuuc.so.34 is needed by Xerces-c-2.7.0-11.i586

Both files exist in the /lib and /usr/lib directories, but the rpm installer can't find them. So I installed the rpm with --nodeps.
Now, when I run the application all dependencies are resolved, but it gives errors like:
undefined symbol: u_toupper_3_4 (/usr/lib/libxerces-c.so.27)
Again, Xerces causes problems. Does anybody have an idea how I could solve this?
 
Old 08-23-2010, 07:46 AM   #2
narcist
LQ Newbie
 
Registered: Aug 2010
Posts: 3

Original Poster
Rep: Reputation: 0
Well, one problem solved.
I managed to install another version of Xerces, but now the application binary doesn't run because it has unresolved symbols. Among the symbols are even glibc functions like malloc or fopen.
The question is: can I solve the problem without recompiling and linking the main binary? Note that I don't have the source code, so rebuilding the binary is not an option.
 
Old 08-23-2010, 07:56 AM   #3
knudfl
LQ 5k Club
 
Registered: Jan 2008
Location: Copenhagen DK
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,511

Rep: Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641Reputation: 3641
Welcome to LQ. .. .. ..

Please open a terminal window, and do 1: su enter-password
2: zypper in xerces-c
.. which will install version ' 3.01 '.

Or use the 'Package Manager' (Yast) for package install.
The most basic 5,000 packages are available.

Another 6,000 packages are in the Packman repo :
http://en.opensuse.org/Additional_pa...tories#Packman

http://en.opensuse.org/Additional_package_repositories
..
 
Old 08-24-2010, 01:34 AM   #4
narcist
LQ Newbie
 
Registered: Aug 2010
Posts: 3

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by knudfl View Post
Welcome to LQ. .. .. ..

Please open a terminal window, and do 1: su enter-password
2: zypper in xerces-c
.. which will install version ' 3.01 '.

Or use the 'Package Manager' (Yast) for package install.
The most basic 5,000 packages are available.

Another 6,000 packages are in the Packman repo :
http://en.opensuse.org/Additional_pa...tories#Packman

http://en.opensuse.org/Additional_package_repositories
..
Thanks for the reply. I already installed xerces version 3, and I think this is the problem. My application binary needs xerces 2.7, an as far as I know version 3.01 is not backward compatible with 2.7, because they have different major version numbers. Anyway, I'm gonna try installing xerces 2.7 again.
 
Old 08-24-2010, 11:06 PM   #5
Valery Reznic
ELF Statifier author
 
Registered: Oct 2007
Posts: 676

Rep: Reputation: 137Reputation: 137
Quote:
Originally Posted by narcist View Post
Thanks for the reply. I already installed xerces version 3, and I think this is the problem. My application binary needs xerces 2.7, an as far as I know version 3.01 is not backward compatible with 2.7, because they have different major version numbers. Anyway, I'm gonna try installing xerces 2.7 again.
Basically, you have to options:
1. try to find some version of xerces that will satisfy your application in questions and not break anything in your system.

It's what you are doing and find out it's a bit tricky.

2. run your application in some kind of "isolated environment"
What isolated environment can be ?
- Use LD_LIBRARY_PATH to specify different xerces for only this application
- Run application in chroot-ed environment
- Run this application in the virtual machine.
- Install in the virtual machine distribution your application is supposed to run on.
Then use statifier (http://statifier.sf.net) or Ermine (http://magicErmine.com) to convert this application into self-containing executable, that can be copied and used to virtually any Linux box.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Axis and Xerces traene Programming 2 09-14-2007 11:48 AM
Cannot install Xerces-J2 update Doug Vitale Fedora 1 07-17-2007 08:53 AM
how to compile xerces-c using mingw32? hongxing Linux - Software 0 10-26-2005 07:22 AM
Installing xerces-c, Help needed Jorek Linux - Newbie 3 10-19-2005 02:10 PM
Xerces: upgrading version 1 to 2 jbsarma Linux - Newbie 2 08-24-2005 02:15 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 05:38 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration