Results 1 to 3 of 3
I've built server using webtoolkit.eu. It runs fine on my development system, which runs Debian 6.0.2 64-bit. However, when I install it on my client's server, which also runs Deban ...
- 09-28-2011 #1Just Joined!
- Join Date
- Sep 2011
- Posts
- 1
Code works on one linux system, fails on another, any suggests?
I've built server using webtoolkit.eu. It runs fine on my development system, which runs Debian 6.0.2 64-bit. However, when I install it on my client's server, which also runs Deban 6.0.2, 64-bit, it fails early-on trying to parse command line parameters. webtoolkit uses boost program options to parse, so I don't think it's a bug there.
I suspect the issue is in the shared libraries. I statically link most of the code, however some of the common libraries (stdc++, pthread, etc) are dynamically linked.
So my questions:
1) Is there any easy way of comparing the versions of the libraries on the two systems for differences?
2) Any other ideas on how to diagnose this problem?
Thanks for any help
- 09-29-2011 #2Just Joined!
- Join Date
- Sep 2007
- Posts
- 51
File comparison
================================
1. Create an NFS share from your system to a sample machine
2. Run dpkg -l {application name}, this helps to identify the version of the file running on the location sysemCode:https://help.ubuntu.com/community/SettingUpNFSHowTo
3. Run diff on the files in question on both systems, just verify they are the same.Code:dpkg -l webtoolkit or dpkg -l pthread (example)
4. One thing I would do is to compare the "make" files and gcc compilers.Code:diff {src file} nfs:/{dst file location}
This will give us an indication of the differences for each file type.Code:diff make nfs:/{make location} diff gcc nfs:/{gcc location}
In addition, be sure to check the permissions of the directory in which you are trying to run the file. Ensure the same permissions apply on both machines.
In future, I would run imaging software on the primary machine, so if there are modifications, you would just re-image the machine or set it up in a Vmware or Redhat Xen/KVM environment so you can just copy the file over to another host machine.
Good luck with your troubleshooting
tdsan
- 09-29-2011 #3Linux Guru
- Join Date
- May 2011
- Posts
- 1,843
I'd run ldd on the binary on your working system and generate the list of involved libraries. Then go to the 2nd system and look for the list of libraries that you've generated.
E.g.:
Code:ldd /path/to/your/binary


Reply With Quote
