gerard wrote:
> hello all,
>  i did tests on solaris 10 amd64:
> nemo-henry% mpif90 -o anneau anneau.f90 -L /opt/SUNWhpc/HPC8.2/sun/lib 
> -lscalapack -lblacs_openmpi -xlic_lib=sunperf
> Works fine
>
> but, in C:
> nemo-henry% mpicc -o anneau anneau.c -L /opt/SUNWhpc/HPC8.2/sun/lib 
> -lscalapack -lblacs_openmpi -xlic_lib=sunperf
> ld: warning: symbol `mpi_fortran_argv_null_' has differing sizes:
>         (file /opt/sunstudio12.1/lib/libblacs_openmpi.so value=0x1; 
> file /opt/SUNWhpc/HPC8.2/sun/lib/libmpi.so value=0x4);
>         /opt/sunstudio12.1/lib/libblacs_openmpi.so definition taken
> ld: warning: symbol `mpi_fortran_status_ignore_' has differing sizes:
>         (file /opt/sunstudio12.1/lib/libblacs_openmpi.so value=0x14; 
> file /opt/SUNWhpc/HPC8.2/sun/lib/libmpi.so value=0x4);
>         /opt/sunstudio12.1/lib/libblacs_openmpi.so definition taken
> Undefined                       first referenced
>  symbol                             in file
> mpi_initialized_ /opt/sunstudio12.1/lib/libblacs_openmpi.so
> mpi_testall_ /opt/sunstudio12.1/lib/libblacs_openmpi.so
> mpi_op_create_ /opt/sunstudio12.1/lib/libblacs_openmpi.so
> mpi_attr_get_ /opt/sunstudio12.1/lib/libblacs_openmpi.so
> mpi_init_ /opt/sunstudio12.1/lib/libblacs_openmpi.so
> mpi_test_ /opt/sunstudio12.1/lib/libblacs_openmpi.so
> ld: fatal: Symbol referencing errors. No output written to anneau
>
> unfortunately, the man page (man scalapack) gives only example in fortran
>
You're right, on linux, it compiles also well.
Lyne-jobic% mpif90 -o exe -m64 -L/export/opt/sunstudio12u1/rtlibs/amd64/ 
-R/export/opt/sunstudio12u1/rtlibs/amd64/ 
-L/export/opt/sunstudio12u1/lib/amd64/ 
-I/opt/SUNWhpc/HPC8.2/sun/include/64 -lblacs_openmpi -lmpi 
-xlic_lib=sunperf anneau.f90

So, it compiles for fortran, but not for C !!!!
(And i need it for C programs....)

Those libs are written in fortran.
Maybe it comes from the C interface to those libs ?

Yann


> Yann JOBIC wrote:
>> shweta phabba wrote:
>>> hi,
>>> From error i think it is unable to find mpi.h or something similar 
>>> where all API's are declared so , i think u can try -I option with 
>>> mpicc and give mpi.h path i.e include directory path .
>>>
>>> Thanks.
>>>
>> Thanks for your fast answer !
>>
>> I tested it, here's the result :
>> Lyne-jobic% mpicc -o exe -m64 
>> -L/export/opt/sunstudio12u1/rtlibs/amd64/ 
>> -R/export/opt/sunstudio12u1/rtlibs/amd64/ 
>> -L/export/opt/sunstudio12u1/lib/amd64/ 
>> -I/opt/SUNWhpc/HPC8.2/sun/include/64 -lblacs_openmpi 
>> -xlic_lib=sunperf anneau.c
>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>> reference to `mpi_initialized_'
>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>> reference to `mpi_test_'
>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>> reference to `mpi_attr_get_'
>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>> reference to `mpi_init_'
>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>> reference to `mpi_testall_'
>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>> reference to `mpi_op_create_'
>>
>>
>> I tried to see if mpi defined those functions :
>> Lyne-jobic% nm /opt/SUNWhpc/HPC8.2/sun/lib/libmpi.so | grep 
>> mpi_initialized
>> 000b59fd D ompi_mpi_initialized
>> Lyne-jobic% nm /opt/SUNWhpc/HPC8.2/sun/lib/libmpi.so | grep 
>> mpi_op_create
>> 0002f714 T ompi_op_create
>>
>> It seems that they're in the mpi lib.
>>
>> However i tried to put -lmpi everywhere, without succes.
>>
>> Yann
>>
>>
>>>
>>> Regards,
>>> Shweta
>>> Yann JOBIC wrote:
>>>> Hello,
>>>>
>>>> I'm compiling petsc3.0.0p6 on linux, with sun studio 12 u1 and HPC8.2.
>>>> I wanted to use blacs_openmpi and scalapack from the perf lib, as i 
>>>> saw the .so files in the lib dir.
>>>>
>>>> Here are my errors :
>>>> Lyne-jobic% mpicc -o exe -L/export/opt/sunstudio12u1/rtlibs/amd64/ 
>>>> -R/export/opt/sunstudio12u1/rtlibs/amd64/ 
>>>> -L/export/opt/sunstudio12u1/lib/amd64/  -lblacs_openmpi 
>>>> -xlic_lib=sunperf anneau.c
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_initialized_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_test_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_attr_get_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_init_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_testall_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_op_create_'
>>>>
>>>> When i'm linking with scalapack, the same functions are missing :
>>>> Lyne-jobic% mpicc -o exe -L/export/opt/sunstudio12u1/rtlibs/amd64/ 
>>>> -R/export/opt/sunstudio12u1/rtlibs/amd64/ 
>>>> -L/export/opt/sunstudio12u1/lib/amd64/ -lscalapack -lblacs_openmpi 
>>>> -xlic_lib=sunperf -lmpi anneau.c
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_initialized_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_test_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_attr_get_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_init_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_testall_'
>>>> /export/opt/sunstudio12u1/lib/amd64//libblacs_openmpi.so: undefined 
>>>> reference to `mpi_op_create_'
>>>>
>>>> I would like to use blacs_openmpi and scalapack as i should get 
>>>> better performance than compiling them by hand (what i've done, in 
>>>> order to have petsc compiling).
>>>>
>>>> Do you know a way to get ride of those errors ?
>>>>
>>>> Thanks,
>>>>
>>>> Yann
>>>>
>>>>
>>>
>>
>>
>
>


-- 
___________________________

Yann JOBIC
HPC engineer
Polytech Marseille DME
IUSTI-CNRS UMR 6595
Technop?le de Ch?teau Gombert
5 rue Enrico Fermi
13453 Marseille cedex 13
Tel : (33) 4 91 10 69 39
  ou  (33) 4 91 10 69 43
Fax : (33) 4 91 10 69 69 


Reply via email to