Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure: WARNING: Could not find BOOST_SERIALIZATION library #2

Open
meghatron21 opened this issue May 8, 2020 · 3 comments
Open

Comments

@meghatron21
Copy link

Hi.

I know that an issue about this was already posted, but I followed the other posted issue and am still having trouble installing PLATO with boost.

I have tried compiling with PLATO 2.1.0-beta3, PLATO 2.0.0, and git cloning the PLATO library. I have also tried boost_1_67_0 and boost_1_73_0 and am still getting the BOOST_SERIALIZATION library not being found error. I also added the path to the boost library to my LD path.

I have the specs for gcc below:
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609

I am running out of ideas to try and any help would be appreciated!

Thanks!

@jrm5100
Copy link

jrm5100 commented Dec 1, 2020

I'm running into the same issue. With the caveat that I don't really know C++ or make, from what I can see, this occurs in make/m4/rl_configure.m4 line 64:

AX_BOOST_LIB([serialization],[boost::archive::binary_oarchive a(std::cout)],[],[boost/archive/binary_oarchive.hpp])

According to make/m4/ax_boost_lib.m4:

# This macro checks for the existence and linkability of a given boost
# library.  the macro takes up to 4 arguments (with the 1st 2 being mandatory)
# The arguments are:
#   1 - the name of the libarary, as it will be linked (lowercase + underscore)
#   2 - A short C++ line that will fail on compile and link if the library is not found
#   3 - (Optional) Extra libraries to include
#   4 - (Optional) A header that defines the library.  If not given, defaults to
#		boost/$1.hpp

Meaning boost::archive::binary_oarchive a(std::cout) will fail unless the library is found.

I'm guessing this line of code is unexpectedly failing even if the library is found.

@scdudek
Copy link
Contributor

scdudek commented Dec 8, 2020

We have updated the configure script in the download package with a possible fix for the issue. It is available as plato-2.1.0-beta4.tar.gz attached to the latest release here and on our lab website at https://ritchielab.org/software/plato-download. Please try it at your convenience.

@jrm5100
Copy link

jrm5100 commented Dec 9, 2020

The ./configure step now passes.

I get some linking errors that I think may be specific to my environment (RHEL7) so I can't yet be certain everything compiles.

/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: cannot find -lbfd
/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: cannot find -liberty
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:723: plato] Error 1
make[2]: Leaving directory '/gpfs/scratch/jrm5100/plato_rhel7/plato-2.1.0'
make[1]: *** [Makefile:1050: all-recursive] Error 1
make[1]: Leaving directory '/gpfs/scratch/jrm5100/plato_rhel7/plato-2.1.0'
make: *** [Makefile:619: all] Error 2

Update: I was able to get some help on making sure I had these libraries available to PLATO and I can successfully compile now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants