Re: [OMPI devel] [OMPI svn] svn:open-mpi r9323 - Missing datatype_memcpy.c

2006-03-17 Thread Sven Stork
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

2006-03-17 Thread Greg Watson
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

2006-03-17 Thread Brian Barrett

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

2006-03-17 Thread Ralf Wildenhues
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

2006-03-17 Thread Greg Watson

$ 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

2006-03-17 Thread Greg Watson

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

2006-03-17 Thread George Bosilca
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

2006-03-17 Thread Brian Barrett
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/