-1

I have two Ubuntu 14.04 Server 64 bit machines. When i use "sudo apt-get install libboost-all-dev" on both machine, machine 1 gets libboost1.54 and machine 2 gets 1.58. Why is that?

I want to use machine 1 to compile a programm for machine 2 but since machine 1 uses libboost 1.54 i always get error while loading shared libraries: libboost_system.so.1.54.0: cannot open shared object file: No such file or directory on machine 2, which uses 1.58, when trying to run the compiled program. I tried to create a link with sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.54.0 but that doesn't help either.

Any ideas?

Helyx
  • 329
  • 1
  • 5
  • 17

1 Answers1

0

You can:

  1. download and build Boost yourself. It can be a bit tricky because of language-standard-version-related switches (see this question specifically), but it's not terrible. Do this on both machines

  2. Link your binary statically, so you won't need Boost installed on your target machine.

As for your question regarding why you get one version here and another version there - I'd guess it's an APT sources configuration difference but I'm not sure, plus that's off-topic for this site (try http://unix.stackexchange.com or http://askubuntu.com)

einpoklum
  • 118,144
  • 57
  • 340
  • 684