Hello Victor,

I think you need to link it with the shared MPI library, i.e. libmpi.so, and 
not the static library. You need to specify the shared object file during cmake.

Regards,
Wadud.

From: ParaView [mailto:[email protected]] On Behalf Of Victor
Sent: 18 June 2014 05:47
To: Utkarsh Ayachit
Cc: ParaView
Subject: Re: [Paraview] Cannot compile 4.1 on Ubuntu 12.04 x64 with OpenMPI 
1.8.1

I still cannot compile Paraview. I attempted to recompile openmpi-1.8.1 with 
fPIC but something is causing either the fPIC to be set incorrectly or I am 
doing something wrong. In any case I am completely stuck so I would really 
appreciate some help in traversing this error:

Linking CXX shared library 
../../../lib/libvtkParallelMPI-pv4.1.so<http://libvtkParallelMPI-pv4.1.so>
/usr/bin/ld: /opt/openmpi-1.8.1/lib/libmpi.a(comm_init.o): relocation 
R_X86_64_32 against `ompi_comm_f_to_c_table' can not be used when making a 
shared object; recompile with -fPIC
/opt/openmpi-1.8.1/lib/libmpi.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [lib/libvtkParallelMPI-pv4.1.so.1] Error 1
make[1]: *** [VTK/Parallel/MPI/CMakeFiles/vtkParallelMPI.dir/all] Error 2
make: *** [all] Error 2


The latest openmpi configure command was: ./configure --with-sge 
--with-mx=/opt/open-mx --with-pic --with-mx-libdir=/opt/open-mx/lib 
--prefix=/opt/openmpi-1.8.1

I also attempted to manually set -fPIC flag by editing the Makefile and by 
setting a global CCFLAG. Nothing worked.


On 31 May 2014 07:35, Victor 
<[email protected]<mailto:[email protected]>> wrote:
Here it is, I hope. I never attempted to attach anything to a mailing list post 
so I apologize if it doesn't actually attach.

On 30 May 2014 20:07, Utkarsh Ayachit 
<[email protected]<mailto:[email protected]>> wrote:
Can you post your CMakeCache.txt file?

On Fri, May 30, 2014 at 2:40 AM, Victor 
<[email protected]<mailto:[email protected]>> wrote:
> Thank you for the fast reply!
>
> I compiled an alternative openmpi-1.8.1 with -fPIC flag (I verified that it
> was placed into the Makefile), removed the original Paraview build
> directory, modified the Paraview build configuration by rerunning ccmake to
> point to the alternative openmpi path, but the error remained.
>
> During Paraview compilation the alternative path for openmpi-1.8.1 is used
> until it comes to the linking step where it attempts to link to the system
> wide openmpi-1.8.1 location and of course fails.
>
> Linking CXX shared library 
> ../../../lib/libvtkParallelMPI-pv4.1.so<http://libvtkParallelMPI-pv4.1.so>
> /usr/bin/ld: /opt/openmpi-1.8.1/lib/libmpi_cxx.a(intercepts.o): relocation
> R_X86_64_32S against `ompi_mpi_cxx_comm_throw_excptn_fctn' can not be used
> when making a shared object; recompile with -fPIC
> /opt/openmpi-1.8.1/lib/libmpi_cxx.a: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[2]: *** [lib/libvtkParallelMPI-pv4.1.so.1] Error 1
> make[1]: *** [VTK/Parallel/MPI/CMakeFiles/vtkParallelMPI.dir/all] Error 2
> make: *** [all] Error 2
>
>
> I cannot (will not) overwrite the system wide openmpi as I have a parallel
> job running at the moment (CFD simulation) and this node is acting as a head
> node serving openmpi from an NFS shared directory. I am confident that the
> application will not need to call on openmpi now that it is already running,
> but I'd rather not find out that I am wrong.
>
> Thus is there a way to force the Paraview installer to link against an
> alternative build that was compiled with -fPIC?
>
> Thanks,
>
> Victor
>
>
> On 29 May 2014 18:37, Utkarsh Ayachit 
> <[email protected]<mailto:[email protected]>> wrote:
>>
>> You'll have to recompile openmpi with -fPIC or link against a shared
>> build of the same.
>>
>> On Thu, May 29, 2014 at 5:06 AM, Victor 
>> <[email protected]<mailto:[email protected]>> wrote:
>> > I am trying to compile Paraview 4.1 with MPI support but make exits at
>> > this
>> > point:
>> >
>> > /usr/bin/ld: /opt/openmpi-1.8.1/lib/libmpi.a(comm_init.o): relocation
>> > R_X86_64_32 against `ompi_comm_f_to_c_table' can not be used when making
>> > a
>> > shared object; recompile with -fPIC
>> > /opt/openmpi-1.8.1/lib/libmpi.a: could not read symbols: Bad value
>> > collect2: ld returned 1 exit status
>> > make[2]: *** [lib/libvtkParallelMPI-pv4.1.so.1] Error 1
>> > make[1]: *** [VTK/Parallel/MPI/CMakeFiles/vtkParallelMPI.dir/all] Error
>> > 2
>> > make: *** [all] Error 2
>> >
>> > How can I fix this error?
>> >
>> > Thanks,
>> >
>> > Victor
>> >
>> > _______________________________________________
>> > Powered by www.kitware.com<http://www.kitware.com>
>> >
>> > Visit other Kitware open-source projects at
>> > http://www.kitware.com/opensource/opensource.html
>> >
>> > Please keep messages on-topic and check the ParaView Wiki at:
>> > http://paraview.org/Wiki/ParaView
>> >
>> > Follow this link to subscribe/unsubscribe:
>> > http://www.paraview.org/mailman/listinfo/paraview
>> >
>
>


_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the ParaView Wiki at: 
http://paraview.org/Wiki/ParaView

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview

Reply via email to