1

I'm using filesystem in boost to build my apache thrift client and server. So I linked -lboost_system and lboost_filesystem which are required to build them in makefile. https://github.com/cdwijayarathna/thrift/commit/fd5c8968288fd40cd8819dcf964a3cd525fea65a These build without any error in my machine. But travis build failed due to this saying

/usr/bin/ld: cannot find -lboost_system
/usr/bin/ld: cannot find -lboost_filesystem

https://travis-ci.org/cdwijayarathna/thrift/jobs/32043346

What is the reason for this?

Chamila Wijayarathna
  • 1,815
  • 5
  • 30
  • 54
  • Travis uses a very basic image for there build workers. Have you tried installing boost? – user1937198 Aug 08 '14 at 21:15
  • I'm not much familiar with travis. I used https://github.com/apache/thrift/blob/master/.travis.yml as my .travis.yml. Thrift will not built without boost. Also the make file I edited had '-lboost_program_options' before my change and it worked properly. So I think it should be installed there since it worked well upto now. – Chamila Wijayarathna Aug 09 '14 at 06:09
  • 1
    My first guess would be too that boots is not installed. If it is, maybe it has sth. to do with [this question](http://stackoverflow.com/questions/12107422/ld-cannot-find-llibrary)? – JensG Aug 09 '14 at 10:59

1 Answers1

2

Taking a look at your Travis setup, it appears you are not installing all of the boost libraries. Thus when you add new boost libraries for your build, the linker fails to find them. You seem to install the boost development libraries in this script: https://github.com/cdwijayarathna/thrift/blob/master/contrib/installCXXDependencies.sh. If you add:

  • libboost-system-dev
  • libboost-filesystem-dev

to the list of packages installed, that should make everything work.

MJD
  • 1,183
  • 7
  • 13