cmbi/hssp

'Could not find a version of the library'

ljmartin opened this issue · 4 comments

Hi all,
I'm having difficulty at the ./configure stage, with an error configure: error: Could not find a version of the library! but I'm not clear on what library is missing. Could anyone please help me parse this error?

This is what is returned during ./configure:

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 whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for gcc... gcc
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 whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for perl... perl
checking for cppcheck... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for boostlib >= 1.48... yes
checking whether the Boost::Date_Time library is available... yes
configure: error: Could not find a version of the library!

and here is the end of config.log:

mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

/* confdefs.h */
#define PACKAGE_NAME "xssp"
#define PACKAGE_TARNAME "xssp"
#define PACKAGE_VERSION "3.0.1"
#define PACKAGE_STRING "xssp 3.0.1"
#define PACKAGE_BUGREPORT "Coos.Baakman@radboudumc.nl"
#define PACKAGE_URL ""
#define PACKAGE "xssp"
#define VERSION "3.0.1"
#define HAVE_BOOST /**/
#define HAVE_BOOST_DATE_TIME /**/

configure: exit 1

Thanks!

It seems to run up to the boost date_time library, so I guess it can't find a library file with a version number in it.

How did you install boost?
What is the name of your boost date time library file?
What operating system are you building on?

I am getting the same error when trying to compile dssp using conda with boost versions 1.69.0, 1.68.0, or 1.67.0 (have not tried previous versions yet). This is inside a CentOS 6 docker image, using conda's GCC 7.3.0 compilers.

You can see the build logs here:

All of these three boost versions should work. However, your error messages indicate that it can find the boost date_time headers, but not the shared library file.

You should check inside your docker image and see whether the boost library files are on one of the library paths. (echo $LD_LIBRARY_PATH) I presume the library files are in the packages you installed with conda.
Look for a file named "libboost_date_time.so"

In my case, I had to specify --with-boost and --with-boost-libdir explicitly.

It now works. Thanks!