Why autoconf isn't detecting boost properly?
autoconf, boost, boost-filesystem, c++
Solution
Since boost-1.39 libboost_filesystem depends on libboost_system. Before 1.39 you could only link to boost_filesystem, in later versions you have to link to both of them.
Maybe it has something to do with your error.
Problem
I am using autoconf to detect boost libraries, with the support of the autoconf-archive macros and they work fine with system-wide boost libraries, but fail if I manually compile boost in my home directory: ``` sb@stephane:~/devel/spectra2$ ./configure --with-boost=/home/sb/local/ checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking dependency style of gcc... gcc3 checking for library containing strerror... none required checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... gcc3 checking for boostlib >= 1.31.0... yes checking whether the Boost::Program_Options library is available... yes checking for exit in -lboost_program_options... yes checking whether the Boost::Filesystem library is available... yes checking for exit in -lboost_filesystem... no checking for exit in -lboost_filesystem... (cached) no checking for exit in -lboost_filesystem... (cached) no configure: error: Could not link against boost_filesystem ! ``` As you can see, it detects some libraries fine, but it fails with boost-filesystem. These are the contents of ~/local/lib: ``` sb@stephane:~$ ls -1 /home/sb/local/lib/ libboost_filesystem.a libboost_filesystem.so libboost_filesystem.so.1.42.0 libboost_program_options.a libboost_program_options.so libboost_program_options.so.1.42.0 libboost_system.a libboost_system.so libboost_system.so.1.42.0 libboost_thread.a libboost_thread.so libboost_thread.so.1.42.0 ``` So the library is there. I tried with both boost-1.39 and boost-1.42 with no different result, any idea why is this happening? Did I forget about something?