configuration failure

Asked by Huiqun Zhou

Hi,

When I configure esys 2.0, I get following errors related to boost libraries.
The boost libraries were compiled by myself, and installed in /lib for libs
and /usr/local/include/boost-1_39 for header files. If I configure esys with
--with-boost=/lib, it'll fail in finding boost libraries, and if I configure it without
indicating location of boost, it'll be OK to find availability of the libraries,
but it got many checking __cxa_atexit errors as below. I also noticed that
it likely checked wrong libraries as my boost libs were compiled by setting
--toolset=intel and named automatically as xxx_il_mt alike (neither xxx_mpiicc_mt
nor xxx_mgw_mt).

Any idears?

Thanks in advance.

==========================================
........................
checking for MPI_Init in -lmpi... yes
checking for MPI_Abort in -lmpi++... no
checking for mpivis... no
checking for Py_Main in -lpython2.4... yes
checking for boostlib >= 1.34.1... yes (1.39)
checking whether the Boost::Filesystem library is available... yes
checking for __cxa_atexit in -lboost_filesystem... no
checking for __cxa_atexit in -lboost_filesystem-mt... no
checking for __cxa_atexit in -lboost_filesystem-mpiicc... no
checking for __cxa_atexit in -lboost_filesystem-mpiicc-mt... no
checking for __cxa_atexit in -lboost_filesystem-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_filesystem-mpiicc-s... no
checking for __cxa_atexit in -llibboost_filesystem... no
checking for __cxa_atexit in -llibboost_filesystem-mpiicc... no
checking for __cxa_atexit in -llibboost_filesystem-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_filesystem-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_filesystem-mpiicc-s... no
checking for __cxa_atexit in -lboost_filesystem-mgw... no
checking for __cxa_atexit in -lboost_filesystem-mgw... (cached) no
checking for __cxa_atexit in -lboost_filesystem-mgw-mt... no
checking for __cxa_atexit in -lboost_filesystem-mgw-mt-s... no
checking for __cxa_atexit in -lboost_filesystem-mgw-s... no
configure: Could not link against boost_filesystem-mgw-s !
checking whether the Boost::Program_Options library is available... yes
checking for __cxa_atexit in -lboost_program_options... no
checking for __cxa_atexit in -lboost_program_options-mt... no
checking for __cxa_atexit in -lboost_program_options-mpiicc... no
checking for __cxa_atexit in -lboost_program_options-mpiicc-mt... no
checking for __cxa_atexit in -lboost_program_options-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_program_options-mpiicc-s... no
checking for __cxa_atexit in -llibboost_program_options... no
checking for __cxa_atexit in -llibboost_program_options-mpiicc... no
checking for __cxa_atexit in -llibboost_program_options-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_program_options-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_program_options-mpiicc-s... no
checking for __cxa_atexit in -lboost_program_options-mgw... no
checking for __cxa_atexit in -lboost_program_options-mgw... (cached) no
checking for __cxa_atexit in -lboost_program_options-mgw-mt... no
checking for __cxa_atexit in -lboost_program_options-mgw-mt-s... no
checking for __cxa_atexit in -lboost_program_options-mgw-s... no
checking whether the Boost::Thread library is available... yes
checking for __cxa_atexit in -lboost_thread... no
checking for __cxa_atexit in -lboost_thread-mt... no
checking for __cxa_atexit in -lboost_thread-mpiicc... no
checking for __cxa_atexit in -lboost_thread-mpiicc-mt... no
checking for __cxa_atexit in -lboost_thread-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_thread-mpiicc-s... no
checking for __cxa_atexit in -llibboost_thread... no
checking for __cxa_atexit in -llibboost_thread-mpiicc... no
checking for __cxa_atexit in -llibboost_thread-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_thread-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_thread-mpiicc-s... no
checking for __cxa_atexit in -lboost_thread-mgw... no
checking for __cxa_atexit in -lboost_thread-mgw... (cached) no
checking for __cxa_atexit in -lboost_thread-mgw-mt... no
checking for __cxa_atexit in -lboost_thread-mgw-mt-s... no
checking for __cxa_atexit in -lboost_thread-mgw-s... no
configure: Could not link against boost_thread-mgw-s !
checking whether the Boost::IOStreams library is available... yes
checking for __cxa_atexit in -lboost_iostreams... no
checking for __cxa_atexit in -lboost_iostreams-mt... no
checking for __cxa_atexit in -lboost_iostreams-mpiicc... no
checking for __cxa_atexit in -lboost_iostreams-mpiicc-mt... no
checking for __cxa_atexit in -lboost_iostreams-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_iostreams-mpiicc-s... no
checking for __cxa_atexit in -llibboost_iostreams... no
checking for __cxa_atexit in -llibboost_iostreams-mpiicc... no
checking for __cxa_atexit in -llibboost_iostreams-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_iostreams-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_iostreams-mpiicc-s... no
checking for __cxa_atexit in -lboost_iostreams-mgw... no
checking for __cxa_atexit in -lboost_iostreams-mgw... (cached) no
checking for __cxa_atexit in -lboost_iostreams-mgw-mt... no
checking for __cxa_atexit in -lboost_iostreams-mgw-mt-s... no
checking for __cxa_atexit in -lboost_iostreams-mgw-s... no
configure: Could not link against boost_iostreams-mgw-s !
checking whether the Boost::Serialization library is available... yes
checking for __cxa_atexit in -lboost_serialization... no
checking for __cxa_atexit in -lboost_serialization-mt... no
checking for __cxa_atexit in -lboost_serialization-mpiicc... no
checking for __cxa_atexit in -lboost_serialization-mpiicc-mt... no
checking for __cxa_atexit in -lboost_serialization-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_serialization-mpiicc-s... no
checking for __cxa_atexit in -llibboost_serialization... no
checking for __cxa_atexit in -llibboost_serialization-mpiicc... no
checking for __cxa_atexit in -llibboost_serialization-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_serialization-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_serialization-mpiicc-s... no
checking for __cxa_atexit in -lboost_serialization-mgw... no
checking for __cxa_atexit in -lboost_serialization-mgw... (cached) no
checking for __cxa_atexit in -lboost_serialization-mgw-mt... no
checking for __cxa_atexit in -lboost_serialization-mgw-mt-s... no
checking for __cxa_atexit in -lboost_serialization-mgw-s... no
configure: Could not link against boost_serialization-mgw-s !
checking for __cxa_atexit in -lboost_wserialization... no
checking for __cxa_atexit in -lboost_wserialization-mt... no
checking for __cxa_atexit in -lboost_wserialization-mpiicc... no
checking for __cxa_atexit in -lboost_wserialization-mpiicc-mt... no
checking for __cxa_atexit in -lboost_wserialization-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_wserialization-mpiicc-s... no
checking for __cxa_atexit in -llibboost_wserialization... no
checking for __cxa_atexit in -llibboost_wserialization-mpiicc... no
checking for __cxa_atexit in -llibboost_wserialization-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_wserialization-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_wserialization-mpiicc-s... no
checking for __cxa_atexit in -lboost_wserialization-mgw... no
checking for __cxa_atexit in -lboost_wserialization-mgw... (cached) no
checking for __cxa_atexit in -lboost_wserialization-mgw-mt... no
checking for __cxa_atexit in -lboost_wserialization-mgw-mt-s... no
checking for __cxa_atexit in -lboost_wserialization-mgw-s... no
configure: Could not link against boost_wserialization-mgw-s !
checking whether the Boost::Signals library is available... yes
checking for __cxa_atexit in -lboost_signals... no
checking for __cxa_atexit in -lboost_signals-mt... no
checking for __cxa_atexit in -lboost_signals-mpiicc... no
checking for __cxa_atexit in -lboost_signals-mpiicc-mt... no
checking for __cxa_atexit in -lboost_signals-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_signals-mpiicc-s... no
checking for __cxa_atexit in -llibboost_signals... no
checking for __cxa_atexit in -llibboost_signals-mpiicc... no
checking for __cxa_atexit in -llibboost_signals-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_signals-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_signals-mpiicc-s... no
checking for __cxa_atexit in -lboost_signals-mgw... no
checking for __cxa_atexit in -lboost_signals-mgw... (cached) no
checking for __cxa_atexit in -lboost_signals-mgw-mt... no
checking for __cxa_atexit in -lboost_signals-mgw-mt-s... no
checking for __cxa_atexit in -lboost_signals-mgw-s... no
configure: Could not link against boost_signals-mgw-s !
checking whether the Boost::Date_Time library is available... yes
checking for __cxa_atexit in -lboost_date_time... no
checking for __cxa_atexit in -lboost_date_time-mt... no
checking for __cxa_atexit in -lboost_date_time-mpiicc... no
checking for __cxa_atexit in -lboost_date_time-mpiicc-mt... no
checking for __cxa_atexit in -lboost_date_time-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_date_time-mpiicc-s... no
checking for __cxa_atexit in -llibboost_date_time... no
checking for __cxa_atexit in -llibboost_date_time-mpiicc... no
checking for __cxa_atexit in -llibboost_date_time-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_date_time-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_date_time-mpiicc-s... no
checking for __cxa_atexit in -lboost_date_time-mgw... no
checking for __cxa_atexit in -lboost_date_time-mgw... (cached) no
checking for __cxa_atexit in -lboost_date_time-mgw-mt... no
checking for __cxa_atexit in -lboost_date_time-mgw-mt-s... no
checking for __cxa_atexit in -lboost_date_time-mgw-s... no
checking whether the Boost::Regex library is available... yes
checking for __cxa_atexit in -lboost_regex... no
checking for __cxa_atexit in -lboost_regex-mt... no
checking for __cxa_atexit in -lboost_regex-mpiicc... no
checking for __cxa_atexit in -lboost_regex-mpiicc-mt... no
checking for __cxa_atexit in -lboost_regex-mpiicc-mt-s... no
checking for __cxa_atexit in -lboost_regex-mpiicc-s... no
checking for __cxa_atexit in -llibboost_regex... no
checking for __cxa_atexit in -llibboost_regex-mpiicc... no
checking for __cxa_atexit in -llibboost_regex-mpiicc-mt... no
checking for __cxa_atexit in -llibboost_regex-mpiicc-mt-s... no
checking for __cxa_atexit in -llibboost_regex-mpiicc-s... no
checking for __cxa_atexit in -lboost_regex-mgw... no
checking for __cxa_atexit in -lboost_regex-mgw... (cached) no
checking for __cxa_atexit in -lboost_regex-mgw-mt... no
checking for __cxa_atexit in -lboost_regex-mgw-mt-s... no
checking for __cxa_atexit in -lboost_regex-mgw-s... no
configure: Could not link against boost_regex-mgw-s !
checking whether the Boost::UnitTestFramework library is available... yes
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
checking the name of the Boost::UnitTestFramework library...
configure: Could not link against boost_unit_test_framework-mgw-s !
configure: error:
    The boost filesystem library was not found. Please install and
    re-run configure.

Question information

Language:
English Edit question
Status:
Answered
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Dion Weatherley (d-weatherley) said :
#1

Hi Huiqun,

Sorry to hear you are having difficulties installing ESyS-Particle-2.0. I have encountered similar problems linking against boost in the past. From your error output it appears that configure has found the boost headers ("checking for boostlib >= 1.34.1... yes (1.39)") but has failed to find the shared libraries. A colleague of mine had a similar problem and found that a particular argument needs to be supplied to the boost configure script when compiling boost in order to create extra symbolic links (e.g. libboost-python-mt.so) to the boost shared libraries (e.g. libboost-python-il-mt.so). Unfortunately I've forgotten how to do this so I'm waiting on an answer from my colleague.

In the mean-time, you could try doing either (or both) of the following things to help ESyS-Particle-2.0 find your boost libraries:

1) add "LDFLAGS=-L/lib" as an argument when running ESyS-Particle's configure script.

2) Manually add symbolic links in /lib to help ESyS-Particle find your shared libraries:
cd /lib
ln -s libboost-filesystem-il-mt.so libboost-filesystem-mt.so
ln -s libboost-python-il-mt.so libboost-python-mt.so
ln -s libboost-regex-il-mt.so libboost-regex-mt.so

You should only need to symbolic link these three libraries as ESyS-Particle currently doesn't use the other boost libraries. Re-run configure after adding the symbolic links

I'll reply here when I know more about how to compile boost correctly. If either of the suggestions above solve your problem, could you please reply and let myself (and other users) know what worked for you.

Good luck!

Dion.

Revision history for this message
Huiqun Zhou (hqzhou) said :
#2

Hi, Dion,

Thanks for your response.

Manually creating symbol links to boost libraries solved the configuration
problem (^o^), but I got error as below when compiling (*o*).

In my configuration, I explicitly disabled dynamic libraries
with --enable-dynamic="no"
and enabled static. I'm a little bit confused that it seems to be compiling
a dynamic
version.

Huiqun Zhou

=============== snippet of output ===========================
Making all in Foundation
make[2]: Entering directory `/home/home2/chef/ESyS-Particle-2.0/Foundation'
/bin/sh ../libtool --tag=CXX --mode=link mpiicpc -O3 -release
2.0 -L/usr/local/lib -L/lib -o libFoundation.la -rpath
/share/apps/ESyS-Particle/lib console.lo Matrix3.lo Quaternion.lo vec3.lo
Timer.lo StringUtil.lo realdist.lo PathSearcher.lo Runnable.lo PathUtil.lo
Rng.lo BoundingSphere.lo BoundingBox.lo
cube_eq.lo -lboost_filesystem-mt -lpython2.4 -lmpi
mpiicpc -shared -nostdlib -mIPOPT_obj_output_file_name=/tmp/ipo_icpc9CEJNa.o
 -mGLOB_obj_output_file=/tmp/ipo_icpc9CEJNa.o .libs/console.o
.libs/Matrix3.o .libs/Quaternion.o .libs/vec3.o .libs/Timer.o
.libs/StringUtil.o .libs/realdist.o .libs/PathSearcher.o .libs/Runnable.o
.libs/PathUtil.o .libs/Rng.o .libs/BoundingSphere.o .libs/BoundingBox.o
.libs/cube_eq.o -L/usr/local/lib -L/lib -lboost_filesystem-mt -lpython2.4 -L/opt/intel/impi/3.1/lib64
 -L/usr/lib64 -L/opt/intel/mkl/10.0.3.020/lib/em64t -L/opt/intel/cce/10.1.018/lib
 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2/ -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64
 -lmpiic4 -lmpi -lmpiif -lmpigi -lrt -lpthread -limf -lsvml -lm -lipgo -lstdc++
 -lintlc -lgcc_s -lirc_s -ldl -lc
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbeginS.o
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtendS.o
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crtn.o -Wl,-soname
 -Wl,libFoundation-2.0.so -o .libs/libFoundation-2.0.so
ld: /lib/libboost_filesystem-mt.a(operations.o): relocation R_X86_64_32
against `a local symbol' can not be used when making a shared object;
recompile with -fPIC
/lib/libboost_filesystem-mt.a: could not read symbols: Bad value
make[2]: *** [libFoundation.la] Error 1
make[2]: Leaving directory `/home/home2/chef/ESyS-Particle-2.0/Foundation'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/home2/chef/ESyS-Particle-2.0'
make: *** [all] Error 2

----- Original Message -----
From: "Dion Weatherley" <email address hidden>
To: <email address hidden>
Sent: Saturday, August 22, 2009 6:09 AM
Subject: Re: [Question #80594]: configuration failure

Your question #80594 on ESyS-Particle changed:
https://answers.launchpad.net/esys-particle/+question/80594

    Status: Open => Answered

Dion Weatherley proposed the following answer:
Hi Huiqun,

Sorry to hear you are having difficulties installing ESyS-Particle-2.0.
I have encountered similar problems linking against boost in the past.
>From your error output it appears that configure has found the boost
headers ("checking for boostlib >= 1.34.1... yes (1.39)") but has failed
to find the shared libraries. A colleague of mine had a similar problem
and found that a particular argument needs to be supplied to the boost
configure script when compiling boost in order to create extra symbolic
links (e.g. libboost-python-mt.so) to the boost shared libraries (e.g.
libboost-python-il-mt.so). Unfortunately I've forgotten how to do this
so I'm waiting on an answer from my colleague.

In the mean-time, you could try doing either (or both) of the following
things to help ESyS-Particle-2.0 find your boost libraries:

1) add "LDFLAGS=-L/lib" as an argument when running ESyS-Particle's
configure script.

2) Manually add symbolic links in /lib to help ESyS-Particle find your
shared libraries:
cd /lib
ln -s libboost-filesystem-il-mt.so libboost-filesystem-mt.so
ln -s libboost-python-il-mt.so libboost-python-mt.so
ln -s libboost-regex-il-mt.so libboost-regex-mt.so

You should only need to symbolic link these three libraries as ESyS-
Particle currently doesn't use the other boost libraries. Re-run
configure after adding the symbolic links

I'll reply here when I know more about how to compile boost correctly.
If either of the suggestions above solve your problem, could you please
reply and let myself (and other users) know what worked for you.

Good luck!

Dion.

--
If this answers your question, please go to the following page to let us
know that it is solved:
https://answers.launchpad.net/esys-particle/+question/80594/+confirm?answer_id=0

If you still need help, you can reply to this email or go to the
following page to enter your feedback:
https://answers.launchpad.net/esys-particle/+question/80594

You received this question notification because you are a direct
subscriber of the question.

Revision history for this message
Dion Weatherley (d-weatherley) said :
#3

Hi Huiqun,

I have not tried compiling static libraries for ESyS-Particle for quite some time but will give it a try tonight when I return home from a trip. In the meantime, you might try the following:

1) make distclean
2) sh autogen.sh
3) ./configure --enable-static=yes --enable-shared=no {+ your other configure arguments}
4) make

When I type ./configure --help, I do not see a "--enable-dynamic" flag mentioned so I suspect this option is not supported by the ESyS-Particle configure script. Try "--enable-shared=no" per the example above (step 3).

Please let me know how you go with this.

Cheers,

Dion.

Can you help with this problem?

Provide an answer of your own, or ask Huiqun Zhou for more information if necessary.

To post a message you must log in.