Re: [OMPI devel] [OMPI svn] svn:open-mpi r9323 - Missing datatype_memcpy.c
Hello George, is it possible that you forget to checkin the "datatype_memcpy.c" file ? Thanks, Sven On Friday 17 March 2006 09:05, you wrote: > bosilca
[OMPI devel] bproc configure help
I'm building OMPI 1.0.2a9 on a bproc machine (Yellow Dog Linux 4.0/ ppc). It just has an ethernet interface, no fancy network. I've tried configuring as follows: ./configure --enable-static --disable-shared --without-threads --with- devel-headers and ./configure --enable-static --disable-shared --without-threads -- without-mpi-threads --with-devel-headers In both cases, I'm still seeing the thread library linked in the final executable: $ mpicc -o testmpi testmpi.c $ ldd testmpi libutil.so.1 => /lib/libutil.so.1 (0x0f59) libnsl.so.1 => /lib/libnsl.so.1 (0x0e85) libdl.so.2 => /lib/libdl.so.2 (0x0fdc) libbproc.so.4 => /usr/lib/libbproc.so.4 (0x0fe5) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0fc4) librt.so.1 => /lib/tls/librt.so.1 (0x0f66) libm.so.6 => /lib/tls/libm.so.6 (0x30013000) libc.so.6 => /lib/tls/libc.so.6 (0x0fe7) /lib/ld.so.1 => /lib/ld.so.1 (0x0ffd) $ Checking ompi_config.h shows: #define HAVE_PTHREAD_H 1 #define OMPI_ENABLE_MPI_THREADS 0 #define OMPI_ENABLE_PROGRESS_THREADS 0 #define OMPI_HAVE_POSIX_THREADS 0 #define OMPI_HAVE_SOLARIS_THREADS 0 #define OMPI_THREADS_HAVE_DIFFERENT_PIDS 0 If anyone can tell me what I'm doing wrong, it would be appreciated. I need to get this working for a demo on Monday. Thanks, Greg
Re: [OMPI devel] bproc configure help
On Mar 17, 2006, at 10:17 AM, Greg Watson wrote: I'm building OMPI 1.0.2a9 on a bproc machine (Yellow Dog Linux 4.0/ ppc). It just has an ethernet interface, no fancy network. I've tried configuring as follows: ./configure --enable-static --disable-shared --without-threads --with- devel-headers and ./configure --enable-static --disable-shared --without-threads -- without-mpi-threads --with-devel-headers The second one should be --disable-mpi-threads, but it really doesn't matter - specifying --without-threads will automatically disable mpi threads. So these are both correct for what you are trying to do. Clearly, however, something else is going on :/. In both cases, I'm still seeing the thread library linked in the final executable: $ mpicc -o testmpi testmpi.c $ ldd testmpi libutil.so.1 => /lib/libutil.so.1 (0x0f59) libnsl.so.1 => /lib/libnsl.so.1 (0x0e85) libdl.so.2 => /lib/libdl.so.2 (0x0fdc) libbproc.so.4 => /usr/lib/libbproc.so.4 (0x0fe5) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0fc4) librt.so.1 => /lib/tls/librt.so.1 (0x0f66) libm.so.6 => /lib/tls/libm.so.6 (0x30013000) libc.so.6 => /lib/tls/libc.so.6 (0x0fe7) /lib/ld.so.1 => /lib/ld.so.1 (0x0ffd) $ What does "mpicc -showme" show? If it includes something like - pthread or -lpthread, can you send the config.log file from Open MPI? Since ldd doesn't list the OMPI libraries as dependencies, it's a pretty good assumption that they were statically linked in (so at least the --disable-shared part worked). Therefore, if mpicc doesn't explicitly list -pthread or -lpthread, then the dependency is coming from one of two places. Either the compiler is explicitly adding - lpthread anyway (unlikely) or one of the other libraries that we added a -l for does depend on pthreads for some reason. I can't think off hand what we might add to cause this, so it might mean searching through the list of libraries with ldd to see if one of them includes a dependency on /lib/tls/libpthread.so. Checking ompi_config.h shows: #define HAVE_PTHREAD_H 1 #define OMPI_ENABLE_MPI_THREADS 0 #define OMPI_ENABLE_PROGRESS_THREADS 0 #define OMPI_HAVE_POSIX_THREADS 0 #define OMPI_HAVE_SOLARIS_THREADS 0 #define OMPI_THREADS_HAVE_DIFFERENT_PIDS 0 If anyone can tell me what I'm doing wrong, it would be appreciated. I need to get this working for a demo on Monday. That looks like Open MPI's configure script disabled threads support. The HAVE_PTHREAD_H should not be used to figure out if we should use pthread support or not - it's only given to indicate whether pthread.h exists as a useable header file. Brian -- Brian Barrett Open MPI developer http://www.open-mpi.org/
Re: [OMPI devel] bproc configure help
Hi Greg, * Greg Watson wrote on Fri, Mar 17, 2006 at 04:17:27PM CET: > > ./configure --enable-static --disable-shared --without-threads --with- > devel-headers > ./configure --enable-static --disable-shared --without-threads -- > without-mpi-threads --with-devel-headers > > In both cases, I'm still seeing the thread library linked in the > final executable: Likely I could not help you much with your problem, but: > $ mpicc -o testmpi testmpi.c > $ ldd testmpi > libutil.so.1 => /lib/libutil.so.1 (0x0f59) > libnsl.so.1 => /lib/libnsl.so.1 (0x0e85) > libdl.so.2 => /lib/libdl.so.2 (0x0fdc) > libbproc.so.4 => /usr/lib/libbproc.so.4 (0x0fe5) > libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0fc4) > librt.so.1 => /lib/tls/librt.so.1 (0x0f66) > libm.so.6 => /lib/tls/libm.so.6 (0x30013000) > libc.so.6 => /lib/tls/libc.so.6 (0x0fe7) > /lib/ld.so.1 => /lib/ld.so.1 (0x0ffd) Please use "objdump -p testmpi | grep NEEDED" to find out whether libpthread was linked in directly, or pulled in by one of the other libraries (librt comes to mind). Cheers, Ralf
Re: [OMPI devel] bproc configure help
$ mpicc -showme gcc -I/usr/local/include -I/usr/local/include/openmpi -I/usr/local/ include/openmpi/opal -I/usr/local/include/openmpi/orte -I/usr/local/ include/openmpi/ompi -L/usr/local/lib -lmpi -lorte -lopal -lutil - lnsl -ldl -lbproc -lbproc -lbproc -lbproc -lbproc -lbproc -lpthread - lrt -Wl,--export-dynamic -lm -lutil -lnsl -ldl Looks like -lpthread is there... Thanks, Greg On Mar 17, 2006, at 8:33 AM, Brian Barrett wrote: On Mar 17, 2006, at 10:17 AM, Greg Watson wrote: I'm building OMPI 1.0.2a9 on a bproc machine (Yellow Dog Linux 4.0/ ppc). It just has an ethernet interface, no fancy network. I've tried configuring as follows: ./configure --enable-static --disable-shared --without-threads -- with- devel-headers and ./configure --enable-static --disable-shared --without-threads -- without-mpi-threads --with-devel-headers The second one should be --disable-mpi-threads, but it really doesn't matter - specifying --without-threads will automatically disable mpi threads. So these are both correct for what you are trying to do. Clearly, however, something else is going on :/. In both cases, I'm still seeing the thread library linked in the final executable: $ mpicc -o testmpi testmpi.c $ ldd testmpi libutil.so.1 => /lib/libutil.so.1 (0x0f59) libnsl.so.1 => /lib/libnsl.so.1 (0x0e85) libdl.so.2 => /lib/libdl.so.2 (0x0fdc) libbproc.so.4 => /usr/lib/libbproc.so.4 (0x0fe5) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0fc4) librt.so.1 => /lib/tls/librt.so.1 (0x0f66) libm.so.6 => /lib/tls/libm.so.6 (0x30013000) libc.so.6 => /lib/tls/libc.so.6 (0x0fe7) /lib/ld.so.1 => /lib/ld.so.1 (0x0ffd) $ What does "mpicc -showme" show? If it includes something like - pthread or -lpthread, can you send the config.log file from Open MPI? Since ldd doesn't list the OMPI libraries as dependencies, it's a pretty good assumption that they were statically linked in (so at least the --disable-shared part worked). Therefore, if mpicc doesn't explicitly list -pthread or -lpthread, then the dependency is coming from one of two places. Either the compiler is explicitly adding - lpthread anyway (unlikely) or one of the other libraries that we added a -l for does depend on pthreads for some reason. I can't think off hand what we might add to cause this, so it might mean searching through the list of libraries with ldd to see if one of them includes a dependency on /lib/tls/libpthread.so. Checking ompi_config.h shows: #define HAVE_PTHREAD_H 1 #define OMPI_ENABLE_MPI_THREADS 0 #define OMPI_ENABLE_PROGRESS_THREADS 0 #define OMPI_HAVE_POSIX_THREADS 0 #define OMPI_HAVE_SOLARIS_THREADS 0 #define OMPI_THREADS_HAVE_DIFFERENT_PIDS 0 If anyone can tell me what I'm doing wrong, it would be appreciated. I need to get this working for a demo on Monday. That looks like Open MPI's configure script disabled threads support. The HAVE_PTHREAD_H should not be used to figure out if we should use pthread support or not - it's only given to indicate whether pthread.h exists as a useable header file. Brian -- Brian Barrett Open MPI developer http://www.open-mpi.org/ ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel
Re: [OMPI devel] bproc configure help
Ralf, Here's what I see: $ objdump -p testmpi | grep NEEDED NEEDED libutil.so.1 NEEDED libnsl.so.1 NEEDED libdl.so.2 NEEDED libbproc.so.4 NEEDED libpthread.so.0 NEEDED librt.so.1 NEEDED libm.so.6 NEEDED libc.so.6 Seems like mpicc is definitely linking in the pthread library. Cheers, Greg On Mar 17, 2006, at 8:35 AM, Ralf Wildenhues wrote: Hi Greg, * Greg Watson wrote on Fri, Mar 17, 2006 at 04:17:27PM CET: ./configure --enable-static --disable-shared --without-threads -- with- devel-headers ./configure --enable-static --disable-shared --without-threads -- without-mpi-threads --with-devel-headers In both cases, I'm still seeing the thread library linked in the final executable: Likely I could not help you much with your problem, but: $ mpicc -o testmpi testmpi.c $ ldd testmpi libutil.so.1 => /lib/libutil.so.1 (0x0f59) libnsl.so.1 => /lib/libnsl.so.1 (0x0e85) libdl.so.2 => /lib/libdl.so.2 (0x0fdc) libbproc.so.4 => /usr/lib/libbproc.so.4 (0x0fe5) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0fc4) librt.so.1 => /lib/tls/librt.so.1 (0x0f66) libm.so.6 => /lib/tls/libm.so.6 (0x30013000) libc.so.6 => /lib/tls/libc.so.6 (0x0fe7) /lib/ld.so.1 => /lib/ld.so.1 (0x0ffd) Please use "objdump -p testmpi | grep NEEDED" to find out whether libpthread was linked in directly, or pulled in by one of the other libraries (librt comes to mind). Cheers, Ralf ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel
Re: [OMPI devel] [OMPI svn] svn:open-mpi r9323 - Missing datatype_memcpy.c
Sorry I messed up this commit. The memcpy.c file is not yet ready for primetime. It wasn't supposed to be in the Makefile.am. It's fixed by now. george. On Fri, 17 Mar 2006, Sven Stork wrote: > Hello George, > > is it possible that you forget to checkin the "datatype_memcpy.c" file ? > > Thanks, > Sven > > On Friday 17 March 2006 09:05, you wrote: >> bosilca > ___ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel > "We must accept finite disappointment, but we must never lose infinite hope." Martin Luther King
Re: [OMPI devel] bproc configure help
As suspected, it was a component adding the -lpthread. The problem is that the component in question is ROMIO and it does it because it thinks that -lpthread is needed to make asynchronous I/O work properly. Which is actually a possibility, depending on which version of the Linux kernel you are using. If you need asynchronous MPI-2 IO functions, I think you have to live with the dependency on -lpthread. However, if you don't need MPI-2 IO functionality at all, you can configure Open MPI with --disable-io- romio or if you can live without aio support for ROMIO, you can configure Open MPI with --with-io-romio-flags='--disable-aio'. I believe that disabling aio support in ROMIO will remove the pthread dependency. Brian On Mar 17, 2006, at 10:57 AM, Greg Watson wrote: $ mpicc -showme gcc -I/usr/local/include -I/usr/local/include/openmpi -I/usr/local/ include/openmpi/opal -I/usr/local/include/openmpi/orte -I/usr/local/ include/openmpi/ompi -L/usr/local/lib -lmpi -lorte -lopal -lutil - lnsl -ldl -lbproc -lbproc -lbproc -lbproc -lbproc -lbproc -lpthread - lrt -Wl,--export-dynamic -lm -lutil -lnsl -ldl Looks like -lpthread is there... Thanks, Greg On Mar 17, 2006, at 8:33 AM, Brian Barrett wrote: On Mar 17, 2006, at 10:17 AM, Greg Watson wrote: I'm building OMPI 1.0.2a9 on a bproc machine (Yellow Dog Linux 4.0/ ppc). It just has an ethernet interface, no fancy network. I've tried configuring as follows: ./configure --enable-static --disable-shared --without-threads -- with- devel-headers and ./configure --enable-static --disable-shared --without-threads -- without-mpi-threads --with-devel-headers The second one should be --disable-mpi-threads, but it really doesn't matter - specifying --without-threads will automatically disable mpi threads. So these are both correct for what you are trying to do. Clearly, however, something else is going on :/. In both cases, I'm still seeing the thread library linked in the final executable: $ mpicc -o testmpi testmpi.c $ ldd testmpi libutil.so.1 => /lib/libutil.so.1 (0x0f59) libnsl.so.1 => /lib/libnsl.so.1 (0x0e85) libdl.so.2 => /lib/libdl.so.2 (0x0fdc) libbproc.so.4 => /usr/lib/libbproc.so.4 (0x0fe5) libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0fc4) librt.so.1 => /lib/tls/librt.so.1 (0x0f66) libm.so.6 => /lib/tls/libm.so.6 (0x30013000) libc.so.6 => /lib/tls/libc.so.6 (0x0fe7) /lib/ld.so.1 => /lib/ld.so.1 (0x0ffd) $ What does "mpicc -showme" show? If it includes something like - pthread or -lpthread, can you send the config.log file from Open MPI? Since ldd doesn't list the OMPI libraries as dependencies, it's a pretty good assumption that they were statically linked in (so at least the --disable-shared part worked). Therefore, if mpicc doesn't explicitly list -pthread or -lpthread, then the dependency is coming from one of two places. Either the compiler is explicitly adding - lpthread anyway (unlikely) or one of the other libraries that we added a -l for does depend on pthreads for some reason. I can't think off hand what we might add to cause this, so it might mean searching through the list of libraries with ldd to see if one of them includes a dependency on /lib/tls/libpthread.so. Checking ompi_config.h shows: #define HAVE_PTHREAD_H 1 #define OMPI_ENABLE_MPI_THREADS 0 #define OMPI_ENABLE_PROGRESS_THREADS 0 #define OMPI_HAVE_POSIX_THREADS 0 #define OMPI_HAVE_SOLARIS_THREADS 0 #define OMPI_THREADS_HAVE_DIFFERENT_PIDS 0 If anyone can tell me what I'm doing wrong, it would be appreciated. I need to get this working for a demo on Monday. That looks like Open MPI's configure script disabled threads support. The HAVE_PTHREAD_H should not be used to figure out if we should use pthread support or not - it's only given to indicate whether pthread.h exists as a useable header file. Brian -- Brian Barrett Open MPI developer http://www.open-mpi.org/ ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Brian Barrett Open MPI developer http://www.open-mpi.org/