The strange thing is OpenMPI isn't mentioned anywhere as being a dependency for 
Caffe! I haven't read anything that suggests OpenMPI is supported  in Caffe 
either. This is why I figure it must be a dependency of Caffe (of which there 
are 15) that relies on OpenMPI.


I tried setting the compiler to mpic++ in the Makefile.config file and the 
result was:

Makefile:314: *** Cannot static link with the mpic++ compiler.  Stop.


I'm going to try explicitly enumerating all OpenMPI libraries in 
Makefile.config and see if that makes a difference.


Thanks for your help, the Caffe listserve group doesn't have any answers for 
this issue (except use the Docker image).


-William L.

________________________________
From: users <users-boun...@lists.open-mpi.org> on behalf of Prentice Bisbal 
<pbis...@pppl.gov>
Sent: Friday, May 5, 2017 7:47:39 AM
To: users@lists.open-mpi.org
Subject: Re: [OMPI users] Strange OpenMPI errors showing up in Caffe rc5 build


On 05/04/2017 09:08 PM, gil...@rist.or.jp<mailto:gil...@rist.or.jp> wrote:

William,



the link error clearly shows libcaffe.so does require C++ bindings.

did you build caffe from a fresh tree ?

what if you

ldd libcaffe.so

nm libcaffe.so | grep -i ompi

if libcaffe.so does require mpi c++ bindings, it should depend on it

(otherwise the way it was built is questionnable)

you might want to link with mpic++ instead of g++

This is a great point I missed in my previous e-mail on this topic. When 
compiling a program that uses MPI, you want to specify the MPI compiler 
wrappers for your C, C++ and Fortran Compilers, and not your chosen compiler 
directly, For example:

./configure --prefix=/usr/local/foo-1.2.3 CC=mpicc CXX=mpicxx FC=mpif90

 or something similar. This guarantees that the actual compiler is called with 
all the write flags for the C preprocessor, linker, etc. This will almost 
always prevent those linking errors.



note mpi C++ bindings are no more built by default since v2.0, so you likely 
have to

configure --enable-mpi-cxx

last but not least, make sure caffe and openmpi were built with the same c++ 
compiler



Cheers,



Gilles

----- Original Message -----

I know this could possibly be off-topic, but the errors are OpenMPI errors and 
if anyone could shed light on the nature of these errors I figure it would be 
this group:





CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin
g++ .build_release/tools/upgrade_solver_proto_text.o -o 
.build_release/tools/upgrade_solver_proto_text.bin -pthread -fPIC 
-DCAFFE_VERSION=1.0.0-rc5 -DNDEBUG -O2 -DUSE_OPENCV -DUSE_LEVELDB -DUSE_LMDB 
-DCPU_ONLY -DWITH_PYTHON_LAYER -I/hpc/apps/python27/include/python2.7 
-I/hpc/apps/python27/externals/numpy/1.9.2/lib/python2.7/site-packages/numpy/core/include
 -I/usr/local/include -I/hpc/apps/hdf5/1.8.17/include -I.build_release/src 
-I./src -I./include -I/hpc/apps/atlas/3.10.2/include -Wall -Wno-sign-compare 
-lcaffe -L/hpc/apps/gflags/lib -L/hpc/apps/python27/lib 
-L/hpc/apps/python27/lib/python2.7 -L/hpc/apps/atlas/3.10.2/lib 
-L.build_release/lib  -lglog -lgflags -lprotobuf -lboost_system 
-lboost_filesystem -lm -lhdf5_hl -lhdf5 -lleveldb -lsnappy -llmdb -lopencv_core 
-lopencv_highgui -lopencv_imgproc -lboost_thread -lstdc++ -lboost_python 
-lpython2.7 -lcblas -latlas \
                -Wl,-rpath,\$ORIGIN/../lib
.build_release/lib/libcaffe.so: undefined reference to 
`ompi_mpi_cxx_op_intercept'
.build_release/lib/libcaffe.so: undefined reference to `MPI::Datatype::Free()'
.build_release/lib/libcaffe.so: undefined reference to `MPI::Comm::Comm()'
.build_release/lib/libcaffe.so: undefined reference to `MPI::Win::Free()'
collect2: error: ld returned 1 exit status





I've read this may be due to a dependency of Caffe that uses OpenMPI (since 
I've been told Caffe itself doesn't use OpenMPI).



Would adding -l directives to LIBRARIES line in the Makefile for Caffe that 
reference all OpenMPI libraries fix this problem?

For example, -l mpi.



Thank you in advance. Hopefully this isn't entirely OT.



William L.

IMPORTANT WARNING: This message is intended for the use of the person or entity 
to which it is addressed and may contain information that is privileged and 
confidential, the disclosure of which is governed by applicable law. If the 
reader of this message is not the intended recipient, or the employee or agent 
responsible for delivering it to the intended recipient, you are hereby 
notified that any dissemination, distribution or copying of this information is 
strictly prohibited. Thank you for your cooperation. IMPORTANT WARNING: This 
message is intended for the use of the person or entity to which it is 
addressed and may contain information that is privileged and confidential, the 
disclosure of which is governed by applicable law. If the reader of this 
message is not the intended recipient, or the employee or agent responsible for 
delivering it to the intended recipient, you are hereby notified that any 
dissemination, distribution or copying of this information is strictly 
prohibited. Thank you for your cooperation.



_______________________________________________
users mailing list
users@lists.open-mpi.org<mailto:users@lists.open-mpi.org>
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

IMPORTANT WARNING: This message is intended for the use of the person or entity 
to which it is addressed and may contain information that is privileged and 
confidential, the disclosure of which is governed by applicable law. If the 
reader of this message is not the intended recipient, or the employee or agent 
responsible for delivering it to the intended recipient, you are hereby 
notified that any dissemination, distribution or copying of this information is 
strictly prohibited. Thank you for your cooperation.
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to